DB2備份恢復數據庫步驟
2024-07-21 02:41:47
供稿:網友
一、設置歸檔參數 1、db2 update db cfg for using mirrorlogpath /home/db2inst1/mirror_log/ //mirror log 2、db2 get db cfg for //確認是否成功 3、db2 update db cfg for using userexit on //啟用用戶出口 4、db2 update db cfg for using logretain on //啟用歸檔日志 5、db2 update db cfg for using trackmod on //啟用增量備份功能 6、db2stop force 7、db2start 8、db2 backup db to /home/db2inst1/off_back //開始上面參數后,數據庫處于backup pending狀態,要求做數據庫的離線備份,否則會提示SQL1116N錯誤。 二、備份在線數據庫 9、db2 backup db online to /home/db2inst1/on_back/ //在線備份 10、db2 backup db online incremental to /home/db2inst1/on_back/ //在線做增量備份 11、db2 list history backup all for //查看備份記錄 12、db2 get db cfg for //查看log所在位置,cp到一個安全目錄,供rollforward使用。 13、db2stop force;db2start;db2 drop db //手工drop數據庫,模擬災難恢復的情況 三、恢復在線數據庫 14、db2ckrst -d -t 20070608032820 -r database //幫助工具提示恢復 15、db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢復數據文件 先恢復完全備份,然后在恢復增量備份,不能自動尋找完全備份文件?! ?6、db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滾日志 有一點不認同:“先恢復完全備份,然后在恢復增量備份” 對于增量恢復,你的做法正好反了,你這樣做的話,會收到SQL2574N的錯誤信息?! ≡赿b2ckrst里面已經清楚的告訴你恢復的順序?! ∠旅媸菧y試備份鏡像中包日志的備份和恢復的步驟: 注:/home/db2inst1/on_back/ #為備份文件位置 /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到。 10、db2stop force;db2start;db2 drop db #模擬災難發上,drop數據庫?! ?0、db2 backup db online to /home/db2inst1/on_back/ include logs #備份帶日志的鏡像文件 21、db2 backup db online incremental to /home/db2inst1/on_back/ include logs #備份帶日志的增量鏡像文件 30、db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數據鏡像和日志文件 40、db2 rollforward database to end of logs and complete //回滾log日志 在“10”中已把數據庫drop了,“20”中如何做online backup呢? 注:/home/db2inst1/on_back/ #為備份文件位置 /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到?! ?0、db2 backup db online to /home/db2inst1/on_back/ include logs #備份帶日志的鏡像文件 20、db2 backup db online incremental to /home/db2inst1/on_back/ include logs #備份帶日志的增量鏡像文件 30、db2stop force;db2start;db2 drop db #模擬災難發上,drop數據庫。 40、db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數據鏡像和日志文件 50、db2 rollforward database to end of logs and complete //回滾log日志