| 維度 | 循環日誌(預設) | 歸檔日誌 |
|---|---|---|
| 別名 | 非歸檔模式 / Circular Logging | 歸檔模式 / Archive Logging / Log Retain |
| 可恢復性 | 僅支援離線備份 + 版本恢復(還原至備份時間點) | 支援線上備份 + 版本恢復 + 前滾恢復 + 崩潰恢復(任意時間點 PITR) |
| 備份業務影響 | 備份期間資料庫必須停服 | 備份期間業務零中斷 |
| 日誌生命週期 | 循環覆寫,舊日誌自動被新日誌複用 | 日誌滿觸發歸檔,歸檔檔案永久保留直到人工/策略清理 |
| 磁碟空間壓力 | 固定(LOGPRIMARY + LOGSECOND) | 持續增長,需規劃歸檔存儲容量與清理策略 |
| 典型適用場景 | 開發/測試、可重建資料、維護窗口充足 | 生產核心、7×24、RPO≈0、合規留存 |
db2 list applications
db2 force application (所有申請句柄)
db2 deactivate database MYDB
db2 backup database MYDB to /backup/offline_$(date +%Y%m%d) compress include logs
db2 activate database MYDB → 開放連線池。關鍵參數:COMPRESS 減少備份體積 60-80%,INCLUDE LOGS 將作用中日誌打包進備份映像,還原時無需外部日誌即可完成前滾。
核心參數:LOGARCHMETH1、LOGARCHMETH2(V8 起取代 LOGRETAIN)。
db2 update db cfg for MYDB using LOGARCHMETH1 'DISK:/archive/primary'
db2 update db cfg for MYDB using LOGARCHMETH2 'DISK:/archive/secondary'
db2 "SELECT FIRST_ACTIVE_LOG, CURRENT_ACTIVE_LOG FROM TABLE(MON_GET_DATABASE(-2))"
# 產生新日誌 → 觀察 /archive/primary 是否出現 .log 檔
| 舊參數 | 新參數 | 行為 | 備註 |
|---|---|---|---|
| LOGRETAIN=RECOVERY | LOGARCHMETH1=LOGRETAIN | 非自動歸檔,人工管理 | V8+ 仍支援但不建議 |
| LOGRETAIN=OFF | LOGARCHMETH1=OFF | 循環日誌(非歸檔) | 預設值 |
| USEREXIT=ON | LOGARCHMETH1=USEREXIT | 自訂程式接管歸檔 | 複雜場景保留 |
| N/A | LOGARCHMETH1=DISK:/path | 自動磁碟歸檔 | 主流推薦 |
| N/A | LOGARCHMETH1=TSM | Tivoli Storage Manager 歸檔 | 企業級長期留存 |
理解兩種模式的可恢復性邊界、業務影響差異與遷移關鍵動作,是制定 DB2 備份策略、通過審計合規、保障核心資料資產安全的基石。