Oracle 物理結構由六類檔案組成:
| 檔案類型 | 屬性 | 核心功能 |
|---|---|---|
| 資料檔 | 資料庫檔案 | 儲存實際資料,依類型分散不同磁碟(資料字典、使用者資料、索引、暫存資料、Redo 等) |
| 控制檔 | 資料庫檔案 | 維護資料庫完整性關鍵:資料庫名、表空間資訊、所有資料檔/Redo 檔位置、當前日誌序列號、檢查點、Redo/歸檔狀態 |
| 重做日誌檔 | 資料庫檔案 | 記錄所有變更,支援故障恢復,至少需 2 組 |
| 追蹤檔/警示日誌 | 資料庫檔案 | 背景進程重大事件記錄;警示日誌同步記錄資料庫訊息與錯誤 |
| 參數檔 | 非資料庫檔案 | 實例啟動設定:控制檔位置、SGA 大小、優化器模式等 |
| 口令檔 | 非資料庫檔案 | 認證具備啟動/關閉實例權限的使用者 |
控制檔啟動流程:參數檔讀取控制檔位置 → 開啟控制檔 → 讀取資料檔清單 → 逐一開啟資料檔。
歸檔檔案:Redo 日誌的離線副本,介質故障恢復關鍵。
| 特性 | SGA (System Global Area) | PGA (Program Global Area) |
|---|---|---|
| 共享性 | 所有資料庫進程共享 | 單一進程專用 |
| 內容 | 資料庫快取、共用池、大型池、Redo Log Buffer 等 | 排序區、雜湊區、游標狀態等 |
| 生命週期 | 實例啟動分配,關閉釋放 | 進程建立分配,終止回收 |
| 不足時 | 寫入虛擬記憶體 | 由作業系統管理 |
| 進程 | 縮寫 | 核心職責 |
|---|---|---|
| 資料庫寫入進程 | DBWn | 將修改的資料從緩衝區快取寫入資料檔 |
| 日誌寫入進程 | LGWR | 將 Redo Log Buffer 寫入線上 Redo Log 檔 |
| 系統監控進程 | SMON | 執行執行個體恢復、整理暫存段、清理無用臨時段 |
| 進程監控進程 | PMON | 使用者進程失敗時清理資源(釋放鎖、回滾交易) |
| 檢查點進程 | CKPT | 檢查點發生時更新控制檔與資料檔標頭,減輕 LGWR 負擔(參數 CHECKPOINT_PROCESS 啟用) |
| 歸檔進程 | ARCn | 日誌切換時備份/歸檔已滿日誌組 |
| 伺服器進程 | - | 服務使用者進程請求(專用/共用伺服器模式) |
| 使用者進程 | - | 客戶端工具,傳遞 SQL 給伺服器進程並接收結果 |