後台進程用來執行保證數據庫運行所需的實際維護任務如某個後台進程維護緩沖區緩存根據需要將塊寫出到數據文件
另個進程負責在線重做日志文件寫滿時將它自己復制到一個歸檔目標
可以通過查詢v$bgprocess視圖看服務器當前後台進程
SQL> select paddrnamedescription from v$bgprocess where paddr!=;
PADDR NAME DESCRIPTION
EBF PMON process cleanup
ECB VKTM Virtual Keeper of TiMe process
EBFA GEN generic
F DIAG diagnosibility process
ECBB DBRM DataBase Resource Manager
EBA VKRM Virtual sKeduler for Resource Manager
FC PSP process spawner
EBFA DIA diagnosibility process
FAC MMAN Memory Manager
ECC DBW db writer process
EBFAA DBW db writer process
EBFFE ARC Archival Process
FC ARC Archival Process
EC ARC Archival Process
EBEA ARC Archival Process
FB LGWR Redo etc
ECCB CKPT checkpoint
EBFB SMON System Monitor Process
EBFCCA SMCO Space Manager Process
FCC RECO distributed recovery
PADDR NAME DESCRIPTION
EBF CJQ Job Queue Coordinator
F QMNC AQ Coordinator
ECAD MMON Manageability Monitor Process
EBFABA MMNL Manageability Monitor Process
根據版本的不同後台進程數名稱類型等都可能不同
中心後台進程
PMON(進程監視器)負責在出現異常中止的連接後完成清理PMON還會向oracle TNS監聽器注冊通信向它傳遞相關的參數
SMON(系統監視器)完成所有的系統級任務包括以下內容
清理臨時空間合並空閒空間針對原來不可用的文件恢復活動的事務執行RAC中失敗節點的實例恢復清理OBJ$收縮回滾段‘離線’回滾段
RECO(分布式數據庫恢復)基於PC分布式協議允許多個不同的修改實現原子提交但是在真正提交前出現網絡失敗等錯誤事務成為一個可疑的分布式事務此時
就需要RECO來負責聯系事務協調器來發現協調的結果在這之前事務會保持未提交狀態當恢復網絡或者錯誤解決後RECO可能會提交事務也可能將事務回滾
注:可疑分布式事務會導致寫阻塞讀的情況即可疑分布式事務不能存在太長時間DBA可自行手動提交或回滾
CKPT(檢查點進程):建立檢查點主要是DBWn的任務CKPT主要是更新數據文件的文件首部從而輔助真正的建立檢查點的進程
DBWn(數據庫塊寫入器):負責將髒塊(修改過的塊)寫入磁盤的後台進程它會寫出緩沖區緩存的髒塊從而釋放相應的空間可以配置多個DBWn(上面有個DBW和DBW)
最好的情況是DBWn使用異步I/O將塊寫入磁盤采用異步I/ODBWn會收集要寫入的塊交給操作系統然後立即返回並收集下一批要寫的塊操作系統完成寫文件操作之後它會異步地通知DBWn
LGWR(日志寫入器):它負責將SGA中重做日志緩沖區的內容刷新輸出到磁盤一般在下面幾個情況時候LGWR就會執行刷新操作:
每隔秒會自動刷新一次
任何事務發出一個提交時
重做日志緩沖區/滿或者包含MB的緩沖數據的時候
ARCn(歸檔進程):當LGWR將在線重做日志寫滿時歸檔進程就將其復制到另一個位置ARCn一般將在線重做日志至少復制到兩個位置一般用於硬盤等介質損壞時數據庫的恢復
DIAG(診斷性進程):它會負責監視實例的整體狀況捕獲處理實例失敗時所需的信息並記錄
FBDA(閃回數據歸檔進程):此進程為oracle g r版本新增進程主要用於閃回數據它主要維護隨時間對表中每行所做的改變而實現歷史數據查詢它將讀取事務生成的UNDO並回滾事務做出的改變然後將回滾的這些行記錄保存在閃回數據歸檔中
DBRM(數據庫資源管理器進程):為數據庫實例配置資源計劃
GEN(通用任務執行進程):主要是分擔另外某個進程的阻塞處理
可選後台進程:
ASMB(自動存儲管理後台):該進程出現在ASM的數據庫實例中它負責與管理存儲的ASM實例通信向ASM實例提供更新的統計信息並向ASM實例提供一個"心跳"
RBAL(重新平衡進程):該進程也在使用了ASM的數據庫實例中運行向ASM磁盤組增加或去除磁盤時它負責處理平衡請求也就是重新分布負載請求
RAC環境後台進程
LMON(鎖監視器):監視集群中的所有實例檢測實例是否有失敗在實例離開或重新加入集群時重新配置鎖和其他資源
LMD(鎖管理器守護進程):它為全局緩存服務(保持塊緩沖區在實例間一致)處理鎖管理器服務請求
LMSn(鎖管理器服務器進程):主要維持SGA塊緩沖區緩存在各個RAC實例間相互保持一致
LOCK(鎖進程):與LMD相似但它處理所有全局資源的請求
工具後台進程
CJQO和Jnnn(作業隊列進程):oracle通過一種稱為快照的數據庫對象來提供復制特性作業隊列就是刷新快照時使用的內部機制
QMNC和Qnnn(高級隊列進程):QMNC會監視高級隊列並告訴從隊列中刪除等待消息的"出隊進程":已經有一個消息變為可用它們還要負責隊列傳播
EMNC(事件監視器進程):它是AQ體系結構中的一部分用於通知對某些消息感興趣的隊列
DMnn和DWnn(數據泵主進程/工作進程):數據泵是oracle g r中新增的特性主要用來替代EXP/IMP
其他後台進程
PSPO(進程生成器進程):它主要負責生成各個後台進程
VKTM(虛擬時間管理器進程):為oracle實例實現一個一致的細粒度的時鐘
SMCO(空間管理協調器進程):協調數據庫的主動空間管理
From:http://tw.wingwit.com/Article/program/Oracle/201311/19035.html