| 進程 | 職責 | 關鍵特徵 |
| DBWn | 資料庫寫入進程 | 將髒塊從緩衝區寫回磁碟,支援多進程(DBW0-DBW9) |
| LGWR | 日誌寫入進程 | 循序寫入 Redo Log,保證交易持久化(WAL 機制核心) |
| CKPT | 檢查點進程 | 定期更新控制檔/資料檔頭檢查點資訊,縮短恢復時間 |
| SMON | 系統監控進程 | 實例恢復、臨時段清理、空間合併 |
| PMON | 進程監控進程 | 清理失敗進程資源、釋放鎖、重註冊服務 |
| RECO | 分布式恢復進程 | 解決雙階段提交失敗的分散式交易 |
| ARCn | 歸檔進程 | 將線上 Redo Log 歸檔至備份目的地 |
| MMON/MMNL | 記憶體管理/輕量監控 | 自動記憶體管理、AWR 快照收集、閾值告警 |
記憶體與進程交互關鍵點
- Server Process(前景進程):處理用戶請求,讀寫 SGA、分配 PGA
- 專用伺服器模式:每連線一前景進程,私有 PGA
- 共用伺服器模式:Dispatcher + Shared Server,連線共用進程池,PGA 移至 SGA(Large Pool)
- 物理檔案:控制檔、Redo Log、資料檔、臨時檔、參數檔、密碼檔——僅 Oracle 進程可直接讀寫
UNIX 環境驗證指令
ps -ef | grep ora_
# 典型輸出:
# oracle 1234 1 0 10:00 ? 0:00 ora_pmon_ORCL
# oracle 1236 1 0 10:00 ? 0:00 ora_dbw0_ORCL
# oracle 1238 1 0 10:00 ? 0:00 ora_lgwr_ORCL
# oracle 1240 1 0 10:00 ? 0:00 ora_ckpt_ORCL
# oracle 1242 1 0 10:00 ? 0:00 ora_smon_ORCL
# oracle 1244 1 0 10:00 ? 0:00 ora_reco_ORCL
# oracle 1246 1 0 10:00 ? 0:00 ora_arc0_ORCL
架構理解的實戰價值
- 效能調優:識別 DBWn/LGWR 負載、Redo Log 構造、檢查點頻率
- 故障診斷:解讀 trace 檔、alert log 中進程異常堆疊
- 高可用設計:Data Guard 需啟用 ARCn、LGWR 同步/非同步傳輸
- 資源規劃:依進程模型估算記憶體、CPU、Semaphore 需求
深入掌握 SGA 結構與背景進程協作機制,是從「會用 Oracle」進階為「懂 Oracle 內核」的關鍵門檻。
- 上一篇文章: Solaris 下 Oracle 9i 啟用歸檔模式完整操作手冊:PFILE/SPFILE 双模式詳解
- 下一篇文章: Oracle 專家調優秘笈:深度解析 Freelist、PCTFREE/PCTUSED 與空間管理競爭優化
Copyright ©
程式碼之家 All Rights Reserved