RelationalDBDesign RelationalDBDesign


Instance Architecture   «Prev 

Checkpoint process (CKPT)

You can see the Oracle background processes with this query:
select *  
from
   v$session
where
   type ='BACKGROUND';
Here are some of the most important Oracle background processes:
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

As changes are made to the database, they are quickly recorded in the redo log, but are not immediately written out to the datafiles.

We have three redo log entries. They are all shown in blue, because DBWR has not yet written any of the changes to the datafiles.

The database writer will write out some changes. Here, the changes for entires 1 and 2 have been written to the datafiles.

A checkpoint is recorded every three seconds. Here the checkpoint is redo log entry 3, because all prior changes have been written.

This process continues. More redo records are written.

More changes are written to the datafiles.

The checkpoint is advanced.