如何查看在磁帶中db2備份文件
1、離線全備份
1)、首先確保沒有用戶使用DB2:
db2 list applications for db sample
2)、停掉數據庫並重新啟動,以便斷掉所有連接:
db2stop force
db2start
*若是不喜歡重啟的朋友可以使用[db2 force applications all]命令以結束正在利用的連接,該句執行完以後,繼續執行[db2 list applications for db sample],若還有連接殘留,則再運行[db2 force applications all]命令,直到沒有連接殘留.
3)、執行備份命令:(使用TSM作為備份的介質)
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)、在線備份命令如下:
db2 backup db sample online use tsm
備份成功,返回壹個時間戳。
3)、同樣可以用db2adutl 和db2 list history察看備份紀錄。
4)、備註:
同樣,對每個節點都做這個操作。
3、 在線增量備份
1)、在開啟了必須的三個參數的情況下,做增量備份:
db2 backup db sample online incremental use tsm
備份成功,返回壹個時間戳。
2)、同樣可以用db2adutl 和db2 list history察看備份紀錄。
3)、還有壹種delta的備份:
db2 backup db sample online incremental delta use tsm
這兩種備份的區別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對應oracle的cumulative方式,而 db2的delta方式則對應oracle的incremental方式。
4)、備註:
同樣,對每個節點都做這個操作。
二、恢復(RESTORE)數據庫
1、新建數據庫
在壹般管理工具, 創建數據庫(別名要和原來的數據庫別名壹致)。
2、恢復數據庫
1):斷開連接:將網絡斷開,切斷所有的客戶連接,如果不行,先重啟。(如果有 客戶端連接到DB2服務器,恢復不行的,包括控制中心)
2):恢復離線備份:
設:
妳的備份那個DB2文件在:C:\Temp
妳的數據庫名稱:DBName
那麽對應DB2的備份/恢復文件的格式是這樣的:
C:\Temp\DBName.0\DB2CTLSV\NODE0000\CATN0000\20090706\HHMMSS.001
備 份時妳只是指定了壹個C:\Temp目錄,後面那麽目錄為DB2備份時生成。
然後是它的文件名,壹般格式是:HHMMSS.001,即:小時分鐘秒數.001,也就是說後面那個20020828是 備份日期,文件名是備份時間。
好,清楚後,妳就可以寫SQL命令進行恢復了
運行: Start->Program->IBM DB2->Command Center
然後:不要登陸,直接輸入下列命令:
以下為引用的內容:
RESTORE DATABASE OldDBName FROM C:\\Temp\\ TAKEN AT
20020919094932 TO D: INTO NewDBName WITH 2 BUFFERS BUFFER 1024
WITHOUT PROMPTING
妳要改
NewDBName ==》妳的新建數據庫名稱
C:\\TEMP\\ ==> 妳備份DB2的目錄,像上面所說
20020919094932 ==> 壹看妳DB2的目錄和文件組合成這東東
D: ==> 新建的數據庫放在哪個盤上
OldDBName ==> 備份前那個數據庫叫什麽
好了,CTRL+ENTER, 如果不行請檢查,如果再不行,請重啟,如果再不行,。。。阿門,上帝保佑妳
3): 實例
備份文件路徑:C:\Temp\ipmdemo.0\DB2CTLSV\NODE0000\CATN0000\20090622\164642.001
其中,備份日期:20090622 備份文件:164642.001
新建數據庫名:ipmdemo
數據庫文件時間戳:20090622164642
恢復命令為:db2 restore database ipmdemo from C:\Temp taken at20090622164642
3、恢復在線備份
1)、恢復。恢復命令為:db2restoredatabase DBName from C:\Temp taken at20090622164642
2)、前滾。前滾命令為:db2 rollforward db DBName to end of logs(或 者:控制中心->所有數據庫->dbname ->右鍵->前滾)
3)、停止前滾。停止前滾命令為:db2 rollforward db DBName stop(或者:控制中心 ->所有數據庫->dbname ->右鍵->停止前滾)
三、有關說明
1、恢復操作也有online和offline的,區別如同backup的操作。
2、按照表空間的備份和恢復類似,加子句TABLESPACE ( tablespace-name )即可。表空間級別的備份/恢復操作要求數據庫處於歸檔日誌和啟用增量備份模式下。
3、恢復的例子中只做了版本恢復。若還有更新的全備份和增量備份的image,可以依次做恢復(註意使用db2ckrst的建議恢復次序和次數)後,再做 roll forward。