Instance Architecture   «Prev  Next»

Lesson 6The System Monitor (SMON)
ObjectiveIdentify the purpose of the SMON process.

System Monitor (SMON): Instance Recovery and Housekeeping

Oracle SMON background process and session/server-process context
Figure 4-6: One session per connection (context for SMON running independently of user sessions).

SMON (System MONitor) is a permanent Oracle background process that protects database consistency and performs periodic cleanup. It runs automatically from instance startup to shutdown and can be invoked on demand when recovery or cleanup is needed.

What SMON actually does

What SMON does not do (common misconceptions)

Crash recovery: the fast path

  1. Roll forward: Read online redo (and, if needed, archived redo) to apply committed changes to datafiles.
  2. Open with RESETLOGS? Only in media-recovery scenarios; typical instance recovery does not require this.
  3. Transaction rollback: Uncommitted work is rolled back using transaction tables/undo to guarantee read consistency.

Temporary-space cleanup

Temp segments are used for sorts, hash joins, and index creation. Normally they are released when a session finishes; SMON performs periodic sweeps to reclaim any orphaned temp extents left by failures.

Observability and quick checks

Use these checks to understand recovery targets and activity. (Replace view names as appropriate for your exact version.)

-- Target recovery window (seconds)
SHOW PARAMETER fast_start_mttr_target;

-- Estimated MTTR (seconds)
SELECT estimated_mttr
FROM   v$instance_recovery;

-- Recent temp usage by sessions (current, not historical)
SELECT s.sid, s.serial#, u.tablespace, u.blocks, u.segtype
FROM   v$session s
JOIN   v$tempseg_usage u ON s.saddr = u.session_addr
ORDER  BY u.blocks DESC;

Modernization notes (historical vs. current behavior)

Practical guidance

  1. Keep FAST_START_MTTR_TARGET aligned with business RTOs; verify with V$INSTANCE_RECOVERY.
  2. Use LMT + ASSM for all tablespaces; avoid legacy DMT content and guidance.
  3. Investigate frequent instance recovery (alert log/AWR). Address root causes (I/O, OS restarts, storage timeouts) rather than tuning SMON.
  4. For distributed TXNs, monitor DBA_2PC_PENDING/DBA_2PC_NEIGHBORS and ensure RECO is healthy.

SEMrush Software 6 SEMrush Banner 6