Background processes are used to perform the actual maintenance tasks required to keep the database running. For example, a background process maintains the buffer cache and writes the block out to the data file as needed.
Another process is responsible for copying the online redo log file to an archive target when it is full.
You can see the server's current background process by querying the v$bgprocess view
Sql> Select Paddr,name,description from v$bgprocess where paddr!= ' 00 ';
Paddr NAME DESCRIPTION
---------------- ----- ----------------------------------------------------------------
00000001eb1f5920 Pmon Process Cleanup
00000001ec226b30 Vktm Virtual Keeper of time process
00000001EB1F69A0 GEN0 Generic0
00000001f0269448 DIAG diagnosibility Process
00000001ec227bb0 dbrm DataBase Resource Manager
00000001eb2137a0 vkrm Virtual skeduler for Resource Manager
00000001F02683C8 PSP0 Process Spawner 0
00000001EB1F7A20 DIA0 diagnosibility Process 0
00000001f026a4c8 Mman Memory Manager
00000001EC228C30 DBW0 db writer Process 0
00000001EB1F8AA0 DBW1 db Writer Process 1
00000001eb1ffe20 ARC0 Archival Process 0
00000001f02728c8 ARC1 Archival Process 1
00000001ec231030 ARC2 Archival Process 2
00000001eb200ea0 ARC3 Archival Process 3
00000001f026b548 LGWR Redo etc.
00000001ec229cb0 CKPT Checkpoint
00000001eb1f9b20 Smon System Monitor Process
00000001EB1FCCA0 SMCO Space Manager Process
00000001F026C5C8 reco Distributed Recovery
Paddr NAME DESCRIPTION
---------------- ----- ----------------------------------------------------------------
00000001eb201f20 CJQ0 Job Queue Coordinator
00000001f0273948 QMNC AQ Coordinator
00000001ec22ad30 Mmon Manageability Monitor Process
00000001EB1FABA0 MMNL Manageability Monitor Process 2
Depending on the version, the number of background processes, names, types, and so on can be different.
Center Background process:
Pmon (Process Monitor): Responsible for cleaning up after a connection with an exception abort. Pmon also registers the communication with the Oracle TNS Listener, passing related parameters to it.
Smon (System Monitor): Complete all system-level tasks. Include the following:
Cleans up temporary space, merges free space, recovers active transactions against previously unavailable files, performs instance recovery of failed nodes in RAC, cleans obj$, shrinks rollback segments, and rolls back segments ' offline '.
RECO (Distributed Database Recovery): Based on the 2PC distributed protocol, allows several different modifications to implement the atomic commit, but before the actual submission, there are errors such as network failure, the transaction becomes a suspicious distributed transaction. At this point
Reco is required to contact the transaction Coordinator to find the results of the coordination. Transactions remain uncommitted until this time. When the network is restored or the error is resolved, Reco may commit the transaction or rollback the transaction.
Note: A suspicious distributed transaction can cause a write blocking read that a suspect distributed transaction cannot exist for too long and that the DBA can manually commit or rollback itself.
CKPT (Checkpoint process): Setting up checkpoints is primarily a dbwn task. CKPT is primarily a file header that updates the data file to assist in the process of creating checkpoints.
Dbwn (Database block writer): A background process that writes a dirty block (modified block) to a disk, which writes out a dirty chunk of the buffer cache and frees up the appropriate space. Multiple DBWN can be configured (there are 2 DBW0 and DBW1 above),
At best, DBWN uses asynchronous I/O to write blocks to disk. The asynchronous I/O,DBWN collects the blocks to be written to the operating system, then returns immediately and collects the next batch of blocks to be written, which notifies the dbwn asynchronously after the operating system completes the write file operation.
LGWR (log writer): It is responsible for refreshing the contents of the Redo log buffers in the SGA to disk. Generally in the following situations, LGWR will perform a refresh operation:
1. Automatically refresh every 3 seconds
2. When a submission is made by any transaction
3. Redo Log buffer 1/3 full, or contain 1MB buffer data.
ARCn (archive process): When LGWR writes the online redo log full, the archive process copies it to another location. ARCN typically copies the online redo log to at least two locations. Generally used for hard disk and other media damage when the database recovery.
DIAG (Diagnostic process): it is responsible for monitoring the overall status of the instance, capturing the information needed to handle the instance failure, and logging.
FBDA (flash back Data archiving process): This process adds a new process to the Oracle 11g R1 version. Primarily for flashback data, it primarily maintains changes to each row of the table over time, and implements historical data queries. It reads the undo generated by the transaction and rolls back the changes made by the transaction, The rollback row records are then saved in the flash-back data archive.
DBRM (Database Resource Manager process): Configures a resource plan for a database instance.
GEN0 (common task execution process): The main purpose is to share the blocking processing of another process.
Optional background process:
ASMB (Automated storage Management background): This process appears in the ASM database instance. It is responsible for managing the ASM instance of storage, providing updated statistics to the ASM instance, and providing a "heartbeat" to the ASM instance.
Rbal (Rebalancing process): The process is also running in a database instance that uses ASM, which is responsible for balancing requests when adding or removing disks to the ASM Disk group, which is redistribution of the load request.
RAC Environment Background process:
Lmon (Lock Monitor): Monitors all instances in the cluster and detects if the instance has failed. Reconfigure locks and other resources when the instance leaves or rejoin the cluster.
LMD (lock Manager Daemon): It handles the lock Manager service request for the Global caching service (keeping block buffers consistent between instances).
LMSN (lock Manager server process): main Maintenance the SGA block buffer cache is consistent among each RAC instance.
Lock (Lock process): Similar to LMD, but it handles requests for all global resources.
Tools Background Process
Cjqo and jnnn (Job queue process): Oracle provides replication attributes through a database object called snapshots, which is the internal mechanism used when refreshing snapshots.
QMNC and qnnn (Advanced queue process): QMNC monitors advanced queues. And tells the "outbound process" from the queue to remove the wait message: There is already a message available. They are also responsible for queue propagation.
EMNC (Event Monitor process): It is part of the AQ architecture for notifying queues that are of interest to some messages.
Dmnn and DWNN (data pump main process/worker process): The data pump is a new feature in Oracle 10g R1, and is mainly used to replace Exp/imp.
Other background processes
PSPO (Process builder process): It is primarily responsible for generating individual background processes.
Vktm (Virtual Time manager Process): Implements a consistent, fine-grained clock for Oracle instances.
SMCO (Space management Coordinator process): Coordinate the active space management of the database.