DB2分區(qū)數(shù)據(jù)庫的前滾操作
DB2分區(qū)數(shù)據(jù)庫備份映象文件是通過聯(lián)機備份產(chǎn)生的,在DB2分區(qū)數(shù)據(jù)庫恢復操作結(jié)束后,數(shù)據(jù)庫將處于前滾暫掛狀態(tài),必須通過前滾操作前滾歸檔日志,以取消前滾暫掛狀態(tài),使數(shù)據(jù)庫最終可用。
對DB2分區(qū)數(shù)據(jù)庫的前滾操作:
由于新數(shù)據(jù)庫 SAMPNEW 的日志路徑下不包含源 SAMPLE 數(shù)據(jù)庫日志路徑下的歸檔日志文件,所以在前滾操作之前,需要將 SAMPLE 的歸檔日志文件復制到一個特定的路徑下,然后在發(fā)出前滾命令時,使用 OVERFLOW 選項來指定該路徑,以替代 SAMPNEW 的數(shù)據(jù)恢復日志路徑來提供前滾操作要使用的歸檔日志文件。
為查找源 SAMPLE 數(shù)據(jù)庫歸檔日志存放的路徑,可利用如下命令:
db2_all "db2 get db cfg for sample" | grep "Path"
Path to log files = /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
Path to log files = /home/db2inst1/db2inst1/NODE0001/SQL00001/SQLOGDIR/
Path to log files = /home/db2inst1/db2inst1/NODE0002/SQL00001/SQLOGDIR/
Path to log files = /home/db2inst1/db2inst1/NODE0003/SQL00001/SQLOGDIR/
這里假設(shè)將各分區(qū)的歸檔日志文件對應復制到 /sampnew 下,因前滾命令僅可在編目分區(qū)上執(zhí)行,所以在編目分區(qū)上前滾到日硬盤數(shù)據(jù)恢復志文件尾并結(jié)束前滾狀態(tài)的命令應寫為:
db2 "rollforward db sampnew to end of logs and complete overflow log path
(/sampnew/NODE0000/SQL00001/SQLOGDIR,
/sampnew/NODE0001/SQL00001/SQLOGDIR on dbpartitionnum 1,
/sampnew/NODE0002/SQL00001/SQLOGDIR on dbpartitionnum 2,
/sampnew/NODE0003/SQL00001/SQLOGDIR on dbpartitionnum 3,
)"
注:對于0號分區(qū),在 OVERFLOW 選項中不能使用“ON DBPARTITIONNUM 0”的子句,否則會遇到:
SQL0104N An unexpected token "on" was found following "<identifier>". Expected tokens may include: ")". SQLSTATE=42601
的報錯,表明命令語法不正確。
【編輯推薦】