The background processes of the Oracle instancemanage memory structures, asynchronously perform I/O to write data to afile on a disk, and perform general maintenance tasks. The background processes consolidate functions that would otherwise be handled by multiple Oracle Database programs running for each user process. They monitor other Oracle Database processes to provide increased parallelismfor better performance and> The background processes that are present depend on the features thatare being used in the database. Some fundamental background processes are described in Table 5-1.
Table 5-1 Oracle Database Background Processes
Background ProcessDescription Database writer (DBWn)
The database writer writes modified blocks from the database buffer cache to the files on a disk. Oracle Database allows a maximum of 36 database writer processes.
Log writer (LGWR)
The log writer process writes redo log entries to disk. Redo log entries are generated in the redo log buffer of the System Global Area (SGA) and the log writer process writes the redo log entries sequentially into an online redo log file.
Checkpoint (CKPT)
At specific times, all modified database buffers in the SGA are written to the data files by a database writer process (DBWn). This event is called a checkpoint. The checkpoint process signals DBWn, updates the data files and control files of the database, and records the time of this update.
System monitor (SMON)
The system monitor performs instance recovery when a failed instance is restarted.
Process monitor (PMON)
The process monitor performs a recovery when a user process fails. Itcleans up the cache and frees resources that the failed process was using.
Archiver (ARCn)
Archiver processes copy the online redo log files to archival storagewhen the log files are full or a log switch occurs. The database must be in archive log mode to run archive processes. For more information, see Chapter 9, "Performing Backup and Recovery".
Manageability monitor (MMON)
This process performs various management-related background tasks, for example:
Issuing alerts whenever a given metric violates its threshold value
Taking snapshots by spawning additional processes
Capturing statistical values for SQL objects that have been recently modified
Job Queue Processes (CJQ0 and Jnnn)
Job queue processes run user jobs, often in batch mode. A job is a user-defined task scheduled to run one or more times.