首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 備份模式深度解析(上):循環日誌 vs 歸檔日誌、離線備份操作規範與參數遷移指南

     編輯:DB2 教學

兩大日誌模式本質差異

維度 循環日誌(預設) 歸檔日誌
別名非歸檔模式 / Circular Logging歸檔模式 / Archive Logging / Log Retain
可恢復性僅支援離線備份 + 版本恢復(還原至備份時間點)支援線上備份 + 版本恢復 + 前滾恢復 + 崩潰恢復(任意時間點 PITR)
備份業務影響備份期間資料庫必須停服備份期間業務零中斷
日誌生命週期循環覆寫,舊日誌自動被新日誌複用日誌滿觸發歸檔,歸檔檔案永久保留直到人工/策略清理
磁碟空間壓力固定(LOGPRIMARY + LOGSECOND)持續增長,需規劃歸檔存儲容量與清理策略
典型適用場景開發/測試、可重建資料、維護窗口充足生產核心、7×24、RPO≈0、合規留存

循環日誌模式:離線備份標準作業程序(SOP)

  1. 停止應用存取:通知業務方、關閉連線池、暫停排程作業。
  2. 終止現有連線:
    db2 list applications
    db2 force application (所有申請句柄)
  3. 停用資料庫:確保無隱性連線。
    db2 deactivate database MYDB
  4. 執行離線完整備份:
    db2 backup database MYDB to /backup/offline_$(date +%Y%m%d) compress include logs
  5. 重新啟用資料庫與應用:db2 activate database MYDB → 開放連線池。

關鍵參數:COMPRESS 減少備份體積 60-80%,INCLUDE LOGS 將作用中日誌打包進備份映像,還原時無需外部日誌即可完成前滾。

歸檔日誌模式:啟用關鍵參數與遷移步驟

核心參數:LOGARCHMETH1、LOGARCHMETH2(V8 起取代 LOGRETAIN)。

LOGARCHMETH1 = LOGRETAIN(舊式非自動歸檔)

  • 日誌寫滿後留在日誌目錄,不自動搬移。
  • DBA 必須定期手工複製/刪除舊日誌釋放空間,否則資料庫因磁碟滿而掛起。
  • 不推薦新建系統使用,僅存相容舊版腳本。

遷移至自動歸檔(推薦 LOGARCHMETH1=DISK:/path)完整流程

  1. 規劃歸檔掛載點(獨立磁碟/檔案系統,預留 3-5 倍資料庫大小)。
  2. 修改參數:
    db2 update db cfg for MYDB using LOGARCHMETH1 'DISK:/archive/primary'
    db2 update db cfg for MYDB using LOGARCHMETH2 'DISK:/archive/secondary'
  3. 資料庫進入 Backup Pending → 執行一次離線完整備份(同循環日誌 SOP 步驟 1-4)。
  4. 驗證歸檔生效:
    db2 "SELECT FIRST_ACTIVE_LOG, CURRENT_ACTIVE_LOG FROM TABLE(MON_GET_DATABASE(-2))"
    # 產生新日誌 → 觀察 /archive/primary 是否出現 .log 檔
  5. 建立歸檔清理策略(如保留 30 天、或配合 TSM 過期管理)。

參數對照速查:LOGRETAIN vs LOGARCHMETH1

舊參數 新參數 行為 備註
LOGRETAIN=RECOVERYLOGARCHMETH1=LOGRETAIN非自動歸檔,人工管理V8+ 仍支援但不建議
LOGRETAIN=OFFLOGARCHMETH1=OFF循環日誌(非歸檔)預設值
USEREXIT=ONLOGARCHMETH1=USEREXIT自訂程式接管歸檔複雜場景保留
N/ALOGARCHMETH1=DISK:/path自動磁碟歸檔主流推薦
N/ALOGARCHMETH1=TSMTivoli Storage Manager 歸檔企業級長期留存

理解兩種模式的可恢復性邊界、業務影響差異與遷移關鍵動作,是制定 DB2 備份策略、通過審計合規、保障核心資料資產安全的基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved