1. 檢查現有參數 (確認是否已為歸檔模式)
# Linux/UNIX
db2 get db cfg for xcldb | grep -i USEREXIT
db2 get db cfg for xcldb | grep -i LOGRETAIN
db2 get db cfg for xcldb | grep -i TRACKMOD
# Windows
db2 get db cfg for xcldb | find /I "userexit"
db2 get db cfg for xcldb | find /I "logretain"
db2 get db cfg for xcldb | find /I "trackmod"
2. 啟用歸檔日誌模式 (預設為循環日誌,不支援線上備份)
db2 update db cfg for xcldb using USEREXIT ON
db2 update db cfg for xcldb using LOGRETAIN ON
db2 update db cfg for xcldb using TRACKMOD ON # 啟用增量備份功能
3. 首次全量離線備份 (使資料庫脫離 Backup Pending 狀態)
db2 backup db xcldb to /db2bak
4. 驗證連線正常
db2 connect to xcldb
db2 connect reset
5. 手動歸檔測試
# 5.1 確認日誌路徑
db2 get db cfg for xcldb # 找 Path to log files
# 5.2 執行手動歸檔
db2 archive log for db xcldb
# 5.3 檢查歸檔目錄是否產生檔案
ls -lrt /path/to/logdir
6. 線上備份指令 (多種模式)
| 模式 | 指令範例 | 說明 |
| 僅備份資料 (壓縮) | db2 backup db xcldb online to /db2bak compress | 不含日誌,壓縮備份集 |
| 含日誌備份 | db2 backup db xcldb online to /db2bak include logs | 單一備份即可完整還原 |
| 增量備份 | db2 backup db xcldb online incremental to /db2bak include logs | 僅備份上次備份後變更頁 |
| 差量備份 | db2 backup db xcldb online incremental delta to /db2bak include logs | 僅備份上次完整備份後變更頁 |
7. 查看備份歷史
db2 list history backup all for xcldb
關鍵參數說明
USEREXIT:啟用用戶出口程式 (自訂歸檔腳本)。
LOGRETAIN:保留歸檔日誌 (標準歸檔模式)。
TRACKMOD:追蹤修改頁面,支援增量/差量備份。
INCLUDE LOGS:將作用中日誌檔一併備份,還原時無需單獨提供日誌。
COMPRESS:備份資料壓縮,節省空間與 I/O 時間。