| 維度 | 類型 | 特點 | 適用場景 |
|---|---|---|---|
| 業務影響 | 離線(冷備份) | 斷開所有連接,數據庫不可用 | 維護窗口、小型數據庫、非 7×24 系統 |
| 聯機(熱備份) | 備份期間數據庫可讀寫,需歸檔日誌模式 | 生產 7×24、大型數據庫 | |
| 數據範圍 | 完全備份 | 包含所有數據頁 | 基準備份、增量鏈起點 |
| 增量備份(累積) | 自最近一次完全備份以來所有變更頁 | 恢復簡單(僅需完全+最新增量) | |
| Delta 備份(差異) | 自最近一次任意備份(完全/增量/Delta)以來變更頁 | 備份窗口極短、變更率低 |
備份目錄\DB名.0\實例名\NODE0000\CATN0000\YYYYMMDD\HHMMSS\001,實際映像文件為 HHMMSS.0。DB名.實例名.NODE0000.CATN0000.YYYYMMDDHHMMSS.001。# 1. 完全備份
db2 backup db TestDB to D:\DB2_Train
# 2. 模擬災難
db2 drop db TestDB
# 3. 還原(指定時間戳)
db2 restore db TestDB from D:\DB2_Train taken at 20071121152940
# 啟用修改頁跟蹤
db2 update db cfg using TRACKMOD YES
# 基準完全備份
db2 backup db TestDB to D:\DB2_Train
# 插入測試數據後增量備份
db2 backup db TestDB incremental to D:\DB2_Train
# 災難恢復:先還原完全,再自動套用增量鏈
db2 restore db TestDB from D:\DB2_Train taken at 20071121153818
db2 restore db TestDB incremental automatic from D:\DB2_Train taken at 20071121154006
AUTOMATIC 關鍵字讓 DB2 自動識別並按序套用所有增量映像,避免手動多次恢復出錯。
# 切換至歸檔日誌模式(需離線完全備份作為基準)
db2 update db cfg for TestDB using LOGRETAIN ON TRACKMOD ON
db2 backup db TestDB to D:\DB2_Train -- 聯機完全備份
# 插入數據後聯機增量備份
db2 backup db TestDB online incremental to D:\DB2_Train
# 災難:先備份活動日誌文件到安全路徑(如 C:\db2admin),再刪庫
db2 drop db TestDB
# 還原完全 + 增量
db2 restore db TestDB from D:\DB2_Train taken at 20071121160548
db2 restore db TestDB incremental automatic from D:\DB2_Train taken at 20071121152922
# 前滾至日誌末尾並完成,指定溢流日誌路徑
db2 rollforward db TestDB to end of logs and complete overflow log path ("C:\db2admin")
關鍵點:聯機恢復後數據庫處於「前滾掛起」狀態,必須執行 ROLLFORWARD ... COMPLETE 並提供歸檔/活動日誌路徑,才能帶入線上。
三步驟同一會話執行:
RESTORE DB ... REDIRECT 進入重定向模式;SET TABLESPACE CONTAINERS FOR USING (FILE/PATH ...) 重新定義容器路徑;RESTORE DB ... CONTINUE 完成恢復。注意:系統管理表空間(SMS)用 PATH,數據庫管理表空間(DMS)用 FILE + 大小;容器管理類型必須與源端一致。
db2 list db directory 確認數據庫別名;db2 connect to TestDB 測試連接;db2 list tablespace containers for 核對容器路徑;