Lock processes
Process Name: LCK0 through LCK9
Max Processes: 10
Meant for Parallel server setups, the instance locks that
are used to share resources between instances are held by the lock processes.
Block Server Process
Process Name: BSP0 through BSP9
Max processes: 10
Meant for Parallel server setups, Block server Processes
have to do with providing a consistent read image of a buffer that is requested
by a process of another instance, in certain circumstances.
Queue Monitor
Process Name: QMN0 through QMN9
Max Processes: 10
This is the advanced Queuing Time manager process. QMNn
monitors the message queues. Failure of QMNn process will not cause the
instance to fail.
Event Monitor
Process Name: EMN0/EMON
Max Processes: 1
This process is also related to Advanced
Queuing, and is meant for allowing a publish/subscribe style of messaging
between applications.
Recoverer
Process Name: RECO
Max processes: 1
Intended for distributed recovery. All
in-doubt transactions are recovered by this process in the distributed database
setup. RECO will connect to the remote database to resolve pending
transactions.
Job Queue Processes
Process Name: J000 through J999
(Originally called SNPn processes)
Max Processes: 1000
Job queue processes carry out batch processing. All
scheduled jobs are executed by these processes. The initialization parameter
JOB_QUEUE_PROCESSES specifies the maximum job processes that can be run
concurrently. If a job fails with some Oracle error, it is recorded in the
alert file and a process trace file is generated. Failure of the Job queue
process will not cause the instance to fail.
Dispatcher
Process Name: Dnnn
Max Processes: -
Intended for Shared server setups (MTS). Dispatcher
processes listen to and receive requests from connected sessions and places
them in the request queue for further processing. Dispatcher processes also
pickup outgoing responses from the result queue and transmit them back to the
clients. Dnnn are mediators between the client processes and the shared server
processes. The maximum number of Dispatcher process can be specified using the
initialization parameter MAX_DISPATCHERS.
Shared Server Processes
Process Name: Snnn
Max Processes: -
Intended for Shared server setups (MTS). These
processes pickup requests from the call request queue, process them and then
return the results to a result queue. The number of shared server processes to
be created at instance startup can be specified using the initialization
parameter SHARED_SERVERS.
Parallel Execution Slaves
Process Name: Pnnn
Max Processes: -
These processes are used for parallel processing. It can be used
for parallel execution of SQL statements or recovery. The Maximum number of
parallel processes that can be invoked is specified by the initialization
parameter PARALLEL_MAX_SERVERS.
Trace Writer
Process Name: TRWR
Max Processes: 1
Trace writer writes trace files from an Oracle internal
tracing facility.
Input/Output Slaves
Process Name: Innn
Max Processes: -
These processes are used to simulate asynchronous I/O on
platforms that do not support it. The initialization parameter DBWR_IO_SLAVES
is set for this purpose.
Wakeup Monitor Process
Process Name: WMON
Max Processes: -
This process was available in older versions of Oracle to
alarm other processes that are suspended while waiting for an event to occur.
This process is obsolete and has been removed.
Conclusion
With every release of Oracle, new background processes have
been added and some existing ones modified. These processes are the key to the proper
working of the database. Any issues related to background processes should be
monitored and analyzed from the trace files generated and the alert log.
»
See All Articles by Columnist Amar Kumar Padhi