Thursday, November 29, 2007

Oracle Background Processes

Hi,Sorry for not posting any info for some time because I have been really busy.

Here is an article on Background processes.

Background processes for Orcacle9i

Database writer (DBWn)
· The database writer writes modified blocks from the database buffer cache to the datafiles.
· Oracle allows a maximum of 20 database writer processes (DBW0-DBW9 and DBWa-DBWj).
· The initialization parameter DB_WRITER_PROCESSES specifies the number of DBWn processes.
· Oracle selects an appropriate default setting for this initialization parameter (or might adjust a user specified setting) based upon the number of CPUs and the number of processor groups.

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 LGWR writes the redo log entries sequentially into an online redo log file.
· If the database has a multiplexed redo log, LGWR writes the redo log entries to a group of online redo log files.

Checkpoint (CKPT)
· At specific times, all modified database buffers in the system global area are written to the datafiles by DBWn. This event is called a checkpoint.

· The checkpoint process is responsible for signalling DBWn at checkpoints and updating all the datafiles and control files of the database to indicate the most recent checkpoint.

System monitor (SMON)
· The system monitor performs crash recovery when a failed instance starts up again.
· In a cluster database (Oracle9i Real Application Clusters), the SMON process of one instance can perform instance recovery for other instances that have failed.
· SMON also cleans up temporary segments that are no longer in use and recovers dead transactions skipped during crash and instance recovery because of file-read or offline errors. These transactions are eventually recovered by SMON when the tablespace or file is brought back online.
· SMON also coalesces free extents within the database's dictionary-managed tablespaces to make free space contiguous and easier to allocate.

Process monitor (PMON)
· The process monitor performs process recovery when a user process fails.
· PMON is responsible for cleaning up the cache and freeing resources that the process was using.
· PMON also checks on the dispatcher processes and server processes and restarts them if they have failed.

Archiver (ARCn)
· One or more archiver processes copy the online redo log files to archival storage when they are full or a log switch occurs.

Recoverer (RECO)
· The recoverer process is used to resolve distributed transactions that are pending due to a network or system failure in a distributed database.
· At timed intervals, the local RECO attempts to connect to remote databases and automatically complete the commit or rollback of the local portion of any pending distributed transactions.

New Background process for Oracle10g

Memory Monitor (MMON)
MMON performs various manageability-related background tasks, for example:
· Issuing alerts whenever a given metrics violates its threshold value.
· Taking snapshots by spawning additional process (MMON slaves)
· Capturing statistics value for SQL objects which have been recently modified

Recovery Writer (RVWR)
Enabling Flashback Database starts a new RVWR background process.
This process is similar to the LGWR (log writer) process.
The new process writes Flashback Database data to the Flashback Database logs.

Memory Manager (MMAN)
Memory Manager (MMAN) coordinates the sizing of different memory components within SGA.
MMAN keeps a track of sizes of components and allocates/de-allocates memory based on their usage.
This process is used only when you enable Automatic Shared Memory Management.

Memory Monitor Light (MMNL)
· The Memory Monitor Light (MMNL) process introduced in 10g is responsible for writing out statistics buffer to disk as needed.
· Performs frequent and light-weight manageability-related tasks, such as session history capture and metrics computation.
· It works with Automatic Workload Repository (AWR)

Please post if you have any questions.Thanks