Monday, December 22, 2014

Oracle 12c background processes



NameExpanded NameShort DescriptionLong DescriptionExternal Properties
AQPCAQ Process CoordinatorPer instance AQ global coordinatorAQPC is responsible for performing administrative tasks for AQ Master Class Processes including commands like starting, stopping, and other administrative tasks. This process is automatically started on instance startup.Database instances Advanced Queueing
ARSnASM Recovery Slave ProcessRecovers ASM transactional operationsThe ASM RBAL background process coordinates and spawns one or more of these slave processes to recover aborted ASM transactional operations. These processes run only in the Oracle ASM instance.Possible processes are ARS0-ARS9.Oracle ASM instances
BWnnDatabase Writer ProcessWrites modified blocks from the database buffer cache to the data filesSee the Long Description for the DBWn process in this table for more information about the BWnn process.Database instances
FENCFence Monitor ProcessProcesses fence requests for RDBMS instances which are using Oracle ASM instancesCSS monitors RDBMS instances which are connected to the Oracle ASM instance and constantly doing I/Os. When the RDBMS instance terminates due to a failure, all the outstanding I/O’s from the RDBMS instance should be drained and any new I/O’s rejected. FENC receives and processes the fence request from CSSD.Oracle ASM instances
IPC0IPC Service Background ProcessCommon background server for basic messaging and RDMA primitives based on IPC (Inter-process communication) methods.IPC0 handles very high rates of incoming connect requests, as well as, completing reconfigurations to support basic messaging and RDMA primitives over several transports such as UDP, RDS, InfiniBand and RC.Oracle RAC
LDDnGlobal Enqueue Service Daemon Helper SlaveHelps the LMDn processes with various tasksLDDn processes are slave processes spawned on demand by LMDn processes. They are spawned to help the dedicated LMDn processes with various tasks when certain workloads start creating performance bottlenecks. These slave processes are transient as they are started on demand and they can be shutdown when no longer needed. There can be up to 36 of these slave processes (LDD0-LDDz).Database instances, Oracle ASM instances, Oracle RAC
LGnnLog Writer WorkerWrites redo logOn multiprocessor systems, LGWR creates worker processes to improve the performance of writing to the redo log. LGWR workers are not used when there is a SYNC standby destination. Possible processes include LG00-LG99.Database instances
LREGListener Registration ProcessRegisters the instance with the listenersLREG notifies the listeners about instances, services, handlers, and endpoint.Database instances, Oracle ASM instances, Oracle RAC
OFSDOracle File Server Background ProcessServes file system requests submitted to an Oracle instanceThis background process listens for new file system requests, both management (like mount, unmount, and export) and I/O requests, and executes them using Oracle threads.Database instances, Oracle RAC
QMnnAQ Master Class ProcessPer instance per AQ Master Class ProcessEach of this type of process represents a single class of work item such as AQ notification, queue monitors, and cross process.Database instances Advanced Queueing
RMRAT Masking Slave ProcessExtracts and masks bind values from workloads like SQL tuning sets and DB Replay capture filesThis background process is used with Data Masking and Real Application Testing.Database instances
RMONRolling Migration Monitor ProcessManages the rolling migration procedure for an Oracle ASM clusterThe RMON process is spawned on demand to run the protocol for transitioning an ASM cluster in and out of rolling migration mode.Oracle ASM instance, Oracle RAC
RPOPInstant Recovery Repopulation DaemonResponsible for re-creating and/or repopulating data files from snapshot files and backup filesThe RPOP process is responsible for re-creating and repopulating data files from snapshots files. It works with the instant recovery feature to ensure immediate data file access. The local instance has immediate access to the remote snapshot file’s data, while repopulation of the recovered primary data files happens concurrently. Any changes in the data are managed between the instance’s DBW processes and RPOP to ensure the latest copy of the data is returned to the user.Database instances
SAnnSGA AllocatorAllocates SGAA small fraction of SGA is allocated during instance startup. The SAnn process allocates the rest of SGA in small chunks. The process exits upon completion of SGA allocation.The possible processes are SA00 – SAzz.Database instances
SCCnASM Disk Scrubbing Slave Check ProcessPerforms Oracle ASM disk scrubbing check operationSCCn acts as a slave process for SCRB and performs the checking operations. The possible processes are SCC0-SCC9.Oracle ASM instances
SCRBASM Disk Scrubbing Master ProcessCoordinates Oracle ASM disk scrubbing operationsSCRB runs in an Oracle ASM instance and coordinates Oracle ASM disk scrubbing operations.Oracle ASM instances
SCRnASM Disk Scrubbing Slave Repair ProcessPerforms Oracle ASM disk scrubbing repair operationSCRn acts as a slave process for SCRB and performs the repairing operations. The possible processes are SCR0-SCR9.Oracle ASM instances
SCVnASM Disk Scrubbing Slave Verify ProcessPerforms Oracle ASM disk scrubbing verify operationSCVn acts as a slave process for SCRB and performs the verifying operations. The possible processes are SCV0-SCV9.Oracle ASM instances
VUBGVolume drive Umbilicus BackgroundRelays messages between Oracle ASM instance and Oracle ASM Proxy instance that is used by ADVM (for ACFS)Oracle ASM instances, Oracle ASM Proxy instances
But that is not all. One has actually been renamed all together and two have been enabled for multi-processing indicated by the “n” at the back of the name in the list below:
Name (12c)Previous name (11gR2)Expanded NameShort DescriptionLong DescriptionExternal Properties
LCKnLCK0Lock ProcessManages global enqueue requests and cross-instance broadcastsThe process handles all requests for resources other than data blocks. For examples, LCKn manages library and row cache requests. Possible processes are LCK0 and LCK1.Database instances, Oracle ASM instances, Oracle RAC
LMDnLMD0Global Enqueue Service Daemon ProcessManages incoming remote resource requests from other instancesLMDn processes enqueue resources managed under Global Enqueue Service. In particular, they process incoming enqueue request messages and control access to global enqueues. They also perform distributed deadlock detections. There can be up to 36 of these processes (LMD0-LMDz).Database instances, Oracle ASM instances, Oracle RAC
TTnnNSAnRedo Transport Slave ProcessShips redo from current online and standby redo logs to remote standby destinations configured for ASYNC transportTTnn can run as multiple processes, where nn is 00 to ZZ.See Also: Oracle Data Guard Concepts and AdministrationDatabase instances, Data Guard
And last but not least, three have been made obsolete in 12c:
NameExpanded NameShort DescriptionLong DescriptionExternal Properties
DRnnASM Disk Resynchronization Slave ProcessResynchronizes the contents of an offline diskWhen a disk online SQL command is issued on a disk or disks that are offline, ASM spawns DRnn. Depending on the load, more than one slave may be spawned.ASM Instance
FDnnOracle ASM Stale FD Cleanup Slave ProcessCleans up Oracle ASM stale FDs on foreground processesThis process cleans up Oracle ASM stale FDs on foreground processes if an Oracle ASM disk is globally closed.Database and ASM instances
VnnnASM Volume I/O Slave ProcessInitializes ASM volume contents during creationThis process is responsible for initializing the ASM volume during creation.ASM instance
The full list of background processes in 12c to date:
NameExpanded NameShort DescriptionLong DescriptionExternal Properties
ABMRAuto BMR Background ProcessCoordinates execution of tasks such as filtering duplicate block media recovery requests and performing flood controlWhen a process submits a block media recovery request to ABMR, it dynamically spawns slave processes (BMRn) to perform the recovery. ABMR and BMRn terminate after being idle for a long time.Database instances
ACFSASM Cluster File System CSS ProcessTracks the cluster membership in CSS and informs the file system driver of membership changesACFS delivers CSS membership changes to the Oracle cluster file system. These membership changes are required for the file system to maintain file system consistency within the cluster.Oracle ASM instances, Oracle RAC
ACMSAtomic Control File to Memory Service ProcessCoordinates consistent updates to a control file resource with its SGA counterpart on all instances in an Oracle RAC environmentThe ACMS process works with a coordinating caller to ensure that an operation is executed on every instance in Oracle RAC despite failures. ACMS is the process in which a distributed operation is called. As a result, this process can exhibit a variety of behaviors. In general, ACMS is limited to small, nonblocking state changes for a limited set of cross-instance operations.Database instances, Oracle RAC
APnnDatabase Apply Process Coordinator ProcessObtains transactions from the reader server and passes them to apply serversThe coordinator process name is APnn, where nn can include letters and numbers.For more information about the coordinator process, see V$STREAMS_APPLY_COORDINATOR for Oracle Streams,V$XSTREAM_APPLY_COORDINATOR for XStream, and V$GG_APPLY_COORDINATOR for Oracle GoldenGate.Database instances, Logical Standby, Streams Apply, XStream Inbound servers, XStream Outbound servers, GoldenGate Integrated Replicat
AQPCAQ Process CoordinatorPer instance AQ global coordinatorAQPC is responsible for performing administrative tasks for AQ Master Class Processes including commands like starting, stopping, and other administrative tasks. This process is automatically started on instance startup.Database instances Advanced Queueing
ARBnASM Rebalance ProcessRebalances data extents within an ASM disk groupPossible processes are ARB0-ARB9 and ARBA.Oracle ASM instances
ARCnArchiver ProcessCopies the redo log files to archival storage when they are full or an online redo log switch occursARCn processes exist only when the database is in ARCHIVELOG mode and automatic archiving is enabled, in which case ARCn automatically archives online redo log files. LGWR cannot reuse and overwrite an online redo log group until it has been archived.The database starts multiple archiver processes as needed to ensure that the archiving of filled online redo logs does not fall behind. Possible processes include ARC0-ARC9 and ARCa-ARCt.TheLOG_ARCHIVE_MAX_PROCESSES initialization parameter specifies the number of ARCn processes that the database initially invokes.Database instances
ARSnASM Recovery Slave ProcessRecovers ASM transactional operationsThe ASM RBAL background process coordinates and spawns one or more of these slave processes to recover aborted ASM transactional operations. These processes run only in the Oracle ASM instance.Possible processes are ARS0-ARS9.Oracle ASM instances
ASMBASM Background ProcessCommunicates with the ASM instance, managing storage and providing statisticsASMB runs in Oracle ASM instances when the ASMCMD cp command runs or when the database instance first starts if the server parameter file is stored in Oracle ASM. ASMB also runs with Oracle Cluster Registry on Oracle ASM.Database instances, Oracle ASM instances
ASnnDatabase Apply Reader or Apply Server
  • Computes dependencies between logical change records (LCRs) and assembles messages into transactions (Reader Server)
  • Applies LCRs to database objects or passes LCRs and user messages to their appropriate apply handlers (Apply Server)
When the reader server finishes computing dependencies between LCRs and assembling transactions, it returns the assembled transactions to the coordinator process. QueryV$STREAMS_APPLY_READER, V$XSTREAM_APPLY_READER, and V$GG_APPLY_READER for information about the reader server background process.An apply server receives the transactions from the coordinator background process, and either applies database changes in LCRs or sends LCRs or messages to apply handlers. Apply servers can also enqueue a queue. If an apply server encounters an error, then it then tries to resolve the error with a user-specified conflict handler or error handler. If an apply server cannot resolve an error, then it rolls back the transaction and places the entire transaction, including all of its messages, in the error queue. When an apply server commits a completed transaction, this transaction has been applied. When an apply server places a transaction in the error queue and commits, this transaction also has been applied. Query V$STREAMS_APPLY_SERVER for information about the apply server background process. For XStream Inbound servers, query V$XSTREAM_APPLY_SERVER. For GoldenGate Integrated Replicat, query V$GG_APPLY_SERVER.The coordinator process name is ASnn, where nn can include letters and numbers.Database instances, XStream Outbound servers, XStream Inbound servers, GoldenGate Integrated Replicat
BMRnAutomatic Block Media Recovery Slave Pool ProcessFetches blocks from a real-time readable standby databaseWhen a process submits a block media recovery request to ABMR, it dynamically spawns slave processes (BMRn) to perform the recovery. BMRn processes fetch blocks from a real-time readable standby database. ABMR and BMRn terminate after being idle for a long time.Database instances
BnnnASM Blocking Slave Process for GMONPerforms maintenance actions on Oracle ASM disk groupsBnnn performs actions that require waiting for resources on behalf of GMON. GMON must be highly available and cannot wait.A Bnnn slave is spawned when a disk is taken offline in an Oracle ASM disk group. Offline timer processing and drop of the disk are performed in this slave. Up to five process (B000 to B004) can exist depending on the load.Oracle ASM instances
BWnnDatabase Writer ProcessWrites modified blocks from the database buffer cache to the data filesSee the Long Description for the DBWn process in this table for more information about the BWnn process.Database instances
CJQ0Job Queue Coordinator ProcessSelects jobs that need to be run from the data dictionary and spawns job queue slave processes (Jnnn) to run the jobsCJQ0 is automatically started and stopped as needed by Oracle Scheduler.TheJOB_QUEUE_PROCESSES initialization parameter specifies the maximum number of processes that can be created for the execution of jobs. CJQ0 starts only as many job queue processes as required by the number of jobs to run and available resources.Database instances
CKPTCheckpoint ProcessSignals DBWn at checkpoints and updates all the data files and control files of the database to indicate the most recent checkpointAt specific times CKPT starts a checkpoint request by messaging DBWn to begin writing dirty buffers. On completion of individual checkpoint requests, CKPT updates data file headers and control files to record most recent checkpoint.CKPT checks every three seconds to see whether the amount of memory exceeds the value of the PGA_AGGREGATE_LIMITinitialization parameter, and if so, takes the action described in “PGA_AGGREGATE_LIMIT”.Database instances, Oracle ASM instances
CPnnDatabase Capture ProcessCaptures database changes from the redo log by using the infrastructure of LogMinerThe capture process name is CPnn, where nn can include letters and numbers. The underlying LogMiner process name is MSnn, where nn can include letters and numbers. The capture process includes one reader server that reads the redo log and divides it into regions, one or more preparer servers that scan the redo log, and one builder server that merges redo records from the preparer servers. Each reader server, preparer server, and builder server is a process. Query the V$STREAMS_CAPTUREV$XSTREAM_CAPTURE, and V$GOLDENGATE_CAPTUREview for information about this background process.Database instances, XStream Outbound Servers, Oracle Streams
CSnnI/O Calibration ProcessIssues I/Os to storage as part of storage calibration.CSnn slave processes are started on execution of the DBMS_RESOURCE_MANAGER.CALIBRATE_IO()procedure. There is one slave process per CPU on each node of the database.Database instances, Oracle RAC
CTWRChange Tracking Writer ProcessTracks changed data blocks as part of the Recovery Manager block change tracking featureCTWR tracks changed blocks as redo is generated at a primary database and as redo is applied at a standby database. The process is slightly different depending on the type of database.Database instances
CXnnStreams Propagation Sender ProcessSends LCRs to a propagation receiverThe propagation sender process name is CXnn, where nn can include letters and numbers. In an Oracle Streams combined capture and apply optimization, the propagation sender sends LCRs directly to the propagation receiver to improve performance. The propagation receiver passes the LCRs to an apply process. Query V$PROPAGATION_SENDER for information about a propagation sender.Database instances, XStream Outbound Server, Oracle Streams
DBRMDatabase Resource Manager ProcessSets resource plans and performs other tasks related to the Database Resource ManagerIf a resource plan is not enabled, then this process is idle.Database instances
DBWnDatabase Writer ProcessWrites modified blocks from the database buffer cache to the data filesThe primary responsibility of the Database Writer Process is to write data blocks to disk. It also handles checkpoints, file open synchronization, and logging of Block Written records.In many cases the blocks that the Database Writer Process writes are scattered throughout the disk. Thus, the writes tend to be slower than the sequential writes performed by LGWR. The Database Writer Process performs multiblock writes when possible to improve efficiency. The number of blocks written in a multiblock write varies by operating system.TheDB_WRITER_PROCESSES initialization parameter specifies the number of Database Writer Processes. There can be 1 to 100 Database Writer Processes. The names of the first 36 Database Writer Processes are DBW0-DBW9 and DBWa-DBWz. The names of the 37th through 100th Database Writer Processes are BW36-BW99. The database selects an appropriate default setting for the DB_WRITER_PROCESSES parameter or adjusts a user-specified setting based on the number of CPUs and processor groups.Database instances
DIA0Diagnostic ProcessDetects and resolves hangs and deadlocksDatabase instances, Oracle ASM instances
DIAGDiagnostic Capture ProcessPerforms diagnostic dumpsDIAG performs diagnostic dumps requested by other processes and dumps triggered by process or instance termination. In Oracle RAC, DIAG performs global diagnostic dumps requested by remote instances.Database instances, Oracle ASM instances
DMnnData Pump Master ProcessCoordinates the Data Pump job tasks performed by Data Pump worker processes and handles client interactionsThe Data Pump master (control) process is started during job creation and coordinates all tasks performed by the Data Pump job. It handles all client interactions and communication, establishes all job contexts, and coordinates all worker process activities on behalf of the job.Database instances, Data Pump
DMONData Guard Broker Monitor ProcessManages and monitors a database that is part of a Data Guard broker configurationWhen you start the Data Guard broker, a DMON process is created. DMON runs for every database instance that is managed by the broker. DMON interacts with the local database and the DMON processes of the other databases to perform the requested function. DMON also monitors the health of the broker configuration and ensures that every database has a consistent description of the configuration.DMON maintains profiles about all database objects in the broker configuration in a binary configuration file. A copy of this file is maintained by the DMON process for each of the databases that belong to the broker configuration. The process is created when the DG_BROKER_START initialization parameter is set to true.Database instances, Data Guard
DnnnDispatcher ProcessPerforms network communication in the shared server architectureIn the shared server architecture, clients connect to a dispatcher process, which creates a virtual circuit for each connection. When the client sends data to the server, the dispatcher receives the data into the virtual circuit and places the active circuit on the common queue to be picked up by an idle shared server. The shared server then reads the data from the virtual circuit and performs the database work necessary to complete the request. When the shared server must send data to the client, the server writes the data back into the virtual circuit and the dispatcher sends the data to the client. After the shared server completes the client request, the server releases the virtual circuit back to the dispatcher and is free to handle other clients.Several initialization parameters relate to shared servers. The principal parameters are: DISPATCHERSSHARED_SERVERSMAX_SHARED_SERVERSLOCAL_LISTENERREMOTE_LISTENER.Database instances, shared servers
DSKMSlave Diskmon ProcessActs as the conduit between the database, Oracle ASM instances, and the Master Diskmon daemon to communicate information to Exadata storageThis process is active only if Exadata Storage is used. DSKM performs operations related to Exadata I/O fencing and Exadata cell failure handling.Oracle ASM instances, Exadata
DWnnData Pump Worker ProcessPerforms Data Pump tasks as assigned by the Data Pump master processThe Data Pump worker process is responsible for performing tasks that are assigned by the Data Pump master process, such as the loading and unloading of metadata and data.Database instances
EMNCEMON Coordinator ProcessCoordinates database event management and notificationsEMNC is a master background process that coordinates event management and notification activity in the database, including Streams Event Notifications, Continuous Query Notifications, and Fast Application Notifications.Database instances
EnnnEMON Slave ProcessPerforms database event management and notificationsThe database event management and notification load is distributed among the EMON slave processes. These processes work on the system notifications in parallel, offering a capability to process a larger volume of notifications, a faster response time, and a lower shared memory use for staging notifications.Database instances
FBDAFlashback Data Archiver ProcessArchives historical rows for tracked tables into flashback data archives and manages archive space, organization, and retentionWhen a transaction that modifies a tracked table commits, FBDA stores the pre-image of the rows in the archive. FDBA maintains metadata on the current rows and tracks how much data has been archived.FBDA is also responsible for automatically managing the flashback data archive for space, organization (partitioning tablespaces), and retention. FBDA also keeps track of how far the archiving of tracked transactions has progressed.Database instances
FENCFence Monitor ProcessProcesses fence requests for RDBMS instances which are using Oracle ASM instancesCSS monitors RDBMS instances which are connected to the Oracle ASM instance and constantly doing I/Os. When the RDBMS instance terminates due to a failure, all the outstanding I/O’s from the RDBMS instance should be drained and any new I/O’s rejected. FENC receives and processes the fence request from CSSD.Oracle ASM instances
FMONFile Mapping Monitor ProcessManages mapping information for the Oracle Database file mapping interfaceThe DBMS_STORAGE_MAP package enables you to control the mapping operations. When instructed by the user, FMON builds mapping information and stores it in the SGA, refreshes the information when a change occurs, saves the information to the data dictionary, and restores it to the SGA at instance startup.FMON is started by the database whenever theFILE_MAPPING initialization parameter is set to true.Database instances, Oracle ASM instances
FSFPData Guard Broker Fast Start Failover Pinger ProcessMaintains fast-start failover state between the primary and target standby databasesFSFP is created when fast-start failover is enabled.Database instances, Data Guard
GCRnGlobal Conflict Resolution Slave ProcessPerforms synchronous tasks on behalf of LMHBGCRn processes are transient slaves that are started and stopped as required by LMHB to perform synchronous or resource intensive tasks.Database instances, Oracle ASM instances, Oracle RAC
GEN0General Task Execution ProcessPerforms required tasks including SQL and DMLDatabase instances, Oracle ASM instances, Oracle ASM Proxy instances
GMONASM Disk Group Monitor ProcessMonitors all mounted Oracle ASM disk groupsGMON monitors all the disk groups mounted in an Oracle ASM instance and is responsible for maintaining consistent disk membership and status information. Membership changes result from adding and dropping disks, whereas disk status changes result from taking disks offline or bringing them online.Oracle ASM instances
GTXnGlobal Transaction ProcessProvides transparent support for XA global transactions in an Oracle RAC environmentThese processes help maintain the global information about XA global transactions throughout the cluster. Also, the processes help perform two-phase commit for global transactions anywhere in the cluster so that an Oracle RAC database behaves as a single system to the externally coordinated distributed transactions.The GLOBAL_TXN_PROCESSESinitialization parameter specifies the number of GTXn processes, where n is 0-9 or a-j. The database automatically tunes the number of these processes based on the workload of XA global transactions. You can disable these processes by setting the parameter to 0. If you try to run XA global transactions with these processes disabled, an error is returned.Database instances, Oracle RAC
InnnDisk and Tape I/O Slave ProcessServes as an I/O slave process spawned on behalf of DBWR, LGWR, or an RMAN backup sessionI/O slave process can be configured on platforms where asynchronous I/O support is not available. These slaves are started by setting the corresponding slave enable parameter in the server parameter file. The I/O slaves simulate the asynchronous I/O behavior when the underlying platform does not have native support for asynchronous I/O.Database instances
INSVData Guard Broker Instance Slave ProcessPerforms Data Guard broker communication among instances in an Oracle RAC environmentINSV is created when the DG_BROKER_START initialization parameter is set to true.Database instances, Data Guard
IPC0IPC Service Background ProcessCommon background server for basic messaging and RDMA primitives based on IPC (Inter-process communication) methods.IPC0 handles very high rates of incoming connect requests, as well as, completing reconfigurations to support basic messaging and RDMA primitives over several transports such as UDP, RDS, InfiniBand and RC.Oracle RAC
JnnnJob Queue Slave ProcessExecutes jobs assigned by the job coordinatorJob slave processes are created or awakened by the job coordinator when it is time for a job to be executed.Job slaves gather all the metadata required to run the job from the data dictionary. The slave processes start a database session as the owner of the job, execute triggers, and then execute the job. After the job is complete, the slave processes commit and then execute appropriate triggers and close the session. The slave can repeat this operation in case additional jobs need to be run.Database instances
LCKnLock ProcessManages global enqueue requests and cross-instance broadcastsThe process handles all requests for resources other than data blocks. For examples, LCKnmanages library and row cache requests. Possible processes are LCK0 and LCK1.Database instances, Oracle ASM instances, Oracle RAC
LDDnGlobal Enqueue Service Daemon Helper SlaveHelps the LMDnprocesses with various tasksLDDn processes are slave processes spawned on demand by LMDn processes. They are spawned to help the dedicated LMDn processes with various tasks when certain workloads start creating performance bottlenecks. These slave processes are transient as they are started on demand and they can be shutdown when no longer needed. There can be up to 36 of these slave processes (LDD0-LDDz).Database instances, Oracle ASM instances, Oracle RAC
LGnnLog Writer WorkerWrites redo logOn multiprocessor systems, LGWR creates worker processes to improve the performance of writing to the redo log. LGWR workers are not used when there is a SYNC standby destination. Possible processes include LG00-LG99.Database instances
LGWRLog Writer ProcessWrites redo entries to the online redo logRedo log entries are generated in the redo log buffer of the system global area (SGA). LGWR writes the redo log entries sequentially into a redo log file. If the database has a multiplexed redo log, then LGWR writes the redo log entries to a group of redo log files.Database instances, Oracle ASM instances
LMDnGlobal Enqueue Service Daemon ProcessManages incoming remote resource requests from other instancesLMDn processes enqueue resources managed under Global Enqueue Service. In particular, they process incoming enqueue request messages and control access to global enqueues. They also perform distributed deadlock detections. There can be up to 36 of these processes (LMD0-LMDz).Database instances, Oracle ASM instances, Oracle RAC
LMHBGlobal Cache/Enqueue Service Heartbeat MonitorMonitor the heartbeat of LMON, LMD, and LMSnprocessesLMHB monitors LMON, LMD, and LMSn processes to ensure they are running normally without blocking or spinning.Database instances, Oracle ASM instances, Oracle RAC
LMONGlobal Enqueue Service Monitor ProcessMonitors an Oracle RAC cluster to manage global resourcesLMON maintains instance membership within Oracle RAC. The process detects instance transitions and performs reconfiguration of GES and GCS resources.Database instances, Oracle ASM instances, Oracle RAC
LMSnGlobal Cache Service ProcessManages resources and provides resource control among Oracle RAC instancesLMS, where n is 0-9 or a-z, maintains a lock database for Global Cache Service (GCS) and buffer cache resources. This process receives, processes, and sends GCS requests, block transfers, and other GCS-related messages.Database instances, Oracle ASM instances, Oracle RAC
LREGListener Registration ProcessRegisters the instance with the listenersLREG notifies the listeners about instances, services, handlers, and endpoint.Database instances, Oracle ASM instances, Oracle RAC
LSP0Logical Standby Coordinator ProcessSchedules transactions for Data Guard SQL ApplyLSP0 is the initial process created upon startup of Data Guard SQL Apply. In addition to managing LogMiner and Apply processes, LSP0 is responsible for maintaining inter-transaction dependencies and appropriately scheduling transactions with applier processes. LSP0 is also responsible for detecting and enabling run-time parameter changes for the SQL Apply product as a whole.Database instances, Data Guard
LSP1Logical Standby Dictionary Build ProcessPerforms a logical standby dictionary build on a primary databaseThe LSP1 process is spawned on a logical standby database that is intended to become the new primary database. A logical standby database becomes a primary database because of switchover or failover. The dictionary is necessary for logical standby databases to interpret the redo of the new primary database.Database instances, Data Guard
LSP2Logical Standby Set Guard ProcessDetermines which database objects will be protected by the database guardThe LSP2 process is created as needed during startup of SQL Apply to update the list of objects that are protected by the database guard.Database instances, Data Guard
LnnnPooled Server ProcessHandles client requests in Database Resident Connection PoolingIn Database Resident Connection Pooling, clients connect to a connection broker process. When a connection becomes active, the connection broker hands off the connection to a compatible pooled server process. The pooled server process performs network communication directly on the client connection and processes requests until the client releases the server. After being released, the connection is returned to the broker for monitoring, leaving the server free to handle other clients.Database instances, Database Resident Connection Pooling
MARKMark AU for Resynchronization Coordinator ProcessMarks ASM allocation units as stale following a missed write to an offline diskMARK essentially tracks which extents require resynchronization for offline disks. This process runs in the database instance and is started when the database instance first begins using the Oracle ASM instance. If required, MARK can also be started on demand when disks go offline in the Oracle ASM redundancy disk group.Database instances, Oracle ASM instances
MMANMemory Manager ProcessServes as the instance memory managerThis process performs the resizing of memory components on the instance.Database instances, Oracle ASM instances
MMNLManageability Monitor Lite ProcessPerforms tasks relating to manageability, including active session history sampling and metrics computationMMNL performs many tasks relating to manageability, including session history capture and metrics computation.Database instances, Oracle ASM instances
MMONManageability Monitor ProcessPerforms or schedules many manageability tasksMMON performs many tasks related to manageability, including taking Automatic Workload Repository snapshots and performing Automatic Database Diagnostic Monitor analysis.Database instances, Oracle ASM instances
MnnnMMON Slave ProcessPerforms manageability tasks on behalf of MMONMnnn performs manageability tasks dispatched to them by MMON. Tasks performed include taking Automatic Workload Repository snapshots and Automatic Database Diagnostic Monitor analysis.Database instances, Oracle ASM instances
MRP0Managed Standby Recovery ProcessCoordinates the application of redo on a physical standby databaseMRP0 is spawned at the start of redo apply on a physical standby database. This process handles the extraction of redo and coordinates the application of that redo on a physical standby database.Database instances, Data Guard
MSnnLogMiner Worker ProcessReads redo log files and translates and assembles into transactionsMultiple MSnn processes can exists, where n is 0-9 or a-Z. A minimum of three MSnnprocesses work as a group to provide transactions to a LogMiner client, for example, a logical standby database or a database capture. There may be more than one such group, for example, multiple capture processes configured for either local or downstream capture in a database.Database instances, Logical Standby, Oracle Streams, XStream Outbound servers, Oracle GoldenGate
NnnnConnection Broker ProcessMonitors idle connections and hands off active connections in Database Resident Connection PoolingIn Database Resident Connection Pooling, clients connect to a connection broker process. When a connection becomes active, the connection broker hands off the connection to a compatible pooled server process. The pooled server process performs network communication directly on the client connection and processes requests until the client releases the server. After being released, the connection is returned to the broker for monitoring, leaving the server free to handle other clients.Database instances, Database Resident Connection Pooling
NSSnNetwork Server SYNC ProcessTransfers redo from current online redo logs to remote standby destinations configured for SYNC transportNSSn can run as multiple processes, where n is 1-9 or A.Database instances, Data Guard
NSVnData Guard Broker NetSlave ProcessPerforms broker network communications between databases in a Data Guard environmentNSVn is created when a Data Guard broker configuration is enabled. There can be as many NSVn processes (where n is 0- 9 and A-U) created as there are databases in the Data Guard broker configuration.Database instances, Data Guard
OCFnASM CF Connection Pool ProcessMaintains a connection to the Oracle ASM instance for metadata operationsDatabase instances, Oracle ASM instances
OFSDOracle File Server Background ProcessServes file system requests submitted to an Oracle instanceThis background process listens for new file system requests, both management (like mount, unmount, and export) and I/O requests, and executes them using Oracle threads.Database instances, Oracle RAC
OnnnASM Connection Pool ProcessMaintains a connection to the Oracle ASM instance for metadata operationsOnnn slave processes are spawned on demand. These processes communicate with the Oracle ASM instance.Database instances, Oracle ASM instances
PINGInterconnect Latency Measurement ProcessAssesses latencies associated with communications for each pair of cluster instancesEvery few seconds, the process in one instance sends messages to each instance. The message is received by PING on the target instance. The time for the round trip is measured and collected.Database instances, Oracle ASM instances, Oracle RAC
PMONProcess MonitorMonitors the other background processes and performs process recovery when a server or dispatcher process terminates abnormallyPMON periodically performs cleanup of all the following:
  • Processes that died abnormally
  • Sessions that were killed
  • Detached transactions that have exceeded their idle timeout
  • Detached network connections which have exceeded their idle timeout
In addition, PMON monitors, spawns, and stops the following as needed:
  • Dispatcher and shared server processes
  • Job queue processes
  • Pooled server processes for database resident connection pooling
  • Restartable background processes
Database instances, Oracle ASM instances, Oracle ASM Proxy instances
PnnnParallel Query Slave ProcessPerform parallel execution of a SQL statement (query, DML, or DDL)Parallel Query has two components: a foreground process that acts as query coordinator and a set of parallel slaves (Pnnn) that are background processes. These background processes are spawned or reused during the start of a parallel statement. They receive and perform units of work sent from the query coordinator.The maximum number of Pnnn processes is controlled by the initialization parameter PARALLEL_MAX_SERVERS. Slave processes are numbered from 0 to the PARALLEL_MAX_SERVERS setting. If the query is a GV$ query, then these background processes are numbered backward, starting from PZ99.Database instances, Oracle ASM instances
PRnnParallel Recovery ProcessPerforms tasks assigned by the coordinator process performing parallel recoveryPRnn serves as a slave process for the coordinator process performing parallel media recovery and carries out tasks assigned by the coordinator. The default number of these processes is based on number of CPUs.Database instances
PSP0Process Spawner ProcessSpawns Oracle background processes after initial instance startupDatabase instances, Oracle ASM instances
QMNCNon-sharded queue master processMonitors AQQMNC is the non-sharded queue master process responsible for facilitating various background activities required by AQ and Oracle Streams: time management of messages, management of nonpersistent queues, cleanup of resources, and so on. QMNC dynamically spawns Qnnn processes as needed for performing these tasks.Note that if the AQ_TM_PROCESSESinitialization parameter is set to 0, this process will not start. The database writes the following message to the alert log: WARNING: AQ_TM_PROCESSES is set to 0. System might be adversely affected.Database instances Advanced Queueing
QMnnAQ Master Class ProcessPer instance per AQ Master Class ProcessEach of this type of process represents a single class of work item such as AQ notification, queue monitors, and cross process.Database instances Advanced Queueing
QnnnAQ Server Class ProcessPer AQ Master Class server processEach server class process acts on behalf of an AQ master class process. This relationship is maintained until the master requires services of a particular service process. Once released, the server class processes are moved to a free server pool.Database instances Advanced Queueing
RBALASM Rebalance Master ProcessCoordinates rebalance activityIn an Oracle ASM instance, it coordinates rebalance activity for disk groups. In a database instances, it manages Oracle ASM disk groups.Database instances, Oracle ASM instances
RCBGResult Cache Background ProcessHandles result cache messagesThis process is used for handling invalidation and other messages generated by server processes attached to other instances in Oracle RAC.Database instances, Oracle RAC
RECORecoverer ProcessResolves distributed transactions that are pending because of a network or system failure in a distributed databaseRECO uses the information in the pending transaction table to finalize the status of in-doubt transactions. At timed intervals, the local RECO attempts to connect to remote databases and automatically complete the commit or rollback of the local portion of any pending distributed transactions. All transactions automatically resolved by RECO are removed from the pending transaction table.Database instances
RMRAT Masking Slave ProcessExtracts and masks bind values from workloads like SQL tuning sets and DB Replay capture filesThis background process is used with Data Masking and Real Application Testing.Database instances
RMONRolling Migration Monitor ProcessManages the rolling migration procedure for an Oracle ASM clusterThe RMON process is spawned on demand to run the protocol for transitioning an ASM cluster in and out of rolling migration mode.Oracle ASM instance, Oracle RAC
RMSnOracle RAC Management ProcessPerforms manageability tasks for Oracle RACRMSn performs a variety of tasks, including creating resources related to Oracle RAC when new instances are added to a cluster.Database instances, Oracle RAC
RnnnASM Block Remap Slave ProcessRemaps a block with a read errorA database instance reading from an Oracle ASM disk group can encounter an error during a read. If possible, Oracle ASM asynchronously schedules a Rnnn slave process to remap this bad block from a mirror copy.Oracle ASM instances
RPnnCapture Processing Worker ProcessProcesses a set of workload capture filesRPnn are worker processes spawned by callingDBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE(capture_dir,parallel_level). Each worker process is assigned a set of workload capture files to process.Worker processes execute in parallel without needing to communicate with each other. After each process is finished processing its assigned files, it exits and informs its parent process.The number of worker processes is controlled by the parallel_level parameter of DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE. By default,parallel_level is null. Then, the number of worker processes is computed as follows:
SELECT VALUE 
FROM   V$PARAMETER 
WHERE  NAME='cpu_count';
When parallel_level is 1, no worker processes are spawned.
Database instances
RPOPInstant Recovery Repopulation DaemonResponsible for re-creating and/or repopulating data files from snapshot files and backup filesThe RPOP process is responsible for re-creating and repopulating data files from snapshots files. It works with the instant recovery feature to ensure immediate data file access. The local instance has immediate access to the remote snapshot file’s data, while repopulation of the recovered primary data files happens concurrently. Any changes in the data are managed between the instance’s DBW processes and RPOP to ensure the latest copy of the data is returned to the user.Database instances
RSM0Data Guard Broker Worker ProcessPerforms monitoring management tasks related to Data Guard on behalf of DMONThe process is created when a Data Guard broker configuration is enabled.Database instances, Data Guard
RSMNRemote Slave Monitor ProcessManages background slave process creation and communication on remote instances in Oracle RACThis background process manages the creation of slave processes and the communication with their coordinators and peers. These background slave processes perform tasks on behalf of a coordinating process running in another cluster instance.Database instances, Oracle RAC
RVWRRecovery Writer ProcessWrites flashback data to the flashback logs in the fast recovery areaRVWR writes flashback data from the flashback buffer in the SGA to the flashback logs. RVWR also creates flashback logs and performs some tasks for flashback log automatic management.Database instances, Flashback Database
SAnnSGA AllocatorAllocates SGAA small fraction of SGA is allocated during instance startup. The SAnn process allocates the rest of SGA in small chunks. The process exits upon completion of SGA allocation.The possible processes are SA00 – SAzz.Database instances
SCCnASM Disk Scrubbing Slave Check ProcessPerforms Oracle ASM disk scrubbing check operationSCCn acts as a slave process for SCRB and performs the checking operations. The possible processes are SCC0-SCC9.Oracle ASM instances
SCRBASM Disk Scrubbing Master ProcessCoordinates Oracle ASM disk scrubbing operationsSCRB runs in an Oracle ASM instance and coordinates Oracle ASM disk scrubbing operations.Oracle ASM instances
SCRnASM Disk Scrubbing Slave Repair ProcessPerforms Oracle ASM disk scrubbing repair operationSCRn acts as a slave process for SCRB and performs the repairing operations. The possible processes are SCR0-SCR9.Oracle ASM instances
SCVnASM Disk Scrubbing Slave Verify ProcessPerforms Oracle ASM disk scrubbing verify operationSCVn acts as a slave process for SCRB and performs the verifying operations. The possible processes are SCV0-SCV9.Oracle ASM instances
SMCOSpace Management Coordinator ProcessCoordinates the execution of various space management tasksThis background process coordinates the execution of various space management tasks, including proactive space allocation and space reclamation. SMCO dynamically spawns slave processes (Wnnn) to implement these tasks.Database instances
SMONSystem Monitor ProcessPerforms critical tasks such as instance recovery and dead transaction recovery, and maintenance tasks such as temporary space reclamation, data dictionary cleanup, and undo tablespace managementSMON performs many database maintenance tasks, including the following:
  • Creates and manages the temporary tablespace metadata
  • Reclaims space used by orphaned temporary segments
  • Maintains the undo tablespace by onlining, offlining, and shrinking the undo segments based on undo space usage statistics
  • Cleans up the data dictionary when it is in a transient and inconsistent state
  • Maintains the SCN to time mapping table used to support Oracle Flashback features
In an Oracle RAC database, the SMON process of one instance can perform instance recovery for other instances that have failed.
SMON is resilient to internal and external errors raised during background activities.
Database instances
SnnnShared Server ProcessHandles client requests in the shared server architectureIn the shared server architecture, clients connect to a dispatcher process, which creates a virtual circuit for each connection. When the client sends data to the server, the dispatcher receives the data into the virtual circuit and places the active circuit on the common queue to be picked up by an idle shared server. The shared server then reads the data from the virtual circuit and performs the database work necessary to complete the request. When the shared server must send data to the client, the server writes the data back into the virtual circuit and the dispatcher sends the data to the client. After the shared server completes the client request, the server releases the virtual circuit back to the dispatcher and is free to handle other clients.Several initialization parameters relate to shared servers. The principal parameters are: DISPATCHERSSHARED_SERVERSMAX_SHARED_SERVERSLOCAL_LISTENERREMOTE_LISTENER.
TEMnASM disk Test Error Emulation ProcessEmulates I/O errors on Oracle ASM disks through named eventsI/O errors can be emulated on Oracle ASM disk I/O through named events. The scope can be the process, instance, or even cluster. Optionally, a set of AUs can be chosen for error emulation.Oracle ASM instances
TTnnRedo Transport Slave ProcessShips redo from current online and standby redo logs to remote standby destinations configured for ASYNC transportTTnn can run as multiple processes, where nn is 00 to ZZ.Database instances, Data Guard
VBGnVolume Background ProcessCommunicates between the Oracle ASM instance and the operating system volume driverVBGn handles messages originating from the volume driver in the operating system and sends them to the Oracle ASM instance.VBGn can run as multiple processes, where n is 0-9.Oracle ASM instances, Oracle ASM Proxy instances
VDBGVolume Driver ProcessForwards Oracle ASM requests to perform various volume-related tasksVDBG handles requests to lock or unlock an extent for rebalancing, volume resize, disk offline, add or drop a disk, force and dismount disk group to the Dynamic Volume Manager driver.Oracle ASM instances, Oracle ASM Proxy instances
VKRMVirtual Scheduler for Resource Manager ProcessServes as centralized scheduler for Resource Manager activityVKRM manages the CPU scheduling for all managed Oracle processes. The process schedules managed processes in accordance with an active resource plan.Database instances
VKTMVirtual Keeper of Time ProcessProvides a wall clock time and reference time for time interval measurementsVKTM 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. The VKTM timer service centralizes time tracking and offloads multiple timer calls from other clients.Database instances, Oracle ASM instances
VMB0Volume Membership ProcessMaintains cluster membership on behalf of the Oracle ASM volume driverThis process membership in the cluster as an I/O-capable client on behalf of the Oracle ASM volume driver.Oracle ASM instances, Oracle ASM Proxy instances
VUBGVolume drive Umbilicus BackgroundRelays messages between Oracle ASM instance and Oracle ASM Proxy instance that is used by ADVM (for ACFS)Oracle ASM instances, Oracle ASM Proxy instances
WnnnSpace Management Slave ProcessPerforms various background space management tasks, including proactive space allocation and space reclamationWnnn processes are slave processes dynamically spawned by SMCO to perform space management tasks in the background. These tasks include preallocating space into locally managed tablespace and SecureFiles segments based on space usage growth analysis, and reclaiming space from dropped segments. At most 10 Wnnn slaves can run on one database instance. After being started, the slave acts as an autonomous agent. After it finishes task execution, it automatically picks up another task from the queue. The process terminates itself after being idle for a long time.Database instances
XDMGExadata Automation ManagerInitiates automation tasks involved in managing Exadata storageXDMG monitors all configured Exadata cells for state changes, such as a bad disk getting replaced, and performs the required tasks for such events. Its primary tasks are to watch for inaccessible disks and cells and when they become accessible again, and to initiate the ASM ONLINE operation. The ONLINE operation is handled by XDWK.Oracle ASM instances, Exadata
XDWKExadata Automation ManagerPerforms automation tasks requested by XDMGXDWK gets started when asynchronous actions such as ONLINE, DROP, and ADD an Oracle ASM disk are requested by XDMG. After a 5 minute period of inactivity, this process will shut itself down.Oracle ASM instances, Exadata
XnnnASM Disk Expel Slave ProcessPerforms Oracle ASM post-rebalance activitiesThis process expels dropped disks after an Oracle ASM rebalance.Oracle ASM instances