DB2分區數據庫的前滾操作
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_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/ |
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, )" |
posted on 2014-06-05 13:37 順其自然EVO 閱讀(254) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄 、數據庫