DB2分區(qū)數據庫的前滾操作
DB2分區(qū)數據庫備份映象文件是通過聯(lián)機備份產生的,在DB2分區(qū)數據庫恢復操作結束后,數據庫將處于前滾暫掛狀態(tài),必須通過前滾操作前滾歸檔日志,以取消前滾暫掛狀態(tài),使數據庫最終可用。
對DB2分區(qū)數據庫的前滾操作:
由于新數據庫 SAMPNEW 的日志路徑下不包含源 SAMPLE 數據庫日志路徑下的歸檔日志文件,所以在前滾操作之前,需要將 SAMPLE 的歸檔日志文件復制到一個特定的路徑下,然后在發(fā)出前滾命令時,使用 OVERFLOW 選項來指定該路徑,以替代 SAMPNEW 的數據恢復日志路徑來提供前滾操作要使用的歸檔日志文件。
為查找源 SAMPLE 數據庫歸檔日志存放的路徑,可利用如下命令:
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/
這里假設將各分區(qū)的歸檔日志文件對應復制到 /sampnew 下,因前滾命令僅可在編目分區(qū)上執(zhí)行,所以在編目分區(qū)上前滾到日硬盤數據恢復志文件尾并結束前滾狀態(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
的報錯,表明命令語法不正確。
【編輯推薦】