ORACLE OPTIONAL BACKGROUND PROCESSES
Optional Background Processes
Process Name: ARC0 through ARC9
Max Processes: 10
The ARCn process is responsible for writing the online redo log files to the mentioned archive log destination after a log switch has occurred.
ARCn is present only if the database is running in Archivelog mode and automatic archiving is enabled.
The log writer process is responsible for starting multiple ARCn processes when the workload increases. Unless ARCn completes the copying of a redo log file, it is not released to log writer for overwriting.
The number of Archiver processes that can be invoked initially is specified by the initialization parameter LOG_ARCHIVE_MAX_PROCESSES. The actual number of Archiver processes in use may vary based on the workload. Arch can be stopped and started dynamically with alter system archive log stop/start or the SQL*PLUS command ARCHIVE LOG. In order to permanently have arch started when the database is started, log_archive_start must be set to true.
ARCH copies the online redo log a bit more intelligently than how the operating system command cp or copy would do: if a log switch is forced, only the used space of the online log is copied, not the entire log file.
Process Name: RVWR
This process is new optional process of the Oracle 10g database, is responsible for maintaining the before images of blocks in the flash recovery area used with the FLASHBACK DATABASE command.
Flashbacking a database means going back to a previous database state.
The Flashback Database feature provides a way to quickly revert an entire Oracle database to the state it was in at a past point in time.
This is different from traditional point in time recovery.
A new background process Recovery Writer (RVWR) introduced which is responsible for writing flashback logs which stores pre-image(s) of data blocks
One can use Flashback Database to back out changes that:
Have resulted in logical data corruptions.
Are results of user error?
This feature is not applicable for recovering the database in case of media failure.
The time required for flashbacking a database to a specific time in past is DIRECTLY PROPORTIONAL to the number of changes made and not on the size of the database.
Process Name: LMON
Max Processes: 1
Meant for Parallel server setups, Lock Monitor manages global locks and resources. It handles the redistribution of instance locks whenever instances are started or shutdown. Lock Monitor also recovers instance lock information prior to the instance recovery process. Lock Monitor co-ordinates with the Process Monitor to recover dead processes that hold instance locks.
Lock Manager Daemon
Process Name: LMDn
Meant for Parallel server setups, LMDn processes manage instance locks that are used to share resources between instances.
LMDn processes also handle deadlock detection and remote lock requests.
Process Name: LCK0 through LCK9
Max Processes: 10
Meant for Parallel server setups, the instance locks that are used to share resources between instances are held by the lock processes.
Block Server Process
Process Name: BSP0 through BSP9
Max processes: 10
Meant for Parallel server setups, Block server Processes have to do with providing a consistent read image of a buffer that is requested by a process of another instance, in certain circumstances.
Process Name: QMN0 through QMN9
Max Processes: 10
This is the advanced Queuing Time manager process. QMNn monitors the message queues.
Failure of QMNn process will not cause the instance to fail.
Process Name: EMN0/EMON
Max Processes: 1
This process is also related to Advanced Queuing, and is meant for allowing a publish/subscribe style of messaging between applications.
Shared Server Processes
Process Name: Snnn
Max Processes: 1000
Intended for Shared server setups (MTS). These processes pickup requests from the call request queue process them and then return the results to a result queue.
The number of shared server processes to be created at instance startup can be specified using the initialization parameter SHARED_SERVERS.
Process Name: MMAN
This process is new optional background process of the Oracle 10g database. Memory manager used for internal database tasks. MMAN can dynamically adjust the sizes of the following SGA components:
Database buffer cache
Parallel Execution Slaves
Process Name: Pnnn
These processes are used for parallel processing. It can be used for parallel execution of SQL statements or recovery. The Maximum number of parallel processes that can be invoked is specified by the initialization parameter PARALLEL_MAX_SERVERS.
Process Name: TRWR
Max Processes: 1
This process is new optional background process of the Oracle 10g database. Trace writer writes trace files from an Oracle internal tracing facility. When one of the Oracle background processes (such as dbwr, lgwr, pmon, smon and so on) encounters an exception, they will write a trace file. These trace files are also recorded in the alert.log. Trace files are also created for diagnostic dump events. An ORA-00600 error also produces a trace
A DMON process is started when the data guard monitor is started.
Process Name: Dnnn
Intended for Shared server setups (MTS). Dispatcher processes listen to and receive requests from connected sessions and places them in the request queue for further processing. Dispatcher processes also pickup outgoing responses from the result queue and transmit them back to the clients. Dnnn are mediators between the client processes and the shared server processes. The maximum number of Dispatcher process can be specified using the initialization parameter MAX_DISPATCHERS.
This process is new optional background process of the Oracle 10g database and is responsible in associated with the Automatic Workload Repository new features used for automatic problem detection and self-tuning.
MMON writes out the required statistics for AWR on a scheduled basis. This process makes a snapshot of the database ‘health’ (statistics) and stores this information in the automatic workload repository. Performs various manageability-related background tasks.
Process Name: Innn
These processes are used to simulate asynchronous I/O on platforms that do not support it. The initialization parameter DBWR_IO_SLAVES is set for this purpose.
Wakeup Monitor Process
Process Name: WMON
This process was available in older versions of Oracle to alarm other processes that are suspended while waiting for an event to occur. This process is obsolete and has been removed.
Memory Monitor Light
Process Name: MMON
The Memory Monitor Light (MMNL) process works with the Automatic Workload Repository new features (AWR) to write out full statistics buffers to disk as needed. Performs frequent and lightweight manageability-related tasks, such as session history capture and metrics computation.
Job Queue Processes
Process Name: J000 through J999 (Originally called SNPn processes)
Max Processes: 1000
Job queue processes carry out batch processing. All scheduled jobs are executed by these processes. The initialization parameter JOB_QUEUE_PROCESSES specifies the maximum job processes that can be run concurrently.
If a job fails with some Oracle error, it is recorded in the alert file and a process trace file is generated. Failure of the Job queue process will not cause the instance to fail.
This is the ASM related process that performs rebalancing of disk resources controlled by ASM.
These processes are managed by the RBAL process and are used to do the actual rebalancing of ASM controlled disk resources. The number of ARBx processes invoked is directly influenced by the ASM_POWER_LIMIT parameter.
The ASMB process is used to provide information to and from the Cluster Synchronization Services used by ASM to manage the disk resources. It is also used to update statistics and provide a heartbeat mechanism.
Change Tracking Writer
Process Name: CTWR
This is a new process Change Tracking Writer (CTWR) which works with the new block changed tracking features in 10g for fast RMAN incremental backups.
Job Queue Monitoring
Process Name: CJQn
This is the job queue monitoring process which is initiated with the JOB_QUEUE_PROCESSES parameter.
Auto BMR Background Process
Process Name: ABMR
Coordinates execution of tasks such as filtering duplicate block media recovery requests and performing flood control.
Automatic Block Media Recovery Slave Pool Process
Process Name: BMRn
Fetches blocks from a real-time readable standby database
Database Capture Process
Process Name: CPnn
Captures database changes from the redo log by using the infrastructure of LogMiner.
Database Resource Manager Process
Process Name: DBRM
Sets resource plans and performs other Resource Manager tasks.
Diagnostic Capture Process
Process Name: DIAG
Performs diagnostic dumps and executes global oradebug commands.
EMON Coordinator Process
Process Name: EMNC
Coordinates the event management and notification activity in the database, including Streams Event Notifications, Continuous Query Notifications, and Fast Application Notifications. Spawns Ennn processes.
RAT Masking Slave Process
Process Name: RM
This background process is used with Data Masking and Real Application Testing.
Space Management Coordinator Process
Process Name: SMCO
Coordinates the execution of various space management related tasks, such as proactive space allocation and space reclamation.
Virtual Scheduler for Resource Manager Process
Process Name: VKRM
Serves as centralized scheduler for Resource Manager activity
Virtual Keeper of Time Process
Process Name: VKTM
Responsible for providing a wall-clock time (updated every second) and reference-time counter (updated every 20ms and available only when running at elevated priority).
ASM Cluster File System CSS Process
Process Name: ACFS
Tracks the cluster membership in CSS and informs the file system driver of membership changes
Other Oracle Database Background Processes
There are several other background processes that might be running. These can include the following:
ACMS (atomic controlfile to memory service) per-instance process is an agent that contributes to ensuring a distributed SGA memory update is either globally committed on success or globally aborted in the event of a failure in an Oracle RAC environment.
ASMB is present in a database instance using an Automatic Storage Management disk group. It communicates with the Automatic Storage Management instance.
DBRM (database resource manager) process is responsible for setting resource plans and other resource manager related tasks.
DIA0 (diagnosability process 0) (only 0 is currently being used) is responsible for hang detection and deadlock resolution.
DIAG (diagnosability) process performs diagnostic dumps and executes global oradebug commands.
DSKM (slave diskmon) is used as the conduit between RDBMS and ASM instances and the Master Diskmon daemon to communicate I/O Fencing information, I/O Resource Manager Plans, and Transaction Commit Cache information to SAGE storage. It is also used to implement the skgxp ANT protocol between the host nodes and SAGE storage servers. If no SAGE storage is used, the slave diskmon process will exit silently after startup of the instance.
EMNC (event monitor coordinator) is the background server process used for database event management and notifications.
FBDA (flashback data archiver process) archives the historical rows of tracked tables into flashback data archives. Tracked tables are tables which are enabled for flashback archive. When a transaction containing DML on a tracked table commits, this process stores the pre-image of the rows into the flashback archive. It also keeps metadata on the current rows.
FBDA is also responsible for automatically managing the flashback data archive for space, organization, and retention and keeps track of how far the archiving of tracked transactions has occurred.
GMON maintains disk membership in ASM disk groups.
GTX0-j (global transaction) processes provide transparent support for XA global transactions in an Oracle RAC environment. The database auto tunes the number of these processes based on the workload of XA global transactions. Global transaction processes are only seen in an Oracle RAC environment.
KATE performs proxy I/O to an ASM metafile when a disk goes offline.
MARK marks ASM allocation units as stale following a missed write to an offline disk.
MMAN is used for internal database tasks.
MMNL performs frequent and light-weight manageability-related tasks, such as session history capture and metrics computation.
MMON performs various manageability-related background tasks, for example:
Issuing alerts whenever a given metrics violates its threshold value
Taking snapshots by spawning additional process (MMON slaves)
Capturing statistics value for SQL objects which have been recently modified
ORBn performs the actual rebalance data extent movements in an Automatic Storage Management instance. There can be many of these at a time, called ORB0, ORB1, and so forth.
PSP0 (process spawner) spawns Oracle processes.
RBAL coordinates rebalance activity for disk groups in an Automatic Storage Management instance. It performs a global open on Automatic Storage Management disks.
SMCO (space management coordinator) process coordinates the execution of various space management related tasks, such as proactive space allocation and space reclamation. It dynamically spawns slave processes (Wnnn) to implement the task.
VKTM (virtual keeper of time) is 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).
ABMRP(Auto BMR Background Process)
Coordinates execution of tasks such as filtering duplicate block media recovery requests ABMRand performing flood control.
Xnnn (ASM Disk Expel Slave Process) Performs Oracle ASM post-rebalance activities.
VUBG (Volume drive Umbilicus Background) Relays messages between Oracle ASM instance and Oracle ASM Proxy instance that is used by ADVM (for ACFS).
VBGn (Volume Background Process) Communicates between the Oracle ASM instance and the operating system volume driver.
RPOP (Instant Recovery Repopulation Daemon) Performs monitoring management tasks related to Data Guard on behalf of DMON.
RCBG (Result Cache Background Process) Handles result cache messages.
PSP0(Process Spawner Process) Spawns Oracle background processes after initial instance startup.
Please refer video link for regarding to this article