| Lesson 18 | Other Oracle processes |
| Objective | Identify other Oracle processes that may be running on your server. |
Besides the core processes you already met, an Oracle instance may start additional background processes depending on features enabled (Scheduler, AQ, RAC, Flashback, ASM, etc.). This guide groups the most common ones, clarifies legacy names, and gives quick checks you can run.
MMAN (Memory Manager), MMON / MMNL (AWR snapshots, advisories), DIAG (diagnosability).LREG (listener registration), VKTM (high-res time keeper).CJQ0 (job coordinator) and Jnnn (job slaves) for DBMS_SCHEDULER.QMNC (queue monitor coordinator) and Qnnn workers.RVWR (Flashback Log writer), FBDA (Flashback Data Archive), CTWR (Block Change Tracking writer).Dnnn (dispatchers), Snnn (shared servers) when configured.LMON (Global Monitor), LMD0 (Lock Manager Daemon), LMSn (Global Cache Service); replace legacy LCKn.RBAL, ARBn, ASMB for ASM disk group management.RECO (resolve in-doubt distributed transactions).LMON/LMD0/LMSn in RAC.DBMS_JOB) → use CJQ0 + Jnnn with DBMS_SCHEDULER.QMNC (AQ coordinator) + Qnnn workers.-- All visible background processes
SELECT name, paddr, description
FROM v$bgprocess
WHERE paddr <> HEXTORAW('00');
-- Shared Server & Dispatchers (when MTS is enabled)
SELECT name, status FROM v$shared_server;
SELECT name, status, protocol, (busy/(busy+idle)) util
FROM v$dispatcher;
-- Scheduler health (modern replacement for DBMS_JOB)
SELECT job_name, state, last_start_date, run_count
FROM dba_scheduler_jobs
ORDER BY state, job_name;
-- Advanced Queuing monitors
SELECT * FROM v$queue; -- queues
SELECT * FROM v$aq; -- AQ metrics (version dependent)
DBMS_SCHEDULER jobs exist; CJQ0 spawns Jnnn as needed.ASMB/RBAL/ARBn): on hosts running a separate +ASM instance that your DB uses.-- Create a modern Scheduler job (replacement for DBMS_JOB)
BEGIN
DBMS_SCHEDULER.create_job(
job_name => 'daily_gather_stats',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN DBMS_STATS.gather_database_stats; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY;BYHOUR=2;BYMINUTE=0;BYSECOND=0',
enabled => TRUE,
comments => 'Nightly stats'
);
END;
/
-- Shared Server quick check
SHOW PARAMETER shared_servers;
V$ views and Scheduler so DBAs can verify what’s running instead of relying on OS guesses.