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.
