DB2 創建數據庫時默認分配 3 個主日志文件:Linux/UNIX 各 1000 頁(4KB/頁),Windows 各 250 頁。日志文件數量由 LOGPRIMARY、大小由 LOGFILSIZ 控制。日志策略決定文件如何循環使用:
LOGSECOND 控制上限),事務提交後文件可覆寫。USEREXIT=ON)搬移至歸檔存儲。當事務量大、長事務導致 256 個日志文件上限仍不足時,啟用無限活動日志:
UPDATE DB CFG FOR sample USING USEREXIT ON LOGSECOND -1
機制:
LOGPRIMARY 個)常駐活動日志路徑。| 參數 | 無限活動日誌值 | 說明 |
|---|---|---|
| USEREXIT | ON | 啟用用戶退出程序搬移歸檔日志 |
| LOGSECOND | -1 | 標識無限次要日志模式 |
| LOGPRIMARY | 建議 20-50 | 主日志數量,覆蓋 95% 事務 |
| LOGFILSIZ | 4000-8000 (4KB頁) | 單文件 16-32MB,平衡分配頻率與恢復速度 |
LOGINDEXBUILD ON 避免索引重建產生海量日志。ARCHIVE_PATH 就近掛載。db2prune logfile prior to Sxxxxx.LOG 清理無效歸檔。DB2 提供 sqllib/samples/c/db2uext2.cdisk 示例(磁盤複製模式),需修改 ARCHIVE_PATH、RETRIEVE_PATH、AUDIT_ERROR_PATH 為專用文件系統,編譯後放入 sqllib/bin/db2uext2(UNIX)或 sqllib/bin/db2uext2.exe(Windows),確保實例用戶可執行權限。