Backup
執行“TO A POINT IN TIME”選項時出現 DB2 ROLLFORWARD 錯誤
我在 2015 年 3 月 3 日 19:20 執行了備份映像的恢復命令:
db2 restore database maxdb71 from "/data/archiveBackup" taken at 20150303192002 without prompting;
然後我嘗試將前滾到一個時間點(03.03.2015 21:05)所以這是在備份圖像之後:
db2 rollforward db maxdb71 to 2015-03-03-21.05.00.000000 using local time and complete;
但我收到錯誤:
SQL4970N Roll-forward recovery on database "MAXDB71" cannot reach the specified stop point (end-of-log or point-in-time) on database partition(s) "0". Roll-forward recovery processing has halted on log file "S0000189.LOG".
所以喜歡它找不到日誌S0000189.LOG。但是此日誌存在於存檔日誌位置(C0000004 目前子文件夾用於存檔日誌)
/data/archive/ctginst1/MAXDB71/NODE0000/C0000004>:
這些是一些存檔日誌文件的時間戳:
ctginst1 db2iadm1 15765504 2015-03-03 19:22 S0000187.LOG ctginst1 db2iadm1 16785408 2015-03-03 21:52 S0000188.LOG ctginst1 db2iadm1 16785408 2015-03-04 00:15 S0000189.LOG ctginst1 db2iadm1 16785408 2015-03-04 02:32 S0000190.LOG
基本上日誌文件 S0000188.LOG 應該是包含 21.05 的事務的文件,對吧?
那麼,當我有必要的日誌時,為什麼我不能進行時間點的前滾呢?我真的對這個前滾選項感到困惑。
當我這樣做時
db2 rollforward database maxdb71 to end of logs and complete;
,它是成功的,我得到了資訊:Log files processed = S0000187.LOG - S0000188.LOG
如此
to end of logs
有效,但為什麼我要到某個特定時間點才能執行?
如果將日誌歸檔到與活動日誌目錄不同的位置(
logpath
數據庫配置參數),則需要指定子句overflow log path /path/to/archived/logs
。該ROLLFORWARD
命令不會自動執行此操作。PS。你真的應該開始閱讀手冊——它們充滿了有用的東西,包括多個例子……