apps-dba journal

A working journal for Oracle DBAs.

September 19, 2026

Oracle DBA Lesson 11 — Match a Process to Its Job

Oracle DBA · Lesson 11

Match a Process to Its Job

Oracle divides work among processes. This lesson separates the client app, the session’s server process, and the background processes that keep the instance healthy — so you can match a name to a real job.

AI Ops Pro channel

Watch on YouTube

Oracle DBA Lesson 11 — Match a Process to Its Job

AI Ops Pro

Three lanes of work

Start with who is talking to whom:

  • User process — the client application (SQL Developer, your app server, sqlplus). It sends database requests.
  • Server process — checks and executes SQL for that connected session, then returns results.
  • Background processes — maintain the instance alongside session work. Core ones start automatically when the instance starts.

When an application asks for an employee directory, a server process executes that user’s SQL. Database writer and log writer support storage work; they do not run this client query.

Writers: DBWn, LGWR, CKPT

  • DBWn (database writer) — writes changed (dirty) blocks from the buffer cache to datafiles.
  • LGWR (log writer) — writes redo change records to the online redo logs.
  • CKPT — coordinates checkpoints: signals DBWn and records recovery progress. It does not write the data blocks; DBWn does.

Recovery and process management

  • SMON — coordinates instance recovery when needed and performs system cleanup.
  • PMON — detects failed processes. In modern releases it delegates resource cleanup to the cleanup coordinator (CLMN) and helpers — it is not a one-process do-everything janitor.
  • PMAN — manages process lifecycles, including starting and stopping certain workers.
  • LREG — registers database services with the listener. Listener registration is not PMON’s job in modern releases (that older habit predates 12c).

Monitoring, distributed txns, feature-gated helpers

  • MMON / MMNL — collect and write monitoring information.
  • RECO — resolves interrupted distributed transactions across databases. It can be present even when that work is idle.
  • ARCn — copies completed redo when automatic archiving is enabled (feature-gated).
  • CJQ0 — job coordinator; starts job workers when the job feature is in play. Exact process set depends on configuration and release.

Read a Linux process name

Connect the name to the role. A teaching example:

ora_lgwr_DEMO

Middle portion = role (lgwr = log writer). Suffix = instance identifier (DEMO). Platforms differ on process vs thread listing; the pattern is the teaching point.

Gotchas

  • Client SQL runs in a server process, not in DBWn or LGWR.
  • CKPT signals and records progress; DBWn writes data blocks.
  • PMON detects failures; cleanup is delegated to CLMN/helpers in modern architecture.
  • LREG (not PMON) registers services with the listener today.
  • Background processes are not “night only” — they run for the life of the instance.

Quick quiz

Choose one answer, then submit. You’ll see the correct answer and a short why.

1. An application requests an employee directory. Which executes that user’s SQL?

2. What does CKPT do relative to data blocks?

3. In modern Oracle releases, which process registers services with the listener?

No comments:

Post a Comment

Oracle DBA Lesson 14B — Recognize an In-Doubt Distributed Transaction

Oracle DBA · Lesson 14B Oracle DBA Lesson 14B — Recognize an In-Doubt Distributed Transaction A change that spans databases must...