Oracle background processes
SMON:
Server monitor: recovers unused temp segments, coalesces continues free segments,
performs instance recovery.
PMON:
Process monitor: cleans failed transactions. If instance crashes PMON: rollback any uncommitted transactions.
DBWR:
Dirty buffer writer: writes modified buffer cache to datafiles; not at
commit but when more space is needed in SGA.
LGWR:
ora_lgwr_SID: log writer: writes redo log buffers to redo log files on a
commit.
CKPT:
ora_ckpt_SID: check point. Writes SCN to datafiles headers &
controlfiles. On 7 this is LGWR’s job.
ARCH:
ora_arc0_SID, ora_arc1_SID: archiver. Copies filled redo log files to
archive log dest.
RECO:
ora_reco0_SID: recover. Recovers failed distributed transactions .
SNPnn:
Snapshot: check & execute jobs from the job queue (dbms_jobs) also
refresh snapshots.
Dmm & Snn
MTS or shared server: ora_d000_SID, ora_d001_SID: when you have two
dispatchers. Ora_s000_SID: these are the actual shared server processes.
Ora_i[some number]_SID:
slave database writers.
Ora_qmn_SID:
Queue monitor process. Advanced queuing.
Ora_p000_SID:
Parallel query.
Ora_cjq_SID:
is a part of job_queue_processes, cjq0 being the coordinator. Cjq0 dynamically spawns job queue slave processes (j000 to j999) which perform actions (jobs), jobs are defined through dbms_job. The coordinator cjq0 does not start if init parameter job_queue_processes is set to 0.