線上備份還原後,資料庫處於 **Roll-forward pending** 狀態。新資料庫 SAMPNEW 日誌路徑無源 SAMPLE 歸檔日誌,必須手動複製並用 OVERFLOW LOG PATH 指定。
db2_all "db2 GET DB CFG FOR SAMPLE" | grep "Path to log files"
# 輸出範例:
# Path to log files = /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
# Path to log files = /home/db2inst1/db2inst1/NODE0001/SQL00001/SQLOGDIR/
# ...
建議結構:/sampnew/NODExxxx/SQL00001/SQLOGDIR/,每分區獨立子目錄。
mkdir -p /sampnew/NODE0000/SQL00001/SQLOGDIR
cp /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/S*.LOG /sampnew/NODE0000/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
)"
ON DBPARTITIONNUM 0SQL0104N An unexpected token "on" ...ON DBPARTITIONNUM N 對應分區號
db2 "ROLLFORWARD DB SAMPNEW QUERY STATUS"
# 輸出含 "Roll-forward status: Database not in roll-forward pending state" 即成功
db2 "CONNECT TO SAMPNEW"
db2 "SELECT COUNT(*) FROM KEY_TABLE" # 業務驗證
db2adutl 管理映像檔與日誌檔生命週期