René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback
 

Oracle Processes

There are server and background processes.

background processes

Here's a list of background processes:
  • SMON
    The System Monitor carries out a crash recovery when a crashed insance is started up again. It also cleans temporary segments.
  • PMON
    The Process Monitor checks if a user process fails and if so, does all cleaning up of resources that the user process has aquired.
  • DBWR
    The Database Writer writes dirty blocks from the database buffer to the datafiles. How many DBWn Processes are started is determined by the initialization parameter DB_WRITER_PROCESSES. DBWR also writes the actual SCN with the Block.
  • LGWR
    The Log Writer writes the redo log buffer from the SGA to the online redo log file.
  • MMAN
    The memory manager
  • MRP
    Managed recovery process: the process that applies archived redo log to the standby database.
  • RFS
    The remote file server process on the standby database receives archived redo logs from the primary database.
  • RECO
    The Distributed Transaction Recovery Process finds pending (distributed) transaction and resolves them.
  • CKPT
    The Checkpoint Process reqularly initiates a checkpoint which uses DBWR to write all dirty blocks back to the datafiles, thus synchronizing the database. Since a Checkpoint records the current SCN, in a recovery only redo records with a SCN higher than that of the last checkpoint need to be applied.
  • ARCH
    The Archiver Process archives redo log files if ARCHIVELOG is enabled.
  • Dnnn
    The Dispatcher Process is used in a shared server environment.
  • Snnn
    The Shared Server Process is used in a shared server environment.
  • LMON
    The lock manager.
  • LMD0
  • QMNn
    AQ Time Manager
  • TRWR
    Trace writer
  • WMON
    The wakeup monitor process.
  • LCKnnn
    Inter-instance locking process.
  • SNPnnn
    The snapshot process.
  • MMON
    New background process in Oracle 10g.
  • DMON
    The Data Guard Broker process.
  • SNP
    The snapshot process.
Background processes have v$session.type = 'BACKGROUND'

Showing the processes

On Unix, the Oracle Processes can be listed with something like
ps -eaf | grep ora

Foreground processes

While background processes do the work for Oracle itself, foreground processes do the work for clients (such as SQL statements).
Foreground processes are created by the listener.
Foreground processes have v$session.type = 'USER'

Coordinating the processes' work

Oracle uses semaphores to coordinate the work for the processes.