標籤:oracle
oracle 11g 必需的後台進程:PMON、DBWn、LGWR、CKPT、SMON、VKTM
PMON:進程監控進程
1、執行個體第一個啟動的後台進程
2、監控其他oracle後台進程的職責,必要時重啟這些後台進程
3、向TNS監聽器註冊執行個體
DBWn:資料庫寫進程
1、將記憶體種變更的資料寫入磁碟資料檔案
2、最多配置20個資料庫寫進程 DBW0--DBW9, DBWa--DBWj
LGWR:日誌寫進程
1、管理SGA中的Redo Log Buffer,將其中的內容連續寫出到線上的記錄檔中
2、Redo中記錄的是可以重演的事務變更的必要資訊,在事務提交時,日誌必須寫出到記錄檔中
3、通過LGWG對於記錄檔的連續寫出,就可以推延了DBWR對於髒資料的寫出,從而保證DBWR可以實現批量寫出的效能提升
CKPT:檢查點進程
1、負責更新控制檔案和資料檔案頭的檢查點資訊
2、通知DBWn進程去執行寫操作
3、檢查點資訊包括:檢查點位置、SCN、Redo的恢複位置等
SMON:系統監控進程
1、在資料庫啟動時,執行必要的執行個體恢複
2、執行執行個體恢複時跳過中斷事務,如由於讀檔案或資料表空間離線等錯誤,在執行個體恢複時無法執行,SMON則可以在資料表空間或檔案線上時執行事務恢複
3、復原死事務,當一個進程異常中斷,它的未提交事務就成為了死事務,由SMON進程負責復原
4、清理不再使用的臨時段,例如當索引建立失敗時產生的遺留臨時段
5、在字典管理資料表空間中,執行連續自由區間的合并
6、維護SMON_SCN_TIME系統資料表。SMON_SCN_TIME表記錄了SCN與時間的對應關係,由SMON定期進行更新,並將一些較老的資料定期刪除
7、維護col_usage$資料字典表、維護mod_mods$系統資料表
8、定期offline多餘的復原段
9、清理obj$資料字典表中的垃圾資料
VKTM:虛擬時鐘進程(11g引入的進程)
v$process視圖
1、在v$process 的查詢輸出中SPID列代表的就是作業系統上的進程號,通過SPID可以將進程從作業系統到資料庫關聯起來。如果在作業系統上發現某個進程異常(如佔用很高的CPU資源),那麼通過作業系統上的PID和v$process視圖中的spid關聯,就可以找到這個os上進程在資料庫內部的化身,從而可以進行進一步的跟蹤診斷。
2、v$process視圖包含當前資料庫中活動的進程的相關資訊,這些進程在作業系統上都存在與之對應的OS進程。
深入解析Oracle筆記一