Monday 9 May 2016

Oracle Database - Process Architecture

Process Monitor - PMON (Mandatory/Instance Critical)

PMON is a background process that monitors all other background processes Performs process recovery for sessions terminated abnormally. It registers instance information to listener

System Monitor - SMON (Mandatory/Instance Critical)

SMON is a background process responsible for instance recovery and clean up duties. It recovers transactions that were skipped during instance recovery due to file-read or tablespace offline errors. SMON cleans unused temporary segment from temp (temp tablespace)

Log Writer - LGWR (Mandatory/Instance Critical)

LGWR is a background process writes changed vectors from buffer cache(redolog buffer) to online redolog files. Write happens from redolog buffer to redolog group in the following conditions
  • when trasaction is commited
  • when logswitch occurs
  • every 3 seconds
  • 1/3rd of redolog buffer is full
  • redolog buffer contains 1MB of data





Database Writer - DBWn 0-9 (Mandatory/Instance Critical)

DBWR process writes dirty buffers in buffer cache to disk or datafiles. Writing happens in the following conditions
  • Clean reusable buffers is not available in cache after checking threshold number of blocks
  • To advance the check point, this is the position in redolog file where recovery of the instance starts

Check Point - CKPT (Mandatory/Instance Critical)

CKPT is a background process which is responsible for 
  • Updating latest SCN to control file and data file headers
  • Writing dirty buffers from buffer cache to disk

Memory Monitor - MMON (New in Oracle 10g)

MMON collects the statistics required for AWR reports

Memory Monitor Light - MMNL (New in Oracle 10g)

MMNL writes the statistics collected to the disk and statistics are used for ASH reports as well

Memory Manager - MMAN (New in Oracle 10g)

MMAN background process manages the dynamic resizing of SGA memory components depending on load for database

Diagnostic Capture Process - DIAG (New in Oracle 11g)

DIAG process executes oradebug commands and performs diagnostic dumps requested by other processes or termination of instance. Alertlog file and all trace files will be written to a single location

Recoverer - RECO

RECO background process run on distributed database environment

General Task Execution process - GENo (New in Oracle 11g)

General Task Execution process performs required task for DMLs and SQL. GENo process handles the processes that are blocking other processes

Diagnosability Process 0 - DIA0 (New in Oracle 11g)

DIA0 is responsible for hang detection and deadlock resolution

Virtual Keeper of Time Process - VKTM (New in Oracle 11g)

VKTM acts as a time publisher for an Oracle instance. VKTM publishes two sets of time: a wall clock time using a seconds interval and a higher resolution time (which is not wall clock time) for interval measurements

Process Spawner - PSPO

Process Spawner spawns oracle background process after initial startup of the instance. It was introduced in Oracle 10g. This process creates and manages other oracle background processes

Job Queue Coordinator Process - CJQO

This process selects jobs that need to be run from the data dictionary and spawns job queue slave processes (Jnnn) to run the jobs. JQ0 is automatically started and stopped as needed by Oracle Scheduler. CJQ0 starts only as many job queue processes as required by the number of jobs to run and available resources

Space Management Coordinator - SMCO

This background process is responsible for coordinating the execution of various space management tasks, including proactive space allocation and space reclamation. SMCO dynamically spawns slave processes (Wnnn) to implement these tasks.

Archiver - ARCH (Optional)

Archiver is the background process that copies exact copy of the online redolog file to the disk (destination provided in the parameter file log_archive_dest_1). This background process run only when the database is in archivelog mode

Recovery Writer - RVWR (Optional) (New in Oracle 10g)

RVWR background process runs if database is in flashback mode. It writes flashback data to the flashback logs in the fast recovery area(FRA). FRA destination parameter db_recovery_file_dest is set in database pfile

Change Tracking Writer - CTWR (Optional)(New in Oracle 10g)

CTWR process writes changed block information from buffer to the change tracking file. Block change tracking is enabled to improve the performance of RMAN incremental backup

Database resource manager - DBRM (Optional)

Database resource manager takes care of setting plans to users and all other database resource management activities. It controls the use of computing resources

Virtual Scheduler for Resource Manager - VKRM (Optional)

VKRM process Serves as centralized scheduler for Resource Manager activity.CPU scheduling for all managed Oracle processes is handled by VKRM. The process schedules managed processes in according to an active resource plan

Click here to read Oracle Database Memory Structure


Click here to read Oracle Database Logical Structure

1 comment: