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

Oracle 與 DB2 備份恢復架構深度對比:記憶體結構、後台進程與磁碟佈局

     編輯:DB2 教學

核心架構對比總覽

備份恢復機制建立在資料庫核心架構之上。理解雙方的記憶體結構、後台進程、磁碟檔案組織,才能掌握備份恢復的運作原理與差異。

Oracle 架構關鍵組件

記憶體結構 (SGA)

  • 資料庫緩衝區快取:暫存從資料檔讀入的資料塊。
  • 共用池:快取解析後的 SQL/PLSQL、資料字典。
  • 重做日誌緩衝區:連續記錄資料變更的前後映像 (Redo Entries)。
  • 大型池:供 RMAN 備份恢復作業使用。

關鍵後台進程

  • DBWr (Database Writer):非同步將髒緩衝區寫入資料檔。
  • LGWR (Log Writer):將重做日誌緩衝區寫入線上重做日誌檔。
  • CKPT (Checkpoint):同步資料檔頭、控制檔與重做日誌位置。
  • ARCH (Archiver):自動將線上重做日誌複製為歸檔日誌 (啟用歸檔模式時)。

磁碟檔案結構

  • 資料檔:實際儲存資料。
  • 控制檔:記錄資料庫物理結構 (檔案路徑/大小/狀態)、重做日誌資訊、檢查點資訊。
  • 線上重做日誌:循環寫入,崩潰恢復關鍵。
  • 參數檔 (SPFILE/INIT.ORA):實例啟動參數。
  • 歸檔日誌:線上重做日誌的離線副本,時間點恢復 (PITR) 必備。

DB2 UDB 架構關鍵組件

記憶體結構

  • 套件快取:快取靜態/動態 SQL 陳述式。
  • 緩衝池:暫存資料頁,延遲寫入磁碟。
  • 日誌緩衝區:暫存所有資料庫變更,刷新至磁碟日誌檔前的暫存區。

磁碟目錄佈局 (圖 3)


/<驅動器或目錄>/
  └── /
        └── NODE0000/          -- 分區號 (0=非分區)
              └── SQL00001/    -- 資料庫 ID (從1起)
                    ├── SQLOGDIR/      -- 預設日誌目錄
                    ├── SQLT0000.0/    -- 目錄表空間 SYSCATSPACE
                    ├── SQLT0001.0/    -- 暫存表空間 TEMPSPACE1
                    └── SQLT0002.0/    -- 使用者表空間 USERSPACE1

表空間為邏輯儲存單位,對應一或多個容器 (目錄/裝置/檔案)。

備份恢復模式對比

維度OracleDB2 UDB
離線備份關閉資料庫 (SHUTDOWN) 後複製檔案斷開所有連線 (DB2STOP FORCE) 後 BACKUP DATABASE
線上備份ALTER DATABASE BEGIN BACKUP + 複製檔案 + END BACKUP (或 RMAN)啟用歸檔日誌 (LOGRETAIN/USEREXIT) + BACKUP DATABASE ONLINE
完全恢復套用所有重做/歸檔日誌,零資料遺失版本恢復 (RESTORE) + 前滾恢復 (ROLLFORWARD TO END OF LOGS)
不完全恢復 (PITR)RECOVER DATABASE UNTIL TIME/SCN/CANCELROLLFORWARD TO <時間點> AND STOP
日誌模式NOARCHIVELOG / ARCHIVELOG循環日誌 (預設) / 歸檔日誌

關鍵差異解析

  • 日誌架構:Oracle 重做日誌為固定大小組循環寫入;DB2 交易日誌為連續檔案組,歸檔時封存整個檔案。
  • 檢查點機制:Oracle CKPT 進程定期同步檔案頭;DB2 由資料庫引擎在提交時強制日誌寫入 (WAL),检查点由 DB2 內部管理。
  • 備份工具:Oracle 原生 RMAN 功能強大 (區塊級備份、壓縮、加密、目錄);DB2 原生 BACKUP 指令支援 TSM/裝置/目錄,功能較精簡,企業級常搭配 Tivoli Storage Manager 或第三方工具。
  • 表空間級恢復:兩者均支援,DB2 需啟用歸檔日誌與增量備份模式 (TRACKMOD)。

DB2 日誌模式與恢復選項對應表

日誌模式備份類型恢復能力
循環日誌 (預設)僅離線完整備份版本恢復 (僅能恢復至備份時間點)
歸檔日誌線上完整/增量/增量差異備份版本恢復 + 前滾恢復 (可恢復至任意時間點或日誌末尾)

結論:Oracle 架構偏向「檔案複製 + 重做日誌重放」;DB2 架構偏向「頁面級備份映像 + 交易日誌前滾」。兩者皆遵循 WAL (Write-Ahead Logging) 原則,但在工具鏈、自動化程度、粒度控制上有所不同。

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