3個方案實現(xiàn)備份恢復DB2數(shù)據(jù)庫,很簡單!
以下的文章主要描述的是備份恢復DB2數(shù)據(jù)庫的3個操作步驟,其中主要包括設置歸檔參數(shù),在線數(shù)據(jù)庫的備份以及線數(shù)據(jù)庫的恢復,以及對其在實際操作中的一些小的細節(jié)的描述,望大家會對其有更好的了解。
數(shù)據(jù)庫數(shù)據(jù)庫
備份恢復DB2數(shù)據(jù)庫步驟一、設置歸檔參數(shù):
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 //開始上面參數(shù)后,數(shù)據(jù)庫處于backup pending狀態(tài),要求做數(shù)據(jù)庫的離線備份,否則會提示SQL1116N錯誤。
備份恢復DB2數(shù)據(jù)庫步驟二、備份在線數(shù)據(jù)庫
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數(shù)據(jù)庫,模擬災難恢復的情況
備份恢復DB2數(shù)據(jù)庫步驟三、恢復在線數(shù)據(jù)庫
14、db2ckrst -d -t 20070608032820 -r database //幫助工具提示恢復
15、db2 restore db incremental from /home/db2inst1/on_back taken at 20070608032820 //恢復數(shù)據(jù)文件
先恢復完全備份,然后在恢復增量備份,不能自動尋找完全備份文件。
16、db2 rollforward database to end of logs and complete overflow log path '(/home/db2inst1/log)' //前滾日志
有一點不認同:“先恢復完全備份,然后在恢復增量備份”
對于增量恢復,你的做法正好反了,你這樣做的話,會收到SQL2574N的錯誤信息。
在db2ckrst里面已經(jīng)清楚的告訴你恢復的順序。
下面是測試備份鏡像中包日志的備份和恢復的步驟:
注:/home/db2inst1/on_back/ #為備份文件位置
/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數(shù)據(jù)庫的log位置,通過db2 get db cfg for 得到。
10、 db2stop force;db2start;db2 drop db #模仿災難發(fā)上,drop數(shù)據(jù)庫。
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的數(shù)據(jù)鏡像和日志文件
40、 db2 rollforward database to end of logs and complete //回滾log日志
在“10”中已把數(shù)據(jù)庫drop了,“20”中如何做online backup呢?
注:/home/db2inst1/on_back/ #為備份文件位置/home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #為數(shù)據(jù)庫的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 #模仿災難發(fā)上,drop數(shù)據(jù)庫。
40、 db2 RESTORE db incremental automatic FROM /home/db2inst1/on_back/ taken at 20070612070526 LOGTARGET /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/ #恢復時間戳在20070612070526的數(shù)據(jù)鏡像和日志文件
50、 db2 rollforward database to end of logs and complete //回滾log日志 ,以上的相關內容就是對備份恢復DB2數(shù)據(jù)庫步驟的介紹,望你能有所收獲。
【編輯推薦】
- 揭秘DB2 9數(shù)據(jù)庫需要的內存與磁盤條件!
- DB2卸載后正確巧妙恢復原來數(shù)據(jù)庫中的某些數(shù)據(jù)
- DB2數(shù)據(jù)庫備份參數(shù)修改后報錯如何拯救?
- DB2 V9.7啟用索引壓縮大揭秘
- import 或是 load多個DB2主從表談何容易?