An Oracle instance consists of two parts: the SGA and a set of background processes . Background processes perform the actual maintenance tasks required to keep the database running. For example, there is a process that maintains the block buffer cache for us, writes out blocks to data files as needed, etc. Each process is dedicated to its own task, but works in conjunction with all other processes. For example, when the process responsible for writing a log file fills up one log and then moves on to the next, it notifies the process responsible for archiving the full log file that it has work to do.
You can use a V$ view to see all possible Oracle daemons and determine which ones are in use on your system:
scott@ORCL>select paddr, name, description 2 from v$bgprocess 3 order by paddr desc 4 / PADDR NAME DESCRIPTION ------- 000007FF634DF010 CJQ0 Job Queue Coordinator 000007FF634DDFA0 QMNC AQ Coordinator 000007FF634DAE50 SMCO Space Manager Process 000007FF634D9DE0 VKRM Virtual Scheduler for Resource Manager 000007FF634D5C20 MMNL Manageability Monitor Process 2 000007FF634D4BB0 MMON Manageability Monitor Process 000007FF634D3B40 RECO distributed recovery 000007FF634D2AD0 SMON System Monitor Process 000007FF634D1A60 CKPT checkpoint 000007FF634D09F0 LGWR Redo etc. 000007FF634CF980 DBW0 db writer process 0 000007FF634CE910 MMAN Memory Manager 000007FF634CD8A0 DIA0 diagnosibility process 0 000007FF634CC830 PSP0 process spawner 0 000007FF634CB7C0 DBRM DataBase Resource Manager 000007FF634CA750 DIAG diagnosibility process 000007FF634C96E0 GEN0 generic0 000007FF634C8670 VKTM Virtual Keeper of TiMe process 000007FF634C7600 PMON process cleanup 00 RSMN Remote Slave Monitor 00 PING interconnect latency measurement 00 FMON File Mapping Monitor Process 00 ACMS Atomic Controlfile to Memory Server 00 DSKM slave DiSKMon process 00 DIA1 diagnosibility process 1 00 DIA2 diagnosibility process 2 00 DIA3 diagnosibility process 3 00 DIA4 diagnosibility process 4 00 DIA5 diagnosibility process 5 00 DIA6 diagnosibility process 6 00 DIA7 diagnosibility process 7 00 DIA8 diagnosibility process 8 00 DIA9 diagnosibility process 9 00 LMON global enqueue service monitor 00 LMD0 global enqueue service daemon 0 00 LMS0 global cache service process 0 00 LMS1 global cache service process 1 00 LMS2 global cache service process 2 00 LMS3 global cache service process 3 00 LMS4 global cache service process 4 00 LMS5 global cache service process 5 00 LMS6 global cache service process 6 00 LMS7 global cache service process 7 00 LMS8 global cache service process 8 00 LMS9 global cache service process 9 00 LMSa global cache service process 10 00 LMSb global cache service process 11 00 LMSc global cache service process 12 00 LMSd global cache service process 13 00 LMSe global cache service process 14 00 LMSf global cache service process 15 00 LMSg global cache service process 16 00 LMSh global cache service process 17 00 LMSi global cache service process 18 00 LMSj global cache service process 19 00 LMSk global cache service process 20 00 LMSl global cache service process 21 00 LMSm global cache service process 22 00 LMSn global cache service process 23 00 LMSo global cache service process 24 00 LMSp global cache service process 25 00 LMSq global cache service process 26 00 LMSr global cache service process 27 00 LMSs global cache service process 28 00 LMSt global cache service process 29 00 LMSu global cache service process 30 00 LMSv global cache service process 31 00 LMSw global cache service process 32 00 LMSx global cache service process 33 00 LMSy global cache service process 34 00 RMS0 rac management server 00 LMHB lm heartbeat monitor 00 DBW1 db writer process 1 00 DBW2 db writer process 2 00 DBW3 db writer process 3 00 DBW4 db writer process 4 00 DBW5 db writer process 5 00 DBW6 db writer process 6 00 DBW7 db writer process 7 00 DBW8 db writer process 8 00 DBW9 db writer process 9 00 DBWa db writer process 10 (a) 00 DBWb db writer process 11 (b) 00 DBWc db writer process 12 (c) 00 DBWd db writer process 13 (d) 00 DBWe db writer process 14 (e) 00 DBWf db writer process 15 (f) 00 DBWg db writer process 16 (g) 00 DBWh db writer process 17 (h) 00 DBWi db writer process 18 (i) 00 DBWj db writer process 19 (j) 00 DBWk db writer process 20 (k) 00 DBWl db writer process 21 (l) 00 DBWm db writer process 22 (m) 00 DBWn db writer process 23 (n) 00 DBWo db writer process 24 (o) 00 DBWp db writer process 25 (p) 00 DBWq db writer process 26 (q) 00 DBWr db writer process 27 (r) 00 DBWs db writer process 28 (s) 00 DBWt db writer process 29 (t) 00 DBWu db writer process 30 (u) 00 DBWv db writer process 31 (v) 00 DBWw db writer process 32 (s) 00 DBWx db writer process 33 (t) 00 DBWy db writer process 34 (u) 00 DBWz db writer process 35 (v) 00 MRP0 Managed Standby Recovery 00 ARC0 Archival Process 0 00 ARC1 Archival Process 1 00 ARC2 Archival Process 2 00 ARC3 Archival Process 3 00 ARC4 Archival Process 4 00 ARC5 Archival Process 5 00 ARC6 Archival Process 6 00 ARC7 Archival Process 7 00 ARC8 Archival Process 8 00 ARC9 Archival Process 9 00 ARCa Archival Process 10 00 ARCb Archival Process 11 00 ARCc Archival Process 12 00 ARCd Archival Process 13 00 ARCe Archival Process 14 00 ARCf Archival Process 15 00 ARCg Archival Process 16 00 ARCh Archival Process 17 00 ARCi Archival Process 18 00 ARCj Archival Process 19 00 ARCk Archival Process 20 00 ARCl Archival Process 21 00 ARCm Archival Process 22 00 ARCn Archival Process 23 00 ARCo Archival Process 24 00 ARCp Archival Process 25 00 ARCq Archival Process 26 00 ARCr Archival Process 27 00 ARCs Archival Process 28 00 ARCt Archival Process 29 00 NSA1 Redo transport NSA1 00 NSS1 Ready transport NSS1 00 NSA2 Redo transport NSA2 00 NSS2 Redo transport NSS2 00 NSA3 Redo transport NSA3 00 NSS3 Redo transport NSS3 00 NSA4 Redo transport NSA4 00 NSS4 Redo transport NSS4 00 NSA5 Redo transport NSA5 00 NSS5 Redo transport NSS5 00 NSA6 Redo transport NSA6 00 NSS6 Redo transport NSS6 00 NSA7 Redo transport NSA7 00 NSS7 Redo transport NSS7 00 NSA8 Redo transport NSA8 00 NSS8 Redo transport NSS8 00 NSA9 Redo transport NSA9 00 NSS9 Redo transport NSS9 00 NSAA Redo transport NSAA 00 NSSA Redo transport NSSA 00 NSAB Redo transport NSAB 00 NSSB Redo transport NSSB 00 NSAC Redo transport NSAC 00 NSSC Redo transport NSSC 00 NSAD Redo transport NSAD 00 NSSD Redo transport NSSD 00 NSAE Redo transport NSAE 00 NSSE Redo transport NSSE 00 NSAF Redo transport NSAF 00 NSSF Redo transport NSSF 00 NSAG Redo transport NSAG 00 NSSG Redo transport NSSG 00 NSAH Redo transport NSAH 00 NSSH Redo transport NSSH 00 NSAI Redo transport NSAI 00 NSSI Redo transport NSSI 00 NSAJ Redo transport NSAJ 00 NSSJ Redo transport NSSJ 00 NSAK Redo transport NSAK 00 NSSK Redo transport NSSK 00 NSAL Redo transport NSAL 00 NSSL Redo transport NSSL 00 NSAM Redo transport NSAM 00 NSSM Redo transport NSSM 00 NSAN Redo transport NSAN 00 NSSN Redo transport NSSN 00 NSAO Redo transport NSAO 00 NSSO Redo transport NSSO 00 NSAP Redo transport NSAP 00 NSSP Redo transport NSSP 00 NSAQ Redo transport NSAQ 00 NSSQ Redo transport NSSQ 00 NSAR Redo transport NSAR 00 NSSR Redo transport NSSR 00 NSAS Redo transport NSAS 00 NSSS Redo transport NSSS 00 NSAT Redo transport NSAT 00 NSST Redo transport NSST 00 NSAU Redo transport NSAU 00 NSSU Redo transport NSSU 00 NSAV Redo transport NSAV 00 NSSV Redo transport NSSV 00 LCK0 Lock Process 0 00 ABMR Auto BMR Background Process 00 LSP1 Dictionary build process for Logical Standby 00 LSP0 Logical Standby 00 LSP2 Set Guard Standby Information for Logical Standby 00 CTWR Change Tracking Writer 00 RVWR Recovery Writer 00 FBDA Flashback Data Archiver Process 00 GTX0 Global Txn process 0 00 GTX1 Global Txn process 1 00 GTX2 Global Txn process 2 00 GTX3 Global Txn process 3 00 GTX4 Global Txn process 4 00 GTX5 Global Txn process 5 00 GTX6 Global Txn process 6 00 GTX7 Global Txn process 7 00 GTX8 Global Txn process 8 00 GTX9 Global Txn process 9 00 GTXa Global Txn process 10 00 GTXb Global Txn process 11 00 GTXc Global Txn process 12 00 GTXd Global Txn process 13 00 GTXe Global Txn process 14 00 GTXf Global Txn process 15 00 GTXg Global Txn process 16 00 GTXh Global Txn process 17 00 GTXi Global Txn process 18 00 GTXj Global Txn process 19 00 RCBG Result Cache: Background 00 EMNC EMON Coordinator 00 DMON DG Broker Monitor Process 00 RSM0 Data Guard Broker Resource Guard Process 0 00 NSV0 Data Guard Broker NetSlave Process 0 00 NSV1 Data Guard Broker NetSlave Process 1 00 NSV2 Data Guard Broker NetSlave Process 2 00 NSV3 Data Guard Broker NetSlave Process 3 00 NSV4 Data Guard Broker NetSlave Process 4 00 NSV5 Data Guard Broker NetSlave Process 5 00 NSV6 Data Guard Broker NetSlave Process 6 00 NSV7 Data Guard Broker NetSlave Process 7 00 NSV8 Data Guard Broker NetSlave Process 8 00 NSV9 Data Guard Broker NetSlave Process 9 00 NSVA Data Guard Broker NetSlave Process A 00 NSVB Data Guard Broker NetSlave Process B 00 NSVC Data Guard Broker NetSlave Process C 00 NSVD Data Guard Broker NetSlave Process D 00 NSVE Data Guard Broker NetSlave Process E 00 NSVF Data Guard Broker NetSlave Process F 00 NSVG Data Guard Broker NetSlave Process G 00 NSVH Data Guard Broker NetSlave Process H 00 NSVI Data Guard Broker NetSlave Process I 00 NSVJ Data Guard Broker NetSlave Process J 00 NSVK Data Guard Broker NetSlave Process K 00 NSVL Data Guard Broker NetSlave Process L 00 NSVM Data Guard Broker NetSlave Process M 00 NSVN Data Guard Broker NetSlave Process N 00 NSVO Data Guard Broker NetSlave Process O 00 NSVP Data Guard Broker NetSlave Process P 00 NSVQ Data Guard Broker NetSlave Process Q 00 NSVR Data Guard Broker NetSlave Process R 00 NSVS Data Guard Broker NetSlave Process S 00 NSVT Data Guard Broker NetSlave Process T 00 NSVU Data Guard Broker NetSlave Process U 00 INSV Data Guard Broker INstance SlaVe Process 00 FSFP Data Guard Broker FSFO Pinger 00 RBAL ASM Rebalance master 00 ARB0 ASM Rebalance 0 00 ARB1 ASM Rebalance 1 00 ARB2 ASM Rebalance 2 00 ARB3 ASM Rebalance 3 00 ARB4 ASM Rebalance 4 00 ARB5 ASM Rebalance 5 00 ARB6 ASM Rebalance 6 00 ARB7 ASM Rebalance 7 00 ARB8 ASM Rebalance 8 00 ARB9 ASM Rebalance 9 00 OR ASM Rebalance 10 00 ASMB ASM Background 00 MARK mark AU for resync koordinator 00 GMON diskgroup monitor 00 VBG0 Volume BG 0 00 VBG1 Volume BG 1 00 VBG2 Volume BG 2 00 VBG3 Volume BG 3 00 VBG4 Volume BG 4 00 VBG5 Volume BG 5 00 VBG6 Volume BG 6 00 VBG7 Volume BG 7 00 VBG8 Volume BG 8 00 VBG9 Volume BG 9 00 VDBG Volume Driver BG 00 VMB0 Volume Membership 0 00 ACFS ACFS CSS 00 XDMG cell automation manager 00 XDWK cell automation worker actions 295 rows have been selected.
The rows with PADDR other than 00 in this view are all processes that are configured and running on the system.
central background process
You might not see all the processes when you start the instance, but some of the main ones are definitely there. If in ARCHIVELOG mode, you may only see ARCn (archiver process), with automatic archiving enabled. If running Oracle RAC, an Oracle configuration that allows multiple instances on different machines in a cluster to mount and open the same physical database, only LMD0, LCKn, LMON, and LMSn will be seen.
1. PMON: Process Monitor
Responsible for cleaning up after an aborted connection . For example, if a dedicated server "fails" or is taken down for some reason, it is up to the PMON process to correct (recover or undo work) and free up resources. PMON rolls back uncommitted work and releases SGA resources allocated for failed processes .
Also responsible for monitoring other Oracle background processes and restarting them when necessary (if possible) . If one shared server or scheduler fails (crash), PMON steps in and restarts the other shared server or scheduler (after cleaning up the failed process). PMON looks at all Oracle processes and may restart them or terminate the instance appropriately. For example, if the database log writer process (LGWR) fails, it is better to fail the instance. This is a serious error and the safest thing to do is to immediately terminate the instance and correct the data based on a normal recovery (note, this is a rare case, report it to Oracle Support immediately).
One more thing will be done for the instance: register the instance with the Oracle TNS listener . When an instance starts, the PMON process asks for a well-known port address (unless specified directly) to see if a listener is up and running. The recognized/default port used by Oracle is 1521. What if the listener is started on some other port at this time? In this case, the principle is the same, except that the LOCAL_LISTENER parameter needs to be set to explicitly specify the listener address. If a listener is running when the database instance starts, PMON will communicate with the listener and pass relevant parameters to it, such as the service name and the instance's load metric. If the listener is not started, PMON will periodically try to contact it to register the instance.
2. SMON: System Monitor
The SMON process performs all "system-level" tasks . While PMON is interested in individual processes, SMON starts at the system level, a kind of database "garbage collector". The work done by SMON includes: