The Checkpoint process (not surprisingly) controls database checkpoints. Every 3 seconds the Checkpoint process determines the earliest redo log entry for which changes have not been written to the database. This becomes the checkpoint, and it is recorded in the control file and in all the datafiles.
The following series of images illustrates this process:
ARCH |
(Optional) Archive process writes filled redo logs to the archive log location(s). In RAC, the various ARCH processes can be utilized to ensure that copies of the archived redo logs for each instance are available to the other instances in the RAC setup should they be needed for recovery. |
CJQ - Job Queue Process |
(CJQ) - Used for the job scheduler. The job scheduler includes a main program (the coordinator) and slave programs that the coordinator executes. The parameter job_queue_processes controls how many parallel job scheduler jobs can be executed at one time. |
CKPT: |
Checkpoint process writes checkpoint information to control files and data file headers |
CQJ0: |
Job queue controller process wakes up periodically and checks the job log. If a job is due, it spawns Jnnnn processes to handle jobs. |
DBWR: |
Database Writer or Dirty Buffer Writer process is responsible for writing dirty buffers from the database block cache to the database data files.
Generally, DBWR only writes blocks back to the data files on commit, or when the cache is full and space has to be made for more blocks. The possible multiple DBWR processes in RAC must be coordinated through the locking and global cache processes to ensure efficient processing is accomplished. |
FMON: |
The database communicates with the mapping libraries provided by storage vendors through an external non-Oracle Database process that is spawned by a background process called FMON. FMON is responsible for managing the mapping information. When you specify the FILE_MAPPING initialization parameter for mapping data files to physical devices on a storage subsystem, then the FMON process is spawned. |
LGWR: |
Log Writer process is responsible for writing the log buffers out to the redo logs. In RAC, each RAC instance has its own LGWR process that maintains that instance thread of redo logs. |
LMON: |
Lock Manager process |
MMON: |
The Oracle 10g background process to collect statistics for the Automatic Workload Repository (AWR). |
MMNL: |
This process performs frequent and lightweight manageability-related tasks, such as session history capture and metrics computation. |
MMAN: |
is used for internal database tasks that manage the automatic shared memory. MMAN serves as the SGA Memory Broker and coordinates the sizing of the memory components. |
PMON: |
Process Monitor process recovers failed process resources. If MTS (also called Shared Server Architecture) is being utilized,
PMON monitors and restarts any failed dispatcher or server processes. In RAC, PMON role as service registration agent is particularly important. |
Pnnn: |
(Optional) Parallel Query Slaves are started and stopped as needed to participate in parallel query operations. |
RBAL: |
This process coordinates rebalance activity for disk groups in an Automatic Storage Management instance. |
SMON: |
System Monitor process recovers after instance failure and monitors temporary segments and extents. SMON in a non-failed instance can also perform failed instance recovery for other failed RAC instance. |
WMON: |
The "wakeup" monitor process |