Oracle processes

In addition to the SGA region in RAM memory, an Oracle instance also consists of numerous background processes. It is important to remember that an Oracle database is really a very large program running on the server. When the Oracle program needs to perform a specific task, it will spawn a factotum (slave) task to service the task.

Advanced queuing: Aq_tnxx:
These are the Oracle8 advanced queuing processes that are used to thread processes through the Oracle8 instance.

Archive Monitor:ARCHMON:
This is a process on UNIX that monitors the archive process and writes the redo logs to the archives.

Archiver Process:ARCH:
This process is only active if archive logging is in effect. This process writes the redo log data files that are filled into the archive log data files.The archive process is optional process. If your database is in archive log mode and automating archiving is enabled, then this process is active. This process writes filled redo log files to archive log location specified by you. It is required while recovering database. LGWR is responsible for starting multiple ARCH process if workload increase. There can be up to 10 archiver processes.

Callout queues:EXTPROC
There will be one callout queue for each session performing callouts.

Checkpoint processes:CKPxx:
These are the checkpoint processes that can be started to optimize the checkpoint operation for Oracle logging.The checkpoint process regularly initiates a checkpoint, and updates controlfile and datafile header. This process flushes the redo entries by means of LGWR. Uses DBWR to write all dirty buffer to datafiles and updates datafile header.

Database Writer:DBWR
This process handles data transfer from the buffers in the SGA to the database files.The database writer process writes dirty blocks from database buffer cache to datafiles. Dirty blocks are those blocks which are modified by server process, and need to be flushed out to make room for new blocks in cache.DBWR never ever modify database buffer cache, it is done by server process. DBWR writes to datafiles when space is needed in cache, on commit and when forceful checkpoint is occurred. You can configure more than one DBWR process up to 10.

This process allows multiple processes to share a finite number of Oracle servers. It queues and routes process requests to the next available server.

Distributed Recoverer:RICO
This is an Oracle process that resolves failures involving distributed transactions.

Listener (SQL*Net v1): ORASRV
If you are running SQL*Net version 1, this process will be running to service TWO_TASK requests. This parameter was obsoleted in Oracle8.

Listener (Net8):TNSLSNR
If you are running TCP/IP, this process, known as the TNS listener process, will be running.

Lock Processes:LCKn
This process is used for interinstance locking in an Oracle Parallel Server environment.

Log Writer:LGWR
The log writer process writes redo log buffer entries (redo entries) into online redo log files on disk. This is done by LGWR when transaction is committed, every 3 seconds and when DBWR signals LGWR to do so.

Parallel Query:Pnnn
These background processes are started when Oracle performs a full table scan on a table that is defined as PARALLEL. There will be one background process for each Parallel Query slave, as defined by DBA_TABLES.DEGREE

Process Monitor:PMON
This process recovers user processes that have failed and cleans up the cache. This process also recovers the resources from a failed process. It checks if any user process fails, it cleans up all resources that user process has acquired,and roll back uncommitted transaction and releasing locks. In shared server environment, PMON restarts any failed dispatcher or server process.

This process makes all the required calls to the database to resolve user requests. It returns results to the Dnnn process that calls it.

Snapshot queues:Snpxx
These are snapshot process queues.

System Monitor:SMON
This process performs instance recovery on instance startup and is responsible for cleaning up temporary segments. In a parallel environment, this process recovers failed nodes.It also merges contiguous areas of free space in datafile, this process is called as coalescing. In RAC in non-failed instance, SMON performs instance recovery of other failed instance.

The MMAN dynamically adjust the size of SGA components. It is new process added to oracle 10g a a part of “Automatic Shared Memory Management”.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: