Informix在CentOS上的日志文件默认存储路径主要有两类:
/var/log/informix/(常见文件如dbserver.log、online.log,记录数据库服务器运行日志、客户端连接信息等);onconfig文件(通常位于/opt/informix/etc/)修改过日志路径,需以onconfig中的LOGFILE参数为准(如LOGFILE=/opt/informix/log/onlog)。ls -l /var/log/informix/或cat /opt/informix/etc/onconfig | grep LOGFILE确认日志文件位置。使用Linux常用命令快速查看和分析日志内容:
tail -f /var/log/informix/dbserver.log(动态跟踪最新日志,适用于监控实时问题);less /var/log/informix/dbserver.log(支持上下翻页、搜索,适合详细查看历史日志);grep "ERROR" /var/log/informix/dbserver.log(筛选包含“ERROR”的错误日志,快速定位问题);grep "ERROR" /var/log/informix/dbserver.log | sort | uniq -c(统计各类错误的出现次数,识别高频问题)。Informix提供内置工具,可深入解析日志和数据库状态:
onstat命令:监控数据库状态,查看物理/逻辑日志信息。常用选项:
onstat -l:显示逻辑日志状态(如日志文件是否已满、是否需要备份);onstat -d:查看数据库空间使用情况(包括chunk状态,判断是否有I/O错误);onstat -k:检查锁冲突(如锁等待、死锁,定位导致应用卡住的会话)。onlog命令:解析事务日志(物理日志/逻辑日志),查看具体事务操作。例如:onlog -f /opt/informix/log/online.log(跟踪日志中的事务记录,用于故障恢复或审计)。onparams命令:管理日志文件大小和数量(需修改onconfig后重启服务)。例如:onparams -l +100(增加逻辑日志大小100MB),onparams -N 6(设置逻辑日志数量为6个)。对于生产环境,可使用以下工具实现集中化、可视化分析:
input { file { path => "/var/log/informix/*.log" } }),过滤解析日志内容(如提取时间、错误级别、SQL语句);避免日志文件过大占用磁盘空间,需配置日志轮转:
logrotate工具:编辑/etc/logrotate.d/informix文件,添加以下配置(示例):/var/log/informix/*.log {
daily # 每天轮转
rotate 7 # 保留7天日志
compress # 压缩旧日志(如.gz格式)
missingok # 若日志不存在也不报错
create 0640 informix informix # 新日志文件权限和所有者
}
手动测试轮转:logrotate -vf /etc/logrotate.d/informix(验证配置是否正确)。onstat -l查看逻辑日志状态(若flags为U------表示未备份),需备份逻辑日志(ontape -s)或增加日志数量(onparams -N);onstat -x -r 10监控长事务回滚进度,通过onstat -ugrep <session_id>查找会话,定位触发长事务的SQL;onstat -k找出锁拥有者,onstat -u关联会话信息,解决锁等待问题。