Oracle Database Architecture
By Ahmed Baraka
Oracle Database Administration from Zero to Hero -- aacourse
courseby
byAhmed
AhmedBaraka
Baraka
Objectives
In this lecture, you will learn how to perform the following:
• List and describe the major components of the database instance
• List and describe the major Oracle database files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Oracle Database Server Architecture
Database Server
Database Instance
(memory components and processes)
Database
Data Files System Files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Oracle Database Server Architecture
Database Server
Database Instance
Listener (memory components and processes)
Server
Client Application
Process
Database
Data Files System Files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Oracle Database Instance Architecture
Database Server
Database Instance
System Global Area
Program Global
Areas (PGAs)
Server Process Background Processes
Server Process
Server Process
Datafiles and system
files3
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Oracle Database Instance Basic Architecture
• An Oracle database server consists of at least one database instance
and a database.
- A database is a set of files, located on disk, that store data.
- An instance is a set of memory structures and processes that manage the
database files.
• An instance consists of a shared memory area, called the system
global area (SGA), and a set of background processes.
• For each user connection to the instance, there is a client process.
Each client process is associated with its own server process. The
server process has its own private session memory, known as the
program global area (PGA).
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
System Global Area Primary Components
Database Instance
System Global Area
Shared Pool Fixed SGA
Library Cache Database Redo
Buffer Large
Log Pool
Data Dictionary Cache Buffer
Cache
Reserved
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
System Global Area (SGA) Components
• Shared Pool
- Library Cache: stores executable SQL and PL/SQL code.
- Data Dictionary Cache: holds info about accessed database objects
- Server Result Cache: holds result sets (not data blocks). It contains the
SQL query result cache and PL/SQL function result cache.
• Database buffer cache: the memory area that stores copies of data
blocks read from data files to optimize physical I/O.
• Large Pool: (optional) large memory allocation for buffers for RMAN,
buffers for deferred inserts, message buffers used parallel executions,
and others.
• Redo Log buffer: used to save redo entries
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Buffer (Data Blocks) States
• A buffer can be in any of the following mutually exclusive states:
- Unused: the buffer not been used or accessed
- Clean: this buffer was used earlier and now contains a read-consistent
version of a block as of a point in time.
- Dirty: the buffer contain modified data that has not yet been written to disk.
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Background Processes
Database Instance
System Global Area
ARCn CJQ0 RVWR FBDA
PMON SMON MMON CKPT DBWn PMON LREG LGWR RECO MMNL
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Database Writer Process (DBW)
Database Instance
System Global Area
Database Buffer Cache
ARCn CJQ0 RVWR FBDA
PMON SMON MMON CKPT DBWn PMON LREG LGWR RECO MMNL
Storage
Data Files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Log Writer Process (LGWR)
Database Instance
System Global Area
Redo
Log
Buffer
ARCn CJQ0 RVWR FBDA
PMON SMON MMON CKPT DBWn PMON LREG LGWR RECO MMNL
Storage
Redo Log Files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Checkpoint Process (CKPT)
Database Instance
System Global Area
Database Buffer Cache
PMON SMON MMON CKPT DBWn PMON LREG LGWR RECO MMNL
data file body
header
Storage
Control Files Data Files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Mandatory Background Processes
Process Responsibility
Database Writer (DBWR) Writes the modified buffers (dirty blocks) to datafiles
Writing is performed in a lazy manner
Log Writer (LOGWR) Write redo entries from redo log buffer to the online redo log
Writing is so active and must be done when a transaction is committed
Redo entries contain information to reconstruct the DML and DDL
System Monitor Process (SMON) Is in charge of a variety of system-level cleanup duties: instance recovery,
recovering terminated transactions, and others
Checkpoint Process (CKPT) Updates the control file and data file headers with checkpoint
information and signals DBW to write blocks to disk
Checkpoint information is the information that tells the database engine
up to what time the data changes have been saved in the storage.
Listener Registration Process (LREG) Registers the database instance and dispatcher processes in the Listener
PMON group includes PMON, Cleanup Main These processes are responsible for the monitoring and cleanup of other
Process (CLMN), and Cleanup Helper processes.
Processes (CLnn)
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Database System Files
Database Files
Required For Startup Automatic Diagnostic
Password File
Repository (ADR)
Control Files
User Tablespace Keystore (Wallet)
Data files
Parameter File
Block Change
Online Redo Backup Files Tracking (BCT) Files
Log Files
Archive Redo Log
System Data Files Files Flashback Logs
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Database System Files
File Type Description
Control Files Used to save the database physical structure (database filenames and their locations),
backup files, database basic information (like DBID, creation timestamp, last checkpoint).
Parameter File A file to save the initialization parameters and their assigned non-default values.
Initialization parameters are configuration parameters that affect the instance operation.
Online Redo Log files Two or more pre-allocated files that store changes to the database as they occur. They are
typically used for instance recovery, generating archived redo log files, replication, and
Data Guard.
Archived Redo Log files Offline copies of online redo log files when they get filled by redo entries. They are not
(archivelogs) considered part of the database files.
Password file A file to store the passwords of the database users with administrative privileges
Automatic Diagnostic A file-based repository that stores database diagnostic data such as trace files, the alert
Repository (ADR) log, DDL log, and Health Monitor reports.
Keystore (wallet) file A file to store the encryption keys used by the database.
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
More to come
Throughout the course!
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka
Summary
In this lecture, you should have learnt how to perform the following:
• List and describe the major components of the database instance
• List and describe the major Oracle database files
Oracle Database Administration from Zero to Hero - a course by Ahmed Baraka