系統監控進程(SMON):小身材大作用的關鍵角色
SMON(System Monitor Process)雖屬輕量級背景進程,卻掌管資料安全與效能的兩大核心職能:
一、核心職責
- 空間碎片整理:定期掃描表空間,將相鄰空閒區塊合併,提升空間分配效率,維持查詢效能。
- 執行個體恢復:資料庫異常關閉(斷電、崩潰)重啟時,自動讀取重做日誌(Redo Log),執行「前滾」提交交易與「回滾」未提交交易,保障資料一致性。
二、管理關鍵點
1. 啟動時機
- 執行個體啟動時自動啟動
- 運行期間定期喚醒檢查待辦工作
- DBA可透過其他進程手動觸發執行特定任務
2. PCTINCREASE參數影響
關鍵發現:當表空間的PCTINCREASE = 0時,SMON將不再對該表空間執行碎片整理合併,碎片管理負擔轉嫁給DBA(需手動Export/Import)。
- 建議:除非特殊需求,勿設為0,讓SMON自動管理碎片
- 不影響執行個體恢復功能,重做日誌恢復機制獨立運作
三、結語
SMON雖不起眼,卻是資料庫健康的守護者。正確配置PCTINCREASE,善用其自動碎片整理與崩潰恢復能力,能大幅減輕DBA維運負擔。