Introduction to various background processes in oracle background processes are used to execute the actual maintenance tasks required to ensure database operation. For example, a background process maintains the buffer cache and writes blocks to data files as needed. another process is responsible for copying the online redo log file to an archive object when it is full. you can view the current background process [SQL] SQL> select paddr, name, description from v $ bgprocess where paddr in the v $ bgprocess view! = '00 '; paddr name description ---------------- ----- zookeeper PMON process cleanup extends VKTM Virtual Keeper of TiMe process limit GEN0 generic0 limit DIAG diagnosibility process limit DBRM DataBase Resource Manager limit 0001eb1_7a0 VKRM Virtual sKeduler for Resource Manager 00000001 F02683C8 PSP0 process spawner 0 release DIA0 diagnosibility process 0 release MMAN Memory Manager mongodbw0 db writer process 0 release DBW1 db writer process 1 release ARC0 Archival Process 0 release ARC1 Archival Process 1 release ARC2 Archival Process 2 100000001eb200ea0 ARC3 Archival Process 3 100000001f026b548 LGWR Redo etc. 0000 Export CKPT checkpoint into SMON System Monitor Process into SMCO Space Manager Process into RECO distributed recovery paddr name description -------------- ----- submit your CJQ0 Job Queue Coordinator into qmnc aq Coordinator into MMON Manageability Monitor Pro Cess availability 0001eb1faba0 MMNL Manageability Monitor Process 2 depending on the version, the number, name, type, and other background processes may be different. central background process: PMON (process monitor): cleans up the connection after an exception is aborted. PMON will also register communications with the oracle TNS Listener and pass relevant parameters to it. SMON (system monitor): completes all system-level tasks. this includes clearing the temporary space, merging the free space, and recovering the transaction for the original unavailable files. Execute the instance recovery for the failed node in RAC to clear the OBJ $, shrink rollback segments and 'offline' rollback segments. RECO (distributed database recovery): Based on the 2 PC distributed protocol, multiple modifications are allowed for atomic commit, but errors such as network failure occur before the actual commit, transaction becomes a suspicious distributed transaction. in this case, RECO is required to contact the Transaction Coordinator to discover the coordination results. Before that, the transaction will remain uncommitted. after the network is restored or the error is rectified, the RECO may commit a transaction or roll back the transaction. note: Suspicious distributed transactions may cause write blocking, that is, the suspicious distributed transaction cannot exist for too long, and the DBA can manually submit or roll back the transaction. CKPT (Checkpoint Process): creating a checkpoint is mainly a task of DBWn. CKPT is mainly used to update the file header of a data file, so as to assist the process of creating a Check Point. DBWn (Database block writer): the background process that writes dirty blocks (modified blocks) to the disk. It writes dirty blocks in the buffer cache and releases the corresponding space. you can configure multiple DBWn (with two DBW0 and DBW1 on top). The best case is that DBWn writes blocks to disks using asynchronous I/O. when asynchronous I/O is used, DBWn collects the blocks to be written, submits them to the operating system, returns them immediately, and collects the next batch of blocks to be written. After the operating system completes the file write operation, it notifies DBWn asynchronously. LGWR (log writer): refresh and output the content in the SGA to the disk. generally, in the following situations R will execute the refresh operation: 1. it is automatically refreshed every 3 seconds. 2. when any transaction sends a commit 3. when the redo log buffer is 1/3 full or contains 1 MB of buffered data. ARCn (archiving process): When LGWR fully writes online redo logs, the archiving process copies the logs to another location. ARCn generally copies online redo logs to at least two locations. it is generally used to recover the database when the hard disk or other media is damaged. DIAG (diagnostic process): it monitors the overall status of an instance, captures and records the information required to handle instance failures. FBDA (flash back data archiving process): this process is a new process in oracle 11g r1. it is mainly used to flash back data. It mainly maintains changes made to each row in the table over time, and implements historical data query. it reads the UNDO generated by the transaction, rolls back the changes made by the transaction, and then stores the rollback Row Records in the flashback data archive. DBRM (Database Resource Manager Process): Configure resource plans for database instances. GEN0 (general task execution process): Mainly shares the blocking processing of another process. Optional background process: ASMB (Automatic Storage Management Background): This process appears in the ASM database instance. it communicates with the management and storage ASM instance, provides updated statistics to the ASM instance, and provides a "Heartbeat" to the ASM instance ". RBAL (rebalancing process): this process is also running in the database instance that uses ASM. When a disk is added to or removed from the ASM disk group, it is responsible for processing the balance request, that is, re-distributing load requests. RAC background process: LMON (Lock monitor): monitors all instances in the cluster and checks whether the instance has failed. re-configure the lock and other resources when the instance leaves or rejoins the cluster. LMD (lock manager daemon): it processes lock manager service requests for global cache services (keeping block buffers consistent among instances. LMSn (Lock Manager server process): mainly maintains the consistency of the SGA block buffer cache among each RAC instance. LOCK process: similar to LMD, But it processes all global resource requests. tool background processes CJQO and Jnnn: oracle provides the replication feature through a database object called snapshot. Job Queue is the internal mechanism used to refresh snapshots. QMNC and Qnnn (Advanced queue process): QMNC monitors advanced queues. and tell the "out-of-the-queue process" to delete the waiting message from the queue: a message has become available. they are also responsible for queue propagation. EMNC (event monitor process): it is part of the AQ architecture and is used to notify queues interested in certain messages. DMnn and DWnn (Data Pump main process/Working Process): Data Pump is a new feature in oracle 10g r1, mainly used to replace EXP/IMP. Other background processes PSPO (Process Generator process): it is mainly responsible for generating various background processes. VKTM (virtual time manager process): implements a consistent and fine-grained clock for oracle instances. SMCO (space management coordinator process): Coordinates active space management of databases.