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

DB2數據庫中常用備份, 恢復命令以及DB2move的正確使用

編輯:DB2教程

以下的文章主要向大家講述的是DB2數據庫中常用備份, 恢復命令以及DB2move的正確使用,以下就是對DB2數據庫中常用備份, 恢復命令以及DB2move的正確使用的詳細描述,望大家在浏覽之後會對其有更深的了解。

DB2命令

DB2離線和在線全備、增量備份及恢復的操作步驟

1、離線全備份

1)、首先確保沒有用戶使用DB2:

  1. $DB2 list applications for db sample 

2)、停掉數據庫並重新啟動,以便斷掉所有連接:

  1. DB2stop force  
  2. DB2start  

3)、執行備份命令:使用TSM作為備份的介質)

  1. DB2 backup db sample use tsm 

備份成功,將會返回一個時間戳。

4)、檢查備份成功:

DB2 list history backup all for sample ,可以看到多了這個備份的紀錄。

DB2adutl query命令也可以看到返回值。

5)、備注:

首先對主節點catalog表空間在的節點)執行備份命令,再對另外的節點也做這個操作。

2、 在線備份:

1)、首先打開一下支持在線備份的數據庫配置參數:

DB2 update db cfg for sample using userexit on 啟用用戶出口

DB2 update db cfg for sample using logretain on 啟用歸檔日志

DB2 update db cfg for sample using trackmod on 啟用增量備份功能

(需要各個Node都分別做設置)

開啟這些參數後,數據庫處於backup pending狀態,要求做數據庫的離線全備份。做一下離線全備份,參考上面的命令。

2)、在線備份命令如下:

  1. DB2 backup db sample online use tsm 

備份成功,返回一個時間戳。

3)、同樣可以用DB2數據庫adutl 和DB2 list history察看備份紀錄。

4)、備注:

同樣,對每個節點都做這個操作。

3、 在線增量備份

1)、在開啟了必須的三個參數的情況下,做增量備份:

  1. DB2 backup db sample online incremental use tsm 

備份成功,返回一個時間戳。

2)、同樣可以用DB2adutl 和DB2 list history察看備份紀錄。

3)、還有一種delta的備份:

  1. DB2 backup db sample online incremental delta use tsm 

這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,DB2的incremental對應oracle的cumulative方式,而DB2的delta方式則對應oracle的incremental方式。

4)、備注:

同樣,對每個節點都做這個操作。

4、 恢復數據庫

1)、手工drop數據庫,模擬災難恢復的情況,執行如下操作:

  1. DB2 drop db sample 

2)、恢復備份歷史紀錄每次backup,不論類型,都會備份歷史紀錄文件)。這裡的時間戳應該是最新的:

  1. DB2 restore db sample history file use tsm taken at 20030102223107 buffer 100 

3)、使用DB2的恢復幫助工具:

  1. DB2ckrst -d sample -t 20030101224424 -r database 

命令返回建議的必需的恢復操作命令。

4)、按照幫助工具的提示,先做版本恢復,恢復命令如下:

  1. DB2 restore db sample incremental use tsm taken at 20030101224424 buffer 100 

同樣先做主節點的恢復,再做其他節點的恢復操作。

5)、這時數據庫處於rollforward-pending state的狀態,需要做roll forward 操作:

  1. DB2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop 

前滾到同一個時間點。這個操作要在主節點來做。

5、有關說明:

1)、恢復操作也有online和offline的,區別如同backup的操作。

2)、按照表空間的備份和恢復類似,加子句TABLESPACE ( tablespace-name )即可。表空間級別的備份/恢復操作要求數據庫處於歸檔日志和啟用增量備份模式下。

3)、恢復的例子中只做了版本恢復。若還有更新的全備份和增量備份的image,可以依次做恢復注意使用DB2數據庫ckrst的建議恢復次序和次數)後,再做roll forward.

  1. DB2 force applications all  
  2. DB2 backup db ldapDB2 to directory_or_device  

DB2 restore db ldapDB2 from directory_or_device replace existing其中 directory_or_device 是存儲備份的目錄或設備的名稱。

  1. windows 遷移到 linux:  
  2. DB2move tfms export;  
  3. create db tfms;  
  4. DB2move tfms -u -p import > a.txt;  
  5. DB2move tfmsw179 import -u DB2admin -p DB2admin > a.txt  

確認執行:TERMINATE

6、恢復數據庫

(1)先創建空數據庫:DB2 create db NewdbName

(2)DB2 restore olddbName(需恢復數據庫名稱) taken at Times(時間點) into NewdbName(新數據庫名稱)

注:在恢復新的數據庫的名稱和剛創建的名稱一樣。

我自己的運用:

導出數據:

1:在DOS裡運行DB2CMD

2:在D盤新建個文件夾CMS,在DB2CMD的DOS裡CD到CMS目錄

3:運行DB2move 要備份的數據庫名稱 export -u 用戶名 -p 密碼

4:成功

導出數據:

1:在DB2數據庫控制台裡建設一個空的數據庫缺省緩沖池和表空間大小設置大點最高32K,代碼集設置UTF-8)

2.首先在D盤選擇一個文件夾例如cms

3:運行DB2move test import -u 用戶名 -p 密碼

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