LOGFILSIZ 是控制 DB2 交易日誌檔案大小的關鍵配置參數,直接影響資料庫的恢復能力、效能表現與磁碟空間使用。適當設定此參數能在高交易量環境下平衡效能與資源消耗。
| 屬性 | 設定值 |
|---|---|
| 配置層級 | 資料庫級 |
| 參數類型 | 可動態調整 |
| 預設值 | 1,000 頁(4 KB 頁面,約 4 MB) |
| 允許範圍 | 4 ~ 524,288 頁 |
| 度量單位 | 4 KB 頁面 |
當主日誌檔填滿且交易已提交,空間會被重複使用。若日誌檔過小且存在大量未提交交易,主日誌會快速填滿,迫使資料庫管理器分配次要日誌檔,增加 I/O 開銷。
主日誌填滿時會被歸檔,並分配新的主日誌檔。過小的日誌檔會導致頻繁歸檔作業,影響系統效能;過大的日誌檔則可能超過備份媒體容量,降低管理彈性。
LOGFILSIZ 減少日誌切換頻率。LOGPRIMARY(主日誌數)與 LOGSECOND(次要日誌數)共同考量。活動日誌空間上限 = LOGFILSIZ × (LOGPRIMARY + LOGSECOND),最高 512 GB。-- 連線資料庫
db2 connect to mydb
-- 將日誌檔大小調整為 10,000 頁 (約 40 MB)
db2 update db cfg for mydb using LOGFILSIZ 10000
-- 變更生效需重新啟動資料庫(所有連線中斷後)
db2 force applications all
db2 deactivate db mydb
db2 activate db mydb
使用 db2 get db cfg for mydb | find "LOGFILSIZ" 確認設定值;透過 db2pd -db mydb -logs 觀察日誌使用狀況與切換頻率,作為後續微調依據。