There are server and background processes.
background processes
Here's a list of background processes:
- SMON
The System Monitor carries out a crash recovery
when a crashed insance is started up again. It also
cleans temporary segments.
- PMON
The Process Monitor checks if a user process fails and if so, does all cleaning up of resources that the user
process has aquired.
- DBWR
The Database Writer writes dirty blocks from the database buffer to the datafiles. How many DBWn Processes
are started is determined by the initialization parameter DB_WRITER_PROCESSES . DBWR also writes the actual SCN
with the Block.
- LGWR
The Log Writer writes the
redo log buffer from the
SGA to the online redo log file.
- MMAN
The memory manager
- MRP
Managed recovery process: the process that applies archived redo log to the standby database.
- RFS
The remote file server process on the standby database receives archived redo logs
from the primary database.
- RECO
The Distributed Transaction Recovery Process finds pending (distributed) transaction and resolves them.
- CKPT
The Checkpoint Process reqularly initiates a checkpoint which uses DBWR to write all dirty blocks
back to the datafiles, thus synchronizing the database. Since a Checkpoint records the current SCN, in a
recovery only redo records with a SCN higher than that of the last checkpoint need to be applied.
- ARCH
The Archiver Process archives
redo log files if ARCHIVELOG is enabled.
- Dnnn
The Dispatcher Process is used in a shared server environment.
- Snnn
The Shared Server Process is used in a shared server environment.
- LMON
The lock manager.
- LMD0
- QMNn
AQ Time Manager
- TRWR
Trace writer
- WMON
The wakeup monitor process.
- LCKnnn
Inter-instance locking process.
- SNPnnn
The snapshot process.
- MMON
New background process in Oracle 10g.
- DMON
The Data Guard Broker process.
- SNP
The snapshot process.
Background processes have v$session.type = ' BACKGROUND'
Showing the processes
On Unix, the Oracle Processes can be listed with something like
Foreground processes
While background processes do the work for Oracle itself, foreground processes do the work for clients (such as SQL statements).
Foreground processes are created by the listener.
Foreground processes have v$session.type = ' USER'
Coordinating the processes' work
Oracle uses semaphores to coordinate the work for the processes.
|