DBWR
DBWR執行将資料塊緩沖區寫入資料檔案的工作。
下列情況DBWR會将髒塊寫入磁盤
伺服器程序将一緩沖區移入dirty鍊,當dirty鍊達到臨界長度時,伺服器程序會通知DBWR寫入操作。臨界長度是資料塊隐藏參數_DB_BLOCK_WRITE_BATCH值的一半
伺服器程序在LRU表中查找可用的資料塊緩沖,如果查找了_DB_BLOCK_MAX_SCAN_CNT定義數量的緩沖區後,仍沒有查到未用緩沖區,則停止查找,并通知DBWR寫入操作
如果DBWR3秒未活動,則出現逾時。 DBWR對LRU表查找指定數目的緩沖區,将找到的髒緩沖區寫入磁盤。每當逾時,DBWR就查找新的緩沖區組。查找的數目為_DB_BLOCK_WRITE_BATCH值得兩倍
出現檢查點,LGWR指定一修改緩沖區表寫入磁盤,DBWR負責寫入
LGWR
LGWR負責将日志緩沖區寫入到日志檔案
觸發LGWR寫操作的條件
當使用者程序送出事務時,寫入一個送出記錄
每3秒将日志緩沖區輸出
當緩沖區1/3滿時
當DBWR将修改緩沖區寫入磁盤時,則将日志緩沖區輸出
當log buffer達到1M時
CKPT
CKPT程序在檢查點出現時,對全部資料檔案的檔案頭進行修改,并在控制檔案中記錄該檢查點。
SMON
SMON負責執行個體啟動時執行執行個體恢複,并清理不在使用的臨時段。9i開始,事務復原操作也是由SMON負責。SMON本身不做恢複操作,主要起整體協調作用。
PMON
PMON在使用者程序出現故障時執行程序恢複,負責清理存儲區和釋放該程序所使用的資源
RECO
RECO啟用分布式選項才會存在該程序。RECO能夠自動解決分布式事務中的故障
MMAN
MMAN實作共享記憶體自動管理的功能,自動調整共享記憶體 各個元件的大小
ARCH
ARCH将已填滿的線上日志檔案複制到指定的儲存設備
LCKn
LCKn在具有并行伺服器選件的環境下使用,可多至10個程序,用于執行個體間的封鎖
CJQ0和JXXX
它是一個任務隊列的排程程序,負責從job$表中找到需要執行的任務,并配置設定job程序執行,如果job程序不足,會自動産生新的job程序(JOB_QUEUE_PROCESSES參數範圍内).cjq0程序如果被殺掉,會重新開機。是以JXXX程序也可以殺掉。當一些job程序占用大量系統資源,導緻資料庫性能問題時,可以考慮殺掉job程序,不過在殺掉前,要做好分析,如果job程序正在做一個資料量很大的大型修改事務,那麼殺掉job會導緻大量的復原操作,使系統性能問題加劇。
QMNC和QXXX
QMNC是隊列監控同步程序。QXXX是隊列服務程序
PMON,SMON,DBWR,LGWR,RECO,CKPT,MMAN,PSP0為oracle資料庫必不可少的核心程序,無論哪個出現故障,都會導緻資料庫執行個體崩潰