DB2分區數據庫備份映象文件是通過聯機備份產生的,在DB2分區數據庫恢復操作結束後,數據庫將處於前滾暫掛狀態,必須通過前滾操作前滾歸檔日志,以取消前滾暫掛狀態,使數據庫最終可用。
對DB2分區數據庫的前滾操作:
由於新數據庫 SAMPNEW 的日志路徑下不包含源 SAMPLE 數據庫日志路徑下的歸檔日志文件,所以在前滾操作之前,需要將 SAMPLE 的歸檔日志文件復制到一個特定的路徑下,然後在發出前滾命令時,使用 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/
這裡假設將各分區的歸檔日志文件對應復制到 /sampnew 下,因前滾命令僅可在編目分區上執行,所以在編目分區上前滾到日硬盤數據恢復志文件尾並結束前滾狀態的命令應寫為:
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號分區,在 OVERFLOW 選項中不能使用“ON DBPARTITIONNUM 0”的子句,否則會遇到:
SQL0104N An unexpected token "on" was found following "<identifier>". Expected tokens may include: ")". SQLSTATE=42601
的報錯,表明命令語法不正確。
三類DB2數據庫備份方案
DB2 logfilsiz參數設置
在線改變DB2頁大小的實現
windows下創建DB2表空間的過程
DB2字符串連接的實現過程