程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 備份恢復DB2數據庫步驟

備份恢復DB2數據庫步驟

編輯:更多數據庫知識

  一、設置歸檔參數:

  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 //恢復數據文件

  先恢復完全備份,然後在恢復增量備份,不能自動尋找完全備份文件。

  16、db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滾日志

  有一點不認同:“先恢復完全備份,然後在恢復增量備份”

  對於增量恢復,你的做法正好反了,你這樣做的話,會收到SQL2574N的錯誤信息。

  在db2ckrst裡面已經清楚的告訴你恢復的順序。

  下面是測試備份鏡像中包日志的備份和恢復的步驟:

  注:/home/db2inst1/on_back/ #為備份文件位置

  /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數據庫的log位置,通過db2 get db cfg for 得到。

  10、 db2stop force;db2start;db2 drop db #模仿災難發上,drop數據庫。

  20、 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 得到。

  10、 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日志

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved