Oracle 實例啟動後,後台進程默默支撐著數據庫的讀寫、恢復、監控、資源管理。本文基於 V$BGPROCESS 實測輸出,系統梳理**核心必備、可選功能、RAC 專用、工具輔助、其他**五大類 30+ 進程的職責、觸發條件、調優關注點,附進程異常診斷清單。
SELECT paddr, name, description
FROM v$bgprocess
WHERE paddr != '00'
ORDER BY name;
| 進程 | 全稱 | 核心職責 | 關鍵指標/調優點 |
|---|---|---|---|
| PMON | Process Monitor | 清理異常終止會話(釋放鎖、回滾事務、釋放 PGA)、向監聽器動態註冊服務 | 監控 V$SESSION 殘留、註冊失敗日志 |
| SMON | System Monitor | 實例恢復(前滾/回滾)、合併臨時段空閒空間、清理 OBJ$、收縮/離線回滾段、RAC 節點故障恢復 | 啟動階段耗時、臨時表空間碎片 |
| DBWn | Database Writer (n=0-9, a-j) | 將緩存中的髒塊寫入數據文件,推進檢查點、釋放緩存空間 | DB_WRITER_PROCESSES、FILESYSTEMIO_OPTIONS=ASYNCH、V$DBWRITER_STATS |
| LGWR | Log Writer | 將 Redo Log Buffer 刷盤到 Online Redo Log,保證事務持久化 | 觸發條件:Commit、1/3 滿、1MB、3秒、Checkpoint;LOG_BUFFER、COMMIT_WRITE、V$LOG_HISTORY |
| CKPT | Checkpoint | 更新數據文件頭/控制文件檢查點信息,協助 DBWn 確定寫入範圍 | FAST_START_MTTR_TARGET、LOG_CHECKPOINT_INTERVAL |
| ARCn | Archiver (n=0-9) | 在線 Redo Log 切換後複製到歸檔目標(本地/遠程/ASM) | LOG_ARCHIVE_MAX_PROCESSES、ARCHIVE_LAG_TARGET、V$ARCHIVE_DEST_STATUS |
| RECO | Distributed Recovery | 解決兩階段提交 (2PC) 中的 In-doubt 分布式事務,聯繫協調器決定提交/回滾 | 監控 DBA_2PC_PENDING、DBA_2PC_NEIGHBORS |
| DIAG | Diagnosability | 捕獲實例崩潰/錯誤上下文,生成 Incident Package、Health Monitor 數據 | DIAGNOSTIC_DEST、ADRCI 工具 |
| 進程 | 全稱 | 啟用條件/功能 |
|---|---|---|
| ASMB | ASM Background | ASM 實例或使用 ASM 的數據庫實例;與 ASM 實例通信、心跳、統計上報 |
| RBAL | Rebalancer | ASM 磁盤組加入/移除磁盤時觸發,協調 Rebalance |
| FBDA | Flashback Data Archiver | 11g+,啟用 Flashback Data Archive 表時,維護歷史行版本 |
| DBRM | Database Resource Manager | 啟用 Resource Plan 時,執行資源分配、CPU 限流 |
| VKTM | Virtual Keeper of Time | 11g+,提供高精度、單調遞增的時間源,替代 OS gettimeofday |
| VKRM | Virtual Scheduler for RM | 輔助 DBRM 進行資源調度 |
| GEN0 | Generic Task | 通用任務執行器,分擔其他進程阻塞操作(如統計信息採集) |
| MMAN | Memory Manager | ASMM/AMM 環境下動態調整 SGA/PGA 組件大小 |
| MMON / MMNL | Manageability Monitor | MMON:定期採集 AWR 快照、閾值告警;MMNL:輕量級採集 Active Session History (ASH) |
| SMCO | Space Manager Coordinator | 11g+,協調段空間回收、壓縮、HWM 下移等主動空間管理任務 |
| CJQ0 / Jnnn | Job Queue Coordinator / Workers | DBMS_JOB / DBMS_SCHEDULER 作業調度,Jnnn 執行具體作業 |
| QMNC / Qnnn | AQ Coordinator / Workers | Advanced Queueing 監視、出隊、傳播 |
| EMNC | Event Monitor | AQ 事件通知 |
| DMnn / DWnn | Data Pump Master / Workers | 10g+,Data Pump 導出導入並行執行 |
| PSP0 | Process Spawner | 11g+,按需動態啟動後台進程(如並行查詢、Data Pump) |
| 進程 | 全稱 | 職責 |
|---|---|---|
| LMON | Lock Monitor | 監視節點存活、故障檢測、重新配置全局鎖資源 |
| LMD | Lock Manager Daemon | 管理全局鎖服務(GES)、處理鎖請求、死鎖檢測 |
| LMSn | Lock Manager Server (n=0-9) | 實際傳輸一致性塊(Cache Fusion)、處理 GC CR/BLK 請求 |
| LCK0 | Lock Process | 輔助 LMD 處理非緩存融合的全局資源鎖(如庫緩存鎖) |