DB2常用備份, 恢復(fù)命令與DB2move的正確使用描述
以下的文章主要描述的是DB2常用備份, 恢復(fù)命令與DB2move的正確使用,你如果對(duì)DB2常用備份, 恢復(fù)命令與DB2move的正確使用有興趣的話你就可以點(diǎn)擊以下的文章進(jìn)行觀看了,以下就是相關(guān)內(nèi)容的具體描述。
DB2
DB2離線和在線全備、增量備份及恢復(fù)的操作步驟
1、離線全備份
1)、首先確保沒(méi)有用戶(hù)使用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)、首先打開(kāi)一下支持在線備份的數(shù)據(jù)庫(kù)配置參數(shù):
DB2 update db cfg for sample using userexit on 啟用用戶(hù)出口
DB2 update db cfg for sample using logretain on 啟用歸檔日志
DB2 update db cfg for sample using trackmod on 啟用增量備份功能
(需要各個(gè)Node都分別做設(shè)置)
開(kāi)啟這些參數(shù)后,數(shù)據(jù)庫(kù)處于backup pending狀態(tài),要求做數(shù)據(jù)庫(kù)的離線全備份。做一下離線全備份,參考上面的命令。
2)、在線備份命令如下:
- DB2 backup db sample online use tsm
備份成功,返回一個(gè)時(shí)間戳。
3)、同樣可以用DB2常用備份adutl 和DB2 list history察看備份紀(jì)錄。
4)、備注:
同樣,對(duì)每個(gè)節(jié)點(diǎn)都做這個(gè)操作。
3、 在線增量備份
1)、在開(kāi)啟了必須的三個(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ū)別,類(lèi)似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,不論類(lèi)型,都會(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í)數(shù)據(jù)庫(kù)處于rollforward-pending state的狀態(tài),需要做roll forward 操作:
db
- 2 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、有關(guān)說(shuō)明:
1)、恢復(fù)操作也有online和offline的,區(qū)別如同backup的操作。
2)、按照表空間的備份和恢復(fù)類(lèi)似,加子句TABLESPACE ( tablespace-name )即可。表空間級(jí)別的備份/恢復(fù)操作要求數(shù)據(jù)庫(kù)處于歸檔日志和啟用增量備份模式下。
3)、恢復(fù)的例子中只做了版本恢復(fù)。若還有更新的全備份和增量備份的image,可以依次做恢復(fù)(注意使用DB2ckrst的建議恢復(fù)次序和次數(shù))后,再做roll forward.
- DB2 force applications all
- DB2 backup db ldapDB2 to directory_or_device
DB2 restore db ldapDB2 from directory_or_device replace existing其中 directory_or_device 是存儲(chǔ)備份的目錄或設(shè)備的名稱(chēng)。
windows 遷移到 linux:
- DB2move tfms export;
- create db tfms;
- DB2move tfms -u -p import > a.txt;
- DB2move tfmsw179 import -u DB2admin -p DB2admin > a.txt
確認(rèn)執(zhí)行:TERMINATE
6、恢復(fù)數(shù)據(jù)庫(kù)
(1)先創(chuàng)建空數(shù)據(jù)庫(kù):DB2 create db NewdbName
(2)DB2 restore olddbName(需恢復(fù)數(shù)據(jù)庫(kù)名稱(chēng)) taken at Times(時(shí)間點(diǎn)) into NewdbName(新數(shù)據(jù)庫(kù)名稱(chēng))
注:在恢復(fù)新的數(shù)據(jù)庫(kù)的名稱(chēng)和剛創(chuàng)建的名稱(chēng)一樣。
我自己的運(yùn)用:
導(dǎo)出數(shù)據(jù):
1:在DOS里運(yùn)行DB2CMD
2:在D盤(pán)新建個(gè)文件夾CMS,在DB2CMD的DOS里CD到CMS目錄
3:運(yùn)行DB2move 要備份的數(shù)據(jù)庫(kù)名稱(chēng) export -u 用戶(hù)名 -p 密碼
4:成功
導(dǎo)出數(shù)據(jù):
1:在DB2常用備份控制臺(tái)里建設(shè)一個(gè)空的數(shù)據(jù)庫(kù)(缺省緩沖池和表空間大小設(shè)置大點(diǎn)最高32K,代碼集設(shè)置UTF-8)
2.首先在D盤(pán)選擇一個(gè)文件夾例如cms
3:運(yùn)行DB2move test import -u 用戶(hù)名 -p 密碼
【編輯推薦】