簡單整理下在線備份的恢復步驟
1. 查找出數據庫 db2 list history backup all for xcldb
2. 在數據庫沒被破壞前,可用db2ckrst命令得到恢復序列,如要恢復的數據庫已損壞,則跳過這步. 這個在增量備份恢復時很有用 db2ckrst -d xcldb -t 20131018111438 -r database
3.檢查並得到備份文件的信息 db2ckbkp -h C:\db2bk2\XCLDB.0.DB2.NODE0000.CATN0000.20131018111438.001
4.恢復數據庫和日志文件 --采用自動查找方式,使用incremental automatic參數 db2 restore database xcldb incremental automatic from c:\db2bk2 taken at 20131018111438 logtarget C:\DB2\NODE0000\SQL00001\SQLOGDIR --采用手工恢復方式,與自動查找恢復差別就是命令沒有automatic參數,需要一個個依次來恢復每個鏡像. 這種方式與Oracle的增差量恢復一對比.相當的有趣. 不想詳細列了, 大概恢復順序如下: Incremental : 全備 -> 增量1 -> 全備 Detal : 差量2 -> 全備 -> 差量1 -> 差量2
5. 前滾(rollforward) restore 執行完後,你連接數據庫會發現,還處於ROLL-FORWARD狀態. --查出數據庫當前狀態 db2 rollforward db xcldb query status --再通過查備份,確定下日志文件的路徑 db2 list history backup all for xcldb --把備份後的歸檔日志復制到數據庫的目錄下 cp .. /日志目錄/ --前滾 -- 指定日志所在目錄 -- 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 --結束ROLL-FORWARD狀態.數據庫變為normal狀態 db2 rollforward db xcldb complete 或 db2 rollforward db xcldb stop --參數說明: logs and stop : 表示期望恢復到最後一個日志文件結束,也就是數據庫損壞前的那一個時刻.
小技巧: --查看恢復進度 db2 list utilities show detail