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

DB2 離線/線上完整/增量備份與恢復完整操作手冊

     編輯:DB2 教學

前置環境

範例資料庫:SAMPLE,備份媒體:TSM。

1. 離線完整備份

# 1. 確認無連線
db2 list applications for db sample
# 2. 重啟實例斷開所有連線
db2stop force; db2start
# 3. 執行備份
db2 backup db sample USE TSM
# 4. 驗證
db2 list history backup all for sample
db2adutl query

備份成功會回傳時間戳記 (如 20240101120000),請記錄備查。

2. 線上完整備份

啟用前置參數 (各節點均需設定)

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,必須先做一次離線完整備份

執行線上備份

db2 backup db sample ONLINE USE TSM

3. 線上增量備份

累積增量 (Cumulative / Incremental)

db2 backup db sample ONLINE INCREMENTAL USE TSM

含自上次完整備份以來所有變更。

差異增量 (Delta)

db2 backup db sample ONLINE INCREMENTAL DELTA USE TSM

僅含自上次任意備份 (完整/累積/差異) 以來的變更。
對應關係:DB2 INCREMENTAL ≈ Oracle CUMULATIVE;DB2 DELTA ≈ Oracle INCREMENTAL。

4. 災難恢復流程 (以完整+增量為例)

  1. 模擬災難:db2 drop db sample
  2. 恢復歷史檔 (使用最新備份時間戳):
    db2 RESTORE DB sample HISTORY FILE USE TSM TAKEN AT 20240101120000 BUFFER 100
  3. 使用恢復建議工具:
    db2ckrst -d sample -t 20240101120000 -r database
    工具會輸出建議的恢復指令序列。
  4. 版本恢復 (完整+增量):
    db2 RESTORE DB sample INCREMENTAL USE TSM TAKEN AT 20240101120000 BUFFER 100
    先恢復主節點 (catalog 節點),再依序恢復其他節點。
  5. 前滾恢復 (Rollforward):
    db2 ROLLFORWARD DB sample TO 2024-01-15-10.30.00.000000 ON ALL NODES AND STOP
    在主節點執行,所有節點前滾至同一時間點。

5. 重要補充

  • 恢復亦分 ONLINE/OFFLINE,用法同備份。
  • 表空間級備份/恢復:加 TABLESPACE (ts_name) 子句,前提是歸檔日誌 + TRACKMOD ON。
  • 若有多組完整/增量映像,依 db2ckrst 建議順序依次恢復,最後統一前滾。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved