首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 物理儲存架構深度解析:資料檔、控制檔、重做日誌、歸檔、參數檔與啟動流程全景圖

     編輯:Oracle 資料庫基礎

核心物理結構組件

1. 資料檔 — 資料實體存儲載體

  • 每個資料庫一個或多個物理資料檔,儲存結構與資料
  • 一對一關聯資料庫,一資料庫可對多資料檔(一對多)
  • 支援自動擴展:空間不足自動增長
  • 一或多個資料檔組成表空間(邏輯單元),同樣一對多關係
  • 讀取流程:用戶請求 → Oracle 從磁碟讀入記憶體 (SGA) → 用戶存取記憶體副本
  • 修改不立即寫磁碟,由 DBWn 背景進程按特定時機批次寫入,避免頻繁 I/O 降低效能

2. 控制檔 — 資料庫啟動與恢復的核心

  • 每資料庫至少一個,極重要 → 支援多路鏡像
  • 三大功能:記錄物理磁碟資訊、記錄邏輯結構、全域監管
  • 核心內容:資料庫名稱、資料/日誌檔磁碟路徑、建立時間
  • 遺失後僅能啟動至 MOUNT 狀態,無法 OPEN
  • 啟動時必讀,結構變更即時記錄,恢復關鍵依據

3. 重做日誌檔 — 交易變更的連續記錄

  • 至少兩組多重日誌組,循環寫入
  • 記錄資料級別的細緻變更過程(控制檔記錄架構級變更)
  • 核心用途:執行個體/介質恢復、資料保護

4. 歸檔日誌檔 — 重做日誌的永久備份

  • 啟用歸檔模式 (ARCHIVELOG) 後,填滿的重做日誌組被歸檔保存
  • 非歸檔模式 (NOARCHIVELOG) 下重做日誌循環覆寫,無歷史保留
  • 配合備份策略,可實現任意時間點恢復 (PITR)

5. 參數檔 — 執行個體配置的藍圖

  • 記錄 SGA/PGA 記憶體結構、背景進程、歸檔模式等執行個體屬性
  • 啟動三階段:
    1. NOMOUNT:讀取參數檔啟動執行個體,未掛載資料庫
    2. MOUNT:讀取控制檔(位置來自參數檔),未開啟資料檔 — 恢復操作常在此階段
    3. OPEN:根據控制檔讀取資料/日誌檔,核對一致性 → 通過則開啟,失敗則需恢復

6. 警示日誌 — 資料庫健康監護記錄

  • 記錄運行期錯誤、警告、結構變更、備份/恢復等關鍵事件
  • 控制檔只在啟動初期審核,警示日誌全程陪伴

7. 備份檔案 — 災難恢復的最後防線

  • RMAN 產生的專屬格式,含資料檔、控制檔、歸檔日誌等
  • 歸檔日誌不足時(如遺失)的恢復依賴

啟動流程關鍵路徑

參數檔 → 控制檔位置 → 控制檔內容 → 資料檔/日誌檔 → 一致性核對 → OPEN

任何環節失敗都會阻斷啟動,保護資料完整性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved