Instance Architecture   «Prev 

What makes up an Oracle Instance

Oracle Instance Components: 1) SGA, 2) DBW0 3) LGWR 4) SMON 5) PMON 6) RECO 7) SNP0


  1. SGA - System Global Area: A memory area containing the database buffer cache, the redo log buffer, frequently used SQL statements, and other items critical to the operation of a database.
  2. DBW0 - Database Writer: Writes modified blocks back to the datafiles.
  3. LGWR - Log Writer: Writes the database's redo log.
  4. SMON - System Monitor: Performs crash recovery, coalesces free space, etc.
  5. PMON - Process Monitor: Cleans up after user processes.
  6. RECO - Recoverer: Resolves distributed transactions.
  7. SNP0 - Snapshot: Runs the job queues used, among other things, for snapshot refreshes.
  8. D000 - Dispatcher: Used with the multi-threaded server configuration.
  9. Shared Server Process - Shared Server Process: Used with the multi-threaded server configuration, and not considered part of the instance.
  10. QMN0 - Queue Monitor: Used with Oracle Advanced Queueing.
  11. LCK0 - Lock: Used with parallel server for inter-instance locking.
  12. CKPT - Checkpoint: Initiates and controls the checkpoint process.
  13. ARC0 - Archiver: Copies filled redo log files to the archive log destination.

Database Instance Configurations

Oracle Database runs in either a single-instance configuration or an Oracle Real Application Clusters (Oracle RAC) configuration. These configurations are mutually exclusive. In a single-instance configuration, a one-to-one relationship exists between the database and a database instance as shown in figure 4-3.1.
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 4-3.2 shows database instance configuration for RAC.
Figure 4-3.2: Oracle RAC Database

Whether in a single-instance or Oracle RAC configuration, a database instance is associated with only one database at a time. You can start a database instance and mount (associate the instance with) one database, but not mount two databases simultaneously with the same instance