SMON – System Monitor Process
The Silent Healer of Your Database 🛠️
🧠 What Is SMON?
The System Monitor Process (SMON) is a background process that quietly handles critical recovery and cleanup tasks to keep your Oracle Database running smoothly and consistently.
Think of SMON as the database’s janitor and doctor — it keeps things clean, consistent, and recovers what’s broken.
🔁 What SMON Does
Task | Description |
---|---|
🧹 Undo Cleanup | Shrinks undo segments based on usage; rolls back large, terminated transactions. Can use parallel query slaves for efficiency. |
🧾 Data Dictionary Cleanup | Fixes inconsistent or transient metadata states in the system catalog. |
⏱️ SCN-Time Mapping | Maintains a table mapping System Change Numbers (SCN) to timestamps — critical for Flashback queries. |
❤️ Error Resilience | Can recover from internal and external errors during background tasks without failing. |
🧑🤝🧑 Oracle RAC Recovery | In RAC setups, SMON from one instance can recover failed instances. |
⚙️ Where SMON Runs
- 🖥️ As a Thread or OS Process – Depends on platform and configuration.
- 🧩 On Oracle RAC Instances – Performs cross-instance recovery as needed.
💡 DBA Tip of the Day
SMON is always working in the background — but you can monitor undo space and rollback activity using views like V$UNDOSTAT
and DBA_HIST_UNDOSTAT
to help SMON do its job more efficiently.