Oracle Database 11g introduced 56 new background processes.
The following post based on the Oracle Database 11g and briefly describes some important processes.
These processes are mandatory and can be found in all typical database environment.
- PMON – Process Monitor
- SMON – System Monitor
- LGWR – Log Writer (Redo etc.)
- CKPT – Checkpoint
- DBW0…j – DB Writer
- RECO – Distributed Recovery
- MMON & MMNL – Manageability Monitor and Manageability Monitor Lite
- DIAG – Diagnostic Capture
Recover failed user process, Releasing resource, Rollback uncommitted Transaction
Instance recovery, Cleans and releases temporary segments
Writes redo entries from redo log buffer to disk (Redo log file)
Ensures data consistency and easy database recovery in case of crash by sychronizing all the data file headers and control files with recent checkpoint information.
Flushing or writing modiﬁed dirty data (buffers) from database buffer cache to disks (datafiles). You can configure addition DB writer processes (up to 20) from DBW0-DBW9 and DBWa through DBWj.
Recoverer is responsible for recovering failed distributed transactions in a distributed database.
MMON performs tasks related to AWR such as taking snapshots, capturing statistics value for recently modified SQL objects and writes when a metric violates its threshold value.
MMNL writes statistics from the Active Session History (ASH) buffer in the SGA to disk. MMNL writes to disk when the ASH buffer is full.
Prior to Oracle database 11g, DIAG was used in RAC environmnent. Monitors overall health of the instance and performs diagnostic dumps requested by other processes and dumps triggered by process or instance termination.
Followings are optional and used by specific database feature.
- ARCn – Archiver Process
- CJQ0 – Job Queue Coordinator Process
- Dnnn – Dispatcher Process
- MMAN – Memory Manager
- PSP0 – Process Spawner Process
- QMNC – AQ (Advanced Queuing) Coordinator Process
Responsible for copying online redo log to archival storage before being reused. Runs only when database is in Archivelog Mode.
Job Queue coordinator is responsible for managing scheduled job processes within the database.
Performs network communication in the shared server architecture
Responsible for managing instance memory based on the workloads.
Spawns Oracle background processes whenever needed.
Facilitating various background activities required by AQ and Oracle Streams.
These are introduced in Oracle Database 11g. The first three is mandatory and others could be running depending upon the features being used.
- DIA0 – Diagnostic
- GEN0 – General Task Execution Process
- VKTM – Virtual Keeper of TiMe Process
- DBRM – DataBase Resource Manager
- FBDA – Flashback Data Archiver Process
- SMCO – Space Management Coordinator
- Wnnn – Space Management Slaves
- RCBG – Result Cache BackGround
- VKRM – Virtual Scheduler for Resource Manager Process
Responsible for detecting hangs and resolving deadlocks
performs required tasks including SQL and DML
Responsible for providing a wall-clock time (updated every second) and reference-time counter (updated every 20 ms) and available only when running at elevated priority.
Performs resource manager tasks setting resource plans.
Archives historical rows for tracked tables into flashback data archives and manages archive space, organization, and retention
Coordinates the execution of various space management tasks
Performs various background space management tasks, including proactive space allocation and space reclamation
Handles result cache messages.
Schedules Resource Manager Activity. Serves as centralized scheduler for Resource Manager activity. VKRM manages the CPU scheduling for all managed Oracle processes.
More description about all these processes can be found in Oracle Database Reference 11g Reference – Appendix F