DB2 線上備份允許在資料庫持續服務的狀態下進行備份,還原流程涉及備份歷史查詢、備份檔驗證、資料庫還原、日誌前滾等關鍵步驟。本文整理標準作業程序供參考。
db2 list history backup all for xcldb
確認可用的備份時間點、備份類型 (完整/增量/差異)、備份檔位置等資訊。
db2ckrst -d xcldb -t 20131018111438 -r database
-t:指定目標還原時間點 (時間戳格式)-r database:輸出資料庫級還原序列若資料庫檔案已損壞無法查詢目錄,可略過此步驟,改依備份檔案命名時間戳手動判斷。
db2ckbkp -h C:\db2bk2\XCLDB.0.DB2.NODE0000.CATN0000.20131018111438.001
檢查備份檔頭資訊,確認檔案未損壞、備份類型、時間戳符合預期。
db2 restore database xcldb incremental automatic from c:\db2bk2 taken at 20131018111438 logtarget C:\DB2\NODE0000\SQL00001\SQLOGDIR
incremental automatic:自動尋找並依序套用完整備份 + 所需增量備份logtarget:指定還原出的日誌檔存放路徑需依 db2ckrst 輸出序列,逐一指定每個備份映像檔還原,順序通常為:
-- 查詢前滾狀態 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
可即時查看還原/前滾工具的執行進度、已處理資料量、預估剩餘時間。