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. […]
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.