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

DB2 備份恢復全攻略:離線/聯機、完全/增量/Delta、重定向恢復與前滾實戰

     編輯:DB2 教學

一、備份分類體系

維度類型特點適用場景
業務影響離線(冷備份)斷開所有連接,數據庫不可用維護窗口、小型數據庫、非 7×24 系統
聯機(熱備份)備份期間數據庫可讀寫,需歸檔日誌模式生產 7×24、大型數據庫
數據範圍完全備份包含所有數據頁基準備份、增量鏈起點
增量備份(累積)自最近一次完全備份以來所有變更頁恢復簡單(僅需完全+最新增量)
Delta 備份(差異)自最近一次任意備份(完全/增量/Delta)以來變更頁備份窗口極短、變更率低

二、備份文件目錄結構

  • Windows:嵌套目錄 備份目錄\DB名.0\實例名\NODE0000\CATN0000\YYYYMMDD\HHMMSS\001,實際映像文件為 HHMMSS.0。
  • Unix/Linux:單文件 DB名.實例名.NODE0000.CATN0000.YYYYMMDDHHMMSS.001。

三、離線完全備份與恢復實驗

# 1. 完全備份
db2 backup db TestDB to D:\DB2_Train

# 2. 模擬災難
db2 drop db TestDB

# 3. 還原(指定時間戳)
db2 restore db TestDB from D:\DB2_Train taken at 20071121152940

四、離線增量備份與恢復

# 啟用修改頁跟蹤
db2 update db cfg using TRACKMOD YES

# 基準完全備份
db2 backup db TestDB to D:\DB2_Train

# 插入測試數據後增量備份
db2 backup db TestDB incremental to D:\DB2_Train

# 災難恢復:先還原完全,再自動套用增量鏈
db2 restore db TestDB from D:\DB2_Train taken at 20071121153818
db2 restore db TestDB incremental automatic from D:\DB2_Train taken at 20071121154006

AUTOMATIC 關鍵字讓 DB2 自動識別並按序套用所有增量映像,避免手動多次恢復出錯。

五、聯機備份與前滾恢復

# 切換至歸檔日誌模式(需離線完全備份作為基準)
db2 update db cfg for TestDB using LOGRETAIN ON TRACKMOD ON
db2 backup db TestDB to D:\DB2_Train   -- 聯機完全備份

# 插入數據後聯機增量備份
db2 backup db TestDB online incremental to D:\DB2_Train

# 災難:先備份活動日誌文件到安全路徑(如 C:\db2admin),再刪庫
db2 drop db TestDB

# 還原完全 + 增量
db2 restore db TestDB from D:\DB2_Train taken at 20071121160548
db2 restore db TestDB incremental automatic from D:\DB2_Train taken at 20071121152922

# 前滾至日誌末尾並完成,指定溢流日誌路徑
db2 rollforward db TestDB to end of logs and complete overflow log path ("C:\db2admin")

關鍵點:聯機恢復後數據庫處於「前滾掛起」狀態,必須執行 ROLLFORWARD ... COMPLETE 並提供歸檔/活動日誌路徑,才能帶入線上。

六、重定向恢復(異構路徑/容器遷移)

三步驟同一會話執行:

  1. RESTORE DB ... REDIRECT 進入重定向模式;
  2. SET TABLESPACE CONTAINERS FOR USING (FILE/PATH ...) 重新定義容器路徑;
  3. RESTORE DB ... CONTINUE 完成恢復。

注意:系統管理表空間(SMS)用 PATH,數據庫管理表空間(DMS)用 FILE + 大小;容器管理類型必須與源端一致。

七、驗證清單

  • db2 list db directory 確認數據庫別名;
  • db2 connect to TestDB 測試連接;
  • db2 list tablespace containers for 核對容器路徑;
  • 抽查核心表行數、檢查約束、觸發器狀態。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved