啟用 LOGRETAIN=ON 後,數據庫支持前滾恢復,活動日志目錄下日志文件不再自動刪除/循環,隨時間無限增長,必須實施歸檔管理。
手工拷貝聯機存檔日志至歸檔目錄可行但低效、易出錯。IBM 強烈建議使用 User Exit 程序 自動化歸檔與檢索。DB2 各平台提供示例程序,易於修改部署。
connect to sample;
update db cfg using logarchmeth1 USEREXIT;
connect reset;
程序必須命名為可執行文件 db2uext2(Windows 下為 db2uext2.exe)。示例源碼位置:
sqllib/samples/c/ 下 db2uext2.ctsm (TSM)、.ctape (磁帶)、.cdisk (磁盤 COPY)、.cxbsa (XBSA,僅 AIX)sqllib/samples/c/ 下 db2uext2.ctsm、.cdisk本文以磁盤 COPY 方案 db2uext2.cdisk 為例。
編輯源碼宏定義(Windows 默認 c:\mylogs\):
#define ARCHIVE_PATH "c:\\mylogs\\"
#define RETRIEVE_PATH "c:\\mylogs\\"
#define AUDIT_ERROR_PATH "c:\\mylogs\\"
cl db2uext2.c
copy db2uext2.exe %DB2PATH%\bin\
db2 "archive log for db sample user db2admin using password"
# 檢查 c:\mylogs 目錄下是否生成歸檔日志文件
.ctsm 示例)。https://www.cncms.com.cn/db2/q372747.Html通過「配置參數→定製示例程序→編譯部署→驗證」四步,落地 DB2 日志自動化歸檔。User Exit 機制將歸檔邏輯內核化,消除人工干預風險,構建可靠的前滾恢復基石。