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

備份恢復DB2數據庫的3步驟,好用!

編輯: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 //開始上面參數後,DB2數據庫處於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/ #為DB2數據庫的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/ #為DB2數據庫的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