The background processes in an Oracle instance can include the following:
Database Writer (DBW0 or DBWn)
Lock Manager Server (LMS) - Real Application Clusters only
Log Writer (LGWR)
Process Monitor (PMON)
Queue Monitor (QMNn)
System Monitor (SMON)
These are created automatically when an instance is started, not all are present on every operating system.
Each server and background process can write to an associated trace file.
Although one database writer process (DBW0) is adequate for most systems, you can configure additional processes (DBW1 through DBW9) to improve write performance if your system modifies data heavily.
On a server with just one processor - multiple DBWR processes will not improve performance (will probably make things worse). Initialization parameter = DB_WRITER_PROCESSES
The log writer process (LGWR) writes the redo log buffer to a redo log file on disk. If all the log files in a group are damaged, or the group is unavailable because it has not been archived, LGWR cannot continue to function.
When a user issues a COMMIT statement, LGWR puts a commit record in the redo log buffer and writes it to disk immediately, along with the transaction's redo entries. The corresponding changes to data blocks are deferred until it is more efficient to write them. This is called a fast commit mechanism.
A transaction has not been successfully committed until it's redo entry has been written to disk.
When a checkpoint occurs the CKPT process must update the headers of all datafiles to record the details.
The system monitor process (SMON) is responsible for
Crash recovery, if necessary, at instance startup.
Cleaning up temporary segments that are no longer in use.
Coalescing contiguous free extents within dictionary-managed tablespaces.
The process monitor (PMON) performs process recovery.
When a user process fails PMON will:
- Clean up the database buffer cache
- Free resources that the user's process was using.
- Register information about the instance and dispatcher processes with the network listener.
The recoverer process (RECO) is a background process used with the distributed database configuration, it automatically resolves failures involving distributed transactions.
This provides a mechanism to execute user jobs. It can be viewed as a scheduler service used to schedule jobs as PLSQL statements or procedures on an Oracle instance.
The archiver process (ARCn) copies online redo log files to disk/tape after each log switch.
ARCn processes are present only when the database is in ARCHIVELOG mode.
You can specify multiple archiver processes with the initialization parameter
The ALERT Log of a database is a chronological log of messages and errors.
Many administrative operations will leave a completion message in the ALERT file along with a time stamp.
This log is a very useful troubleshooting tool and should be monitored regularly.
"One of the standard things said about gender difference is that men are more interested in outcomes, and women are more interested in process" ~ Hugh MacKay (social researcher)
Oracle 11g Architecture diagram