Databases 27 min read

Oracle Database Architecture: Instances, Memory, Processes, and Structures

This article provides a comprehensive overview of Oracle Database architecture, detailing the server components, instance memory structures such as SGA, essential background processes, and the physical and logical storage layers, helping readers understand how Oracle organizes data and manages operations.

ITPUB
ITPUB
ITPUB
Oracle Database Architecture: Instances, Memory, Processes, and Structures

Oracle Database Server

In everyday discussions, "Oracle Database" refers to the Oracle Database Server, which consists of an Oracle Instance and the Oracle Database files. The instance provides the memory area and background processes that interact with the database, while the database itself is a collection of physical files such as data files, redo log files, control files, parameter files, and optional files like backup and alert logs.

Oracle Instance

An Oracle Instance is a set of memory structures and background processes. When the instance starts, it first allocates the System Global Area (SGA) in server memory, then launches the required resident operating‑system processes, forming the process structure. The instance is identified by ORACLE_SID in the OS and by the Instance Name parameter inside Oracle.

Memory Structures (SGA)

The SGA is the shared memory area that holds data and control information for the instance. Its major components are:

Shared Pool : contains the library cache, data dictionary cache, and SQL shared pool; size controlled by SHARED_POOL_SIZE.

Database Buffer Cache : holds copies of data blocks; size set by DB_CACHE_SIZE and managed by an LRU algorithm.

Redo Log Buffer : temporarily stores redo entries before they are written to redo log files; size set by LOG_BUFFER.

Large Pool (optional): used for large memory‑intensive operations such as backup and recovery; size set by LARGE_POOL_SIZE.

Java Pool : provides memory for Java execution; size set by JAVA_POOL_SIZE.

Multiple Buffer Pools : allow creation of separate pools to reduce contention for large data sets.

Background Processes

Key background processes include:

PMON : monitors and recovers failed user processes, releases resources, and rolls back uncommitted transactions.

SMON : performs instance recovery, cleans temporary segments, and merges free extents.

DBWn : writes dirty buffers from the Database Buffer Cache to data files; triggered by no free buffers, dirty‑buffer thresholds, checkpoints, tablespace offline, time‑outs, or DDL operations.

LGWR : writes redo log buffer contents to online redo log files; triggered by commit, every three seconds, when the redo buffer is one‑third full, or when DBWn writes data files.

CKPT : signals DBWn and LGWR to write dirty buffers and updates control files during checkpoints.

ARCH : archives redo log files when the database runs in ARCHIVELOG mode.

RECO : resolves distributed transaction failures in a distributed environment.

LCKn : lock processes used in parallel server configurations.

Dnnn (Dispatcher) : multiplexes user connections to a limited number of server processes.

Physical Structure of Oracle Database

The physical structure consists of mandatory files—data files, control files, redo log files, and parameter files—and optional files such as password files, archive logs, backup files, alert logs, and trace files.

Data Files : store all database data; each tablespace is made up of one or more data files.

Redo Log Files : record all changes for recovery; organized into online and archived groups.

Control Files : contain metadata about the database’s physical layout and are critical for startup and recovery.

Parameter Files : hold initialization parameters; can be text (pfile) or binary (spfile) and determine static vs. dynamic settings.

Logical Structure of Oracle Database

The logical structure is a hierarchy visible to users, comprising tablespaces, segments, extents, and data blocks.

Tablespaces : logical containers for database objects; common tablespaces include SYSTEM, SYSAUX, TEMP, UNDO, and USERS.

Segments : collections of extents allocated for specific objects (data, index, rollback, temporary).

Extents : contiguous groups of data blocks allocated to a segment.

Data Blocks : the smallest storage unit; size defined by DB_BLOCK_SIZE (default 8 KB) and may vary within the same instance.

Oracle logical structure diagram
Oracle logical structure diagram
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

architecturedatabaseOracleInstancebackground processesSGA
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.