DB2數(shù)據(jù)庫(kù)進(jìn)行備份在AIX如何操作?
以下的文章主要講述的是在AIX上對(duì)DB2數(shù)據(jù)庫(kù)進(jìn)行備份的實(shí)際操作步驟, 以及對(duì)其在實(shí)際操作中值得我們大家留意的注意點(diǎn)的描述,以下就是文章對(duì)其操作步驟的詳細(xì)描述,望大家瀏覽之后會(huì)對(duì)其有更好的了解。
AIX, DB2, 備份AIX, 數(shù)據(jù)庫(kù)
DB2數(shù)據(jù)庫(kù)離線和在線全備、增量備份及恢復(fù)的具體操作步驟:
1、離線全備份
(1)、首先確保沒(méi)有用戶使用DB2: $db2 list applications for db sample
(2)、停掉數(shù)據(jù)庫(kù)并重新啟動(dòng),以便斷掉所有連接: db2stop force db2start
(3)、執(zhí)行備份命令:(使用TSM作為備份的介質(zhì)) db2 backup db sample use tsm 備份成功,將會(huì)返回一個(gè)時(shí)間戳。
(4)、檢查備份成功: Db2 list history backup all for sample ,可以看到多了這個(gè)備份的紀(jì)錄。 Db2adutl query命令也可以看到返回值。
(5)、備注: 首先對(duì)主節(jié)點(diǎn)(catalog表空間在的節(jié)點(diǎn))執(zhí)行備份命令,再對(duì)另外的節(jié)點(diǎn)也做這個(gè)操作。
2、 在線備份:
(1)、首先打開一下支持在線備份的DB2數(shù)據(jù)庫(kù)配置參數(shù):
- 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
啟用增量備份功能 (需要各個(gè)Node都分別做設(shè)置) 開啟這些參數(shù)后,數(shù)據(jù)庫(kù)處于backup pending狀態(tài),要求做DB2數(shù)據(jù)庫(kù)的離線全備份。
做一下離線全備份,參考上面的命令。
(2)、在線備份命令如下:
db2 backup db sample online use tsm 備份成功,返回一個(gè)時(shí)間戳。
(3)、同樣可以用db2adutl 和db2 list history察看備份紀(jì)錄。
(4)、備注: 同樣,對(duì)每個(gè)節(jié)點(diǎn)都做這個(gè)操作。
3、 在線增量備份
(1)、在開啟了必須的三個(gè)參數(shù)的情況下,做增量備份:
db2 backup db sample online incremental use tsm 備份成功,返回一個(gè)時(shí)間戳。
(2)、同樣可以用db2adutl 和db2 list history察看備份紀(jì)錄。
(3)、還有一種delta的備份:
- db2 backup db sample online incremental delta use tsm
這兩種備份的區(qū)別,類似Oracle Exports的Incremental和Cumulative方式,db2的incremental對(duì)應(yīng)oracle的cumulative方式,而db2的delta方式則對(duì)應(yīng)oracle的incremental方式。
(4)、備注:同樣,對(duì)每個(gè)節(jié)點(diǎn)都做這個(gè)操作。
4、 恢復(fù)數(shù)據(jù)庫(kù)
(1)、手工drop數(shù)據(jù)庫(kù),模擬災(zāi)難恢復(fù)的情況,執(zhí)行如下操作:
- db2 drop db sample
(2)、恢復(fù)備份歷史紀(jì)錄(每次backup,不論類型,都會(huì)備份歷史紀(jì)錄文件)。
這里的時(shí)間戳應(yīng)該是最新的:
- db2 restore db sample history file use tsm taken at 20030102223107 buffer 100
(3)、使用db2的恢復(fù)幫助工具:
db2ckrst -d sample -t 20030101224424 -r database 命令返回建議的必需的恢復(fù)操作命令。
(4)、按照幫助工具的提示,先做版本恢復(fù),恢復(fù)命令如下:
- db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100
同樣先做主節(jié)點(diǎn)的恢復(fù),再做其他節(jié)點(diǎn)的恢復(fù)操作。
(5)、這時(shí)DB2數(shù)據(jù)庫(kù)處于rollforward-pending state的狀態(tài),需要做roll forward 操作:
db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop 前滾到同一個(gè)時(shí)間點(diǎn)。
這個(gè)操作要在主節(jié)點(diǎn)來(lái)做。
5、說(shuō)明:
(1)、恢復(fù)操作也有online和offline的,區(qū)別等同backup的操作。
(2)、按照表空間的備份和恢復(fù)類似,加子句TABLESPACE ( tablespace-name 即可。表空間級(jí)別的備份/恢復(fù)操作要求DB2數(shù)據(jù)庫(kù)處于歸檔日志和啟用增量備份模式下。
(3)、恢復(fù)的例子中只做了版本恢復(fù)。若還有更新的全備份和增量備份的image,可以依次做恢復(fù)(請(qǐng)注意使用db2ckrst的建議恢復(fù)次序和次數(shù))之后,最后做roll forward.
【編輯推薦】