|
Background Processes
The background processes in an Oracle instance may include the following:
Archiver (ARCn)
Checkpoint (CKPT)
Database Writer (DBW0 or DBWn)
Dispatcher (Dnnn)
Lock Manager Server (LMS) - Real Application Clusters only
Log Writer (LGWR)
Process Monitor (PMON)
Queue Monitor (QMNn)
Recoverer (RECO)
System Monitor (SMON)
Server (Snnn)
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.
DBWR
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
LGWR
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.
CKPT
When a checkpoint occurs the CKPT process must update the headers of all datafiles
to record the details.
SMON
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.
PMON
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.
RECO
The recoverer process (RECO) is a background process used with the distributed
database configuration, it automatically resolves failures involving distributed
transactions.
Job queue
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.
ARCn
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
LOG_ARCHIVE_MAX_PROCESSES.
Alert log.
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)