| 形態 | 文件命名 | 觸發條件 | 適用版本 |
| 單一診斷日誌 | db2diag.log | diagsize = 0 (默認) | DB2 9.7 前所有版本,9.7 默認行為 |
| 輪換診斷日誌 | db2diag.N.log (N 從 0 遞增) | diagsize > 0 | DB2 9.7+ 啟用後 |
管理通知日誌同步輪換:<instance>.N.nfy。
核心配置參數:DIAGSIZE
- 單位:MB,默認 0,最小 2,最大受限於可用磁盤空間
- 命令:
db2 update dbm cfg using DIAGSIZE 1024 (需重啟實例生效)
- 空間分配策略:
- Linux/Unix:診斷日誌佔 90%,通知日誌佔 10%
- Windows:全部分配給診斷日誌
- 單文件大小 = 該類總配額 ÷ 10 (最多保留 10 個輪換文件)
- Early Totaling 機制:創建新文件前檢查磁盤空間,不足且已有 ≥2 文件時刪除最舊文件騰空間,防止目錄寫滿
啟用輪換日誌實戰演示
# 啟用前:僅 db2diag.log, db2hia.nfy
sapsu2:db2hia 5% db2 update dbm cfg using DIAGSIZE 2
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
# 重啟後:生成 db2diag.0.log, db2hia.0.nfy
# 運行一段時間後:db2diag.6.log ~ db2diag.15.log 依次產生

禁用輪換日誌
db2 update dbm cfg using DIAGSIZE 0 # 重啟實例後恢復單文件模式
工具生態無縫支持
- db2diag:讀取所有輪換文件,輸出格式無變化
- PD_GET_DIAG_HIST 表函數:自動掃描所有輪換文件返回結果
- db2support:支援收集輪換日誌打包
生產環境最佳實踐建議
官方文檔建議:DIAGSIZE > 50MB 且 ≤ DIAGPATH 目錄可用空間 80%。
實戰經驗值:觀察每週 db2diag.log 增長量決定配置。SAP 系統典型增長 2-4 MB/週,建議設 1024 MB (1 GB):
- 最多 10 個 × 10 MB 通知日誌
- 最多 10 個 × 90 MB 診斷日誌
- 覆蓋高壓力下大量警告/錯誤場景,避免關鍵診斷信息被覆蓋
總結
DB2 9.7 輪換日誌通過 DIAGSIZE 統一配額控制、固定 10 文件輪換、Early Totaling 磁盤保護、工具鏈無縫兼容,實現「零運維負擔、零磁盤風險、零支援延遲」的診斷日誌管理新體驗。生產系統強烈建議啟用並按業務增長率科學設定配額。
- 上一篇文章: DB2 9.5 SQL Procedure Developer 認證考試 735 备考指南:第三部分 UDF 與 SQL 函數全維度解析
- 下一篇文章: DB2 備份恢復性能極致優化:原理、參數與 SAP 系統實戰全紀錄
Copyright ©
程式碼之家 All Rights Reserved