Oracle Background process

*We can see the oracle background process through in database(V$view).

  SQL> show parameter diagno 

SQL> select SID,PROGRAM from v$session where TYPE='BACKGROUND';


SQL>select pname, program from V$process;


To findout background processes from OS:

$ ps -ef|grep ora_|grep SID


NOTE: PMON ,SMON,DBWR,LGWR,ARC,CKPT those background process are explained oracle database architecture


Let us we see some of the background processes


*It is the first background process that will be started when we start the instance and it is responsible for creating and managing other oracle background processes.


2)CJQ - Job Queue Process

*this process is used for Job scheduler includes the main program (the coordinator) and slave programs that the coordinator executes.

*The parameter job_queue_processes controls how many parallel job scheduler jobs can be executed at one time.


3)CQJ0 - Job queue controller process

*this process wakes up periodically and checks the job log. If a job is due, it spawns Jnnnn processes to handle jobs



*The database communicates with the mapping lib files provided by storage vendors through an external non-Oracle Database process that is spawned by a background process called FMON.

*It is responsible for storage managing mapping information


5)LMON-Lock Manager Process

*It manages instances lock that are used to share resources between instances.

*it also handles deadlock detection and remote lock requests


6)MMON-Memory Monitor

*It used to monitor SGA and performs various manageability background tasks

*from the oracle 10g onwards this background process used to collect statistics for the AWR(Automatic Workload Repository)


7)MMNL-Memory Monitor Light

*This background was introduced in 10g

*It performs frequent and lightweight manageability-related tasks

*Such as session history capture and metrics computation.

*This process will flush the ASH buffer to AWR tables when the buffer is full or a snapshot is taken.


8)MMAN-Memory Manager

*It was introduced in 10g, Its a part of ASMM

*this process is responsible for ASMM in 10g and AMM in 11g which manages memory allocation to SGA and PGA

*It 'll dynamically adjust the size of The SGA components

*The components of SGA like the large pool, Java Pool, Stream Pool and Shared Pool.It serves as an SGA memory broker.



*OPtional ParallelQuery slavesare started and stopped as needed to participate in parallel query operations.


10)RBAL- Re-Balance

*This process is related to ASM process that performs rebalancing of disk resources controlled by ASM.


11)WMON-Wakeup Monitor

*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.


12)RVWR-Recovery writer

*It is responsible for writing flashback logs


13)RECO -Recoverer

*The distributed transaction recovery process finds pending distributed transactions and resolves them.

*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.

*RECO will either commit or rollback this transaction.



New BackGround Process In oracle 11g

ACMS - Atomic Controlfile to Memory Server

DBRM - Database Resource Manager

DIA0 - Diagnosability process 0

DIAG - Diagnosability process

FBDA - Flashback Data Archiver

*Background process fbda captures data asynchronously

*Every 5 minutes (default), more frequent intervals based on activity.


GTX0 - Global Transaction Process 0

KATE - Konductor (Conductor) of ASM Temporary Errands

MARK - Mark Allocation unit for Resync Koordinator (coordinator)

SMCO - Space Manager

VKTM - Virtual Keeper of TiMe process

W000 - Space Management Worker Processes

ABP - Autotask Background Process



New background processes in Oracle Database 12c

LREG (Listener Registration)

SA (SGA Allocator)