Oracle 體系龐大,初學者易迷失。建立完整架構認知是高效學習的關鍵。本文條理化整理 Oracle 核心架構六大面向。
SPFILE (二進位) 或 PFILE (文字)。層次關係:Tablespace → Segment → Extent → Block
| 進程 | 職責 |
|---|---|
| DBWn (Database Writer) | 將緩衝區髒塊寫入資料檔 |
| LGWR (Log Writer) | 將 Redo Log Buffer 寫入線上 Redo Log 檔 |
| SMON (System Monitor) | 啟動時執行實例恢復、整理暫存段、合併自由空間 |
| PMON (Process Monitor) | 清理失敗進程資源 (鎖、暫存段、進程槽位) |
| CKPT (Checkpoint) | 定期更新控制檔/資料檔檢查點資訊,加速恢復 |
| ARCn (Archiver) | ARHIVELOG 模式下將滿的 Redo Log 群歸檔 |
| Server Process | 服務用戶進程,解析/執行 SQL、回傳結果 |
| User Process | 客戶端進程,傳送 SQL、接收結果 |
Instance = SGA 記憶體結構 + 背景進程群。一個 Instance 一次只能掛載/開啟一個 Database。實例啟動流程:NOMOUNT → MOUNT → OPEN。
系統內部維護的單調遞增序號。每次 Commit、Checkpoint、Log Switch 皆推進 SCN。SCN 是資料庫一致性、恢復排序、分散式交易同步的核心時鐘。
先建立「點→線→網→面」的知識圖譜:從單一元件 (點) 理解職責,串聯關聯流程 (線),構建完整架構圖 (網),最終達到整體把控 (面)。遇到問題優先查官方文件、Metalink、AskTom,養成自主鑽研習慣。