Identify the memory structures and background processes that make up an Oracle instance and how they relate to the database on disk.
Oracle Instance Overview
The Oracle instance is the runtime layer—shared memory plus background processes—that opens and manages a database (its files on disk). The diagram below labels the major components you will observe on any modern deployment.
Instance components.SGA (buffer cache, library and dictionary caches, redo log buffer), <—em>PGA (per-process memory), and background processes:
DBWn - writes dirty buffers to data files.
LGWR - flushes redo from memory to online redo logs.
CKPT - signals checkpoints and updates control/data file headers.
SMON - instance recovery and space maintenance.
PMON - cleans up failed sessions and frees resources.
ARCn - archives full redo logs (when ARCHIVELOG mode).
Others as enabled (e.g., RECO for distributed txns, queue monitors, dispatchers for shared server).
Database Instance Configurations
Oracle supports two deployment patterns:
Single-instance - one instance serves one database (1:1).
Oracle RAC - multiple instances on different nodes serve the same database (N:1) for scalability and HA.
Figure 4-3.1: Single Instance Database
In Oracle RAC, a one-to-many relationship exists between the database and database instances. The following figure shows a typical RAC configuration.
Figure 4-3.2: Oracle RAC Database
An instance is always associated with exactly one database at a time: you can mount/open one database with a given instance, not two.
Why Multiple Writers or Archivers?
Process names often end with a digit (e.g., DBW0, DBW1). On busy systems-especially with many CPUs-you may configure multiple workers (DBWn, ARCn) to scale I/O and keep up with redo and checkpoint activity.
Listing Processes on a UNIX System
Use ps to view Oracle processes. A quick pattern is to list database writers (present on every instance), or to grep by SID to see all processes for a specific instance.
ps -ef
Example: locate all DBW0 processes (reveals running instances):
On Windows, Oracle implements these as threads under a single Oracle service. Check Services to confirm which instances are running (service names follow OracleService<SID>). The Oracle Administration Assistant exposes per-service thread lists.
Control PanelServices view (scroll to find Oracle services such as OracleServiceORCL).
Example thread list from the assistant: