Instance Architecture   «Prev  Next»

Lesson 3 Instance Overview
Objective Identify the processes and memory structures that make up an Oracle instance.

Components that make up an Oracle Instance

The diagram below illustrates the processes and memory structures that make up an Oracle instance. When you move your mouse over a box, you will see a brief description of what each particular process does.
The square boxes represent processes, while the circle in the center represents an area of memory that they all share.
Boxes drawn in bold are processes that are mandatory, and that will always be running when a database is open. The other processes are optional, and whether or not they will exist depends on the specific mix of Oracle features that you are using.

  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.
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
Oracle Instance Components

Simultaneous processes

You will notice that several of the process names end with one or more zeros. DBW0 is one example. An Oracle instance can be configured to have several such processes running simultaneously. For example, if your database experiences a high volume of updates,, you might configure the instance to run with two database writers, which would be named DBW0 and DBW1. This generally only makes sense when you have multiple CPUs to run those processes.
The procedures for displaying a list of running processes are different, and depend on whether you are using
  1. UNIX or
  2. Windows.
When an instance is started, Oracle Database allocates a memory area and starts background processes. The memory area stores information such as the following:
  1. Program code
  2. Information about each connected session, even if it is not currently active
  3. Information needed during program execution, for example, the current state of a query from which rows are being fetched
  4. Information such as lock data that is shared and communicated among processes
  5. Cached data, such as data blocks and redo records, that also exists on disk

Oracle Process Instance - Quiz

Before going on, click the Quiz link below to take this quiz and your knowledge of the process abbreviations.
Oracle Process Instance - Quiz