Understanding Oracle Database Architecture: Components, Memory, and Background Processes
This article explains Oracle's database architecture, detailing the division between instance and database, the structure of SGA memory, and the roles of key background processes that together enable user interactions and ensure data consistency and recovery.
Overview
Oracle database servers are divided into two primary parts: the Oracle instance (the upper half) and the database (the lower half). Users do not connect directly to the database; instead a user process communicates with a server process, which interacts with the instance, which finally accesses the underlying database.
The interaction flow is illustrated in the second diagram.
Instance and Memory Structure
Oracle server = instance + database.
Instance = SGA (shared global area) + background processes.
Memory = SGA + PGA.
SGA consists of:
Database buffer cache – stores copies of data blocks read from data files, enabling fast access and dynamic size management.
Redo log buffer – records all changes to database blocks before they are written to redo log files; size is controlled by log_buffer.
Shared pool – includes the library cache (SQL and PL/SQL statements) and the data dictionary cache (metadata such as tables, indexes, users, privileges).
Large pool – optional area used by shared server sessions to reduce pressure on the shared pool; size can be adjusted dynamically.
Java pool – optional memory for Java execution within the database.
Streams pool – optional memory for Oracle Streams and related features.
Background Processes
PMON (process monitor) – cleans up after failed user sessions, rolls back transactions, releases locks, and deregisters dead processes.
SMON (system monitor) – performs instance recovery, rolls forward redo logs, and releases temporary tablespace.
DBWn (database writer) – writes dirty blocks from the buffer cache to data files when a checkpoint occurs, the cache reaches a threshold, or space is needed.
LGWR (log writer) – flushes the redo log buffer to online redo log files on commit, when the buffer is one‑third full, reaches 1 MB, or every three seconds.
CKPT (checkpoint) – signals DBWn to write dirty blocks, updates the SCN in data file headers and control files, and runs roughly every three seconds to maintain consistency.
ARCn (archiver) – copies online redo log files to archive log files when archiving mode is enabled, ensuring that redo logs are available for recovery.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
