Informix数据库的日志体系主要分为两类,均需通过配置确保数据安全与可恢复性:
Informix日志的默认存储路径由onconfig配置文件中的LOGPATH参数定义,常见路径包括:
/opt/IBM/informix/etc/log/var/log/informix/opt/informix/log)可通过onstat -l命令查看物理/逻辑日志的当前状态(如使用情况、文件数量)。
onconfig文件)onconfig是Informix的核心配置文件,关键日志参数及配置示例如下:
LOGFILES:逻辑日志文件数量(默认10个,需满足事务需求);LOGSIZE:每个逻辑日志文件大小(默认200000页,约160MB,可根据事务量调整);LOGBUFF:逻辑日志缓冲区大小(默认64页,减少I/O次数,提升性能)。PHYSFILE:物理日志文件大小(默认10000页,约80MB,需覆盖最大事务);PHYSBUFF:物理日志缓冲区大小(默认32页,平衡性能与数据安全性)。LOGLEVEL:日志级别(0=无日志、1=错误、2=警告、3=信息、4=调试,生产环境建议设为3);LOGPATH:日志文件存储路径(需确保目录存在且有足够权限)。修改onconfig文件(路径如$INFORMIXDIR/etc/onconfig)后,需重启Informix服务使配置生效:
onmode -ky # 停止数据库
oninit # 启动数据库
使用logrotate工具实现日志自动轮转,编辑/etc/logrotate.d/informix文件,示例配置如下:
/var/log/informix/logfiles/*.log {
daily # 每天轮转
rotate 7 # 保留7份旧日志
compress # 压缩旧日志(节省空间)
missingok # 日志文件不存在时不报错
notifempty # 日志为空时不轮转
create 0644 informix informix # 创建新日志文件(权限0644,属主/属组为informix)
}
手动触发轮转测试:
/usr/sbin/logrotate -f /etc/logrotate.d/informix
tail -f /var/log/informix/logfiles/*.log;less /var/log/informix/onlog;grep "ERROR" /var/log/informix/dbserver.log(查找错误日志);onlog -r /opt/informix/log/onlog.0(解析逻辑日志,查看事务详情)。informix用户拥有(属主/属组为informix),避免权限问题导致日志无法写入;LOGBUFF)和物理日志缓冲区(PHYSBUFF)设置过小会增加I/O次数,过大则占用内存,需根据服务器配置调整;WITH LOG),避免事务丢失。