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

DB2 數據庫備份與恢復全攻略:離線/在線全備、增量備份及災難恢復實戰

     編輯:DB2 教學

1. 離線全備份

  1. 確認無用戶連接:db2 list applications for db sample
  2. 強制斷開連接並重啟:db2stop force → db2start
  3. 執行備份(以 TSM 為介質):db2 backup db sample use tsm,成功返回時間戳。
  4. 驗證備份:db2 list history backup all for sample 或 db2adutl query 查看記錄。
  5. 註:先備份主節點(catalog 表空間所在節點),再備份其他節點。

2. 在線備份

  1. 啟用必要配置參數:
    • db2 update db cfg for sample using userexit on(用戶出口)
    • db2 update db cfg for sample using logretain on(歸檔日志)
    • db2 update db cfg for sample using trackmod on(增量備份功能)
    各節點分別設置。啟用後數據庫處於 backup pending 狀態,需先做一次離線全備份。
  2. 在線備份命令:db2 backup db sample online use tsm,返回時間戳。
  3. 同樣用 db2adutl 和 db2 list history 查看記錄。
  4. 各節點分別操作。

3. 在線增量備份

  1. 增量備份:db2 backup db sample online incremental use tsm,返回時間戳。
  2. 差異備份:db2 backup db sample online incremental delta use tsm。兩者區別類似 Oracle 累積與增量導出:DB2 incremental 對應 Oracle cumulative,delta 對應 Oracle incremental。
  3. 查看記錄同全備份。
  4. 各節點分別操作。

4. 數據庫恢復(模擬災難場景)

  1. 手工刪除數據庫:db2 drop db sample
  2. 恢復備份歷史文件(每次備份均含歷史文件),使用最新時間戳:db2 restore db sample history file use tsm taken at 20030102223107 buffer 100
  3. 使用恢復輔助工具獲取建議恢復序列:db2ckrst -d sample -t 20030101224424 -r database
  4. 按建議先做版本恢復:db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100,主節點優先,再其他節點。
  5. 此時數據庫處於 rollforward-pending 狀態,執行前滾:db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop,統一前滾至同一時間點,在主節點執行。

5. 補充說明

  • 恢復亦有 online/offline 之分,邏輯同備份。
  • 表空間級備份恢復類似,加 TABLESPACE (tablespace-name) 子句,要求數據庫處於歸檔日志與增量備份模式。
  • 若有更新的全備份與增量備份鏡像,按 db2ckrst 建議順序依次恢復,最後再前滾。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved