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

DB2 線上備份還原完整操作指南

     編輯:DB2 教學

線上備份還原流程概覽

DB2 線上備份允許在資料庫持續服務的狀態下進行備份,還原流程涉及備份歷史查詢、備份檔驗證、資料庫還原、日誌前滾等關鍵步驟。本文整理標準作業程序供參考。

1. 查詢備份歷史記錄

db2 list history backup all for xcldb

確認可用的備份時間點、備份類型 (完整/增量/差異)、備份檔位置等資訊。

2. 使用 db2ckrst 規劃還原序列 (增量備份必要)

db2ckrst -d xcldb -t 20131018111438 -r database
  • -t:指定目標還原時間點 (時間戳格式)
  • -r database:輸出資料庫級還原序列
若資料庫檔案已損壞無法查詢目錄,可略過此步驟,改依備份檔案命名時間戳手動判斷。

3. 驗證備份檔案完整性

db2ckbkp -h C:\db2bk2\XCLDB.0.DB2.NODE0000.CATN0000.20131018111438.001

檢查備份檔頭資訊,確認檔案未損壞、備份類型、時間戳符合預期。

4. 執行資料庫還原

自動還原模式 (建議)

db2 restore database xcldb incremental automatic 
  from c:\db2bk2 taken at 20131018111438 
  logtarget C:\DB2\NODE0000\SQL00001\SQLOGDIR
  • incremental automatic:自動尋找並依序套用完整備份 + 所需增量備份
  • logtarget:指定還原出的日誌檔存放路徑

手動逐步還原模式

需依 db2ckrst 輸出序列,逐一指定每個備份映像檔還原,順序通常為:

  • 增量備份:完整備份 → 增量1 → 增量2 → ...
  • 差異備份:差異N → 完整備份 → 差異1 → 差異2 → ...

5. 日誌前滾 (Rollforward) 完成交易復原

-- 查詢前滾狀態
db2 rollforward db xcldb query status

-- 將備份後產生的歸檔日誌複製至資料庫日誌目錄
cp /backup/logs/* /db2logdir/

-- 執行前滾至日誌末尾並完成
db2 rollforward db xcldb to end of logs and complete overflow log path (/db2bak/logs)

-- 或指定日誌原目錄完成
db2 rollforward db xcldb to end of logs and stop

-- 結束前滾狀態,資料庫轉為正常模式
db2 rollforward db xcldb complete
# 或
db2 rollforward db xcldb stop

參數差異說明

  • and stop:前滾至最後一個日誌檔結束 (資料庫損壞前一刻),資料庫進入可用狀態但仍可繼續前滾。
  • and complete:前滾完成並封鎖後續前滾,資料庫完全可用。
  • overflow log path:指定外部日誌檔搜尋路徑 (適用於日誌檔不在原目錄)。

小技巧:監控還原進度

db2 list utilities show detail

可即時查看還原/前滾工具的執行進度、已處理資料量、預估剩餘時間。

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