Linux 上 Informix 日志管理实操指南
一 日志类型与定位
- 在线日志 online.log:记录数据库引擎运行与告警,路径由 ONCONFIG 的 MSGPATH 指定,常见为 $INFORMIXDIR/online.log。用于日常排错与审计线索。
- 逻辑日志 Logical Logs:记录事务的开始、提交、回滚及行级变更,用于事务一致性与时间点恢复。
- 物理日志 Physical Log:记录数据页的前镜像,用于快速恢复与一致性保障。
- 审计日志:启用后可记录关键安全事件,配置文件位于 $INFORMIXDIR/aaodir/adtcfg。
- 备份相关日志:如使用 ontape 的归档/备份会生成相应日志,便于追踪备份历史与状态。
以上日志类型与定位是日常管理的基础,建议将在线日志与数据/日志分盘存放以降低 I/O 争用。
二 常用查看与监控命令
- 查看在线日志:tail -f $INFORMIXDIR/online.log(实时查看最新消息)。
- 查看逻辑/物理日志状态:onstat -l(逻辑日志总体与占用)、onstat -d(数据库空间与物理日志概况)。
- 查看近期消息与告警:onstat -m(便于快速定位最近错误或告警)。
- 系统级监控:结合 Nagios/Zabbix 对关键指标与日志关键字设置告警,或使用 journalctl 跟踪 systemd 相关输出(如引擎启停与异常)。
这些命令覆盖日常巡检、问题定位与主动监控的主要场景。
三 在线日志轮转与清理
- 手动切换在线日志:执行 onmode -l,会触发一次检查点并切换到新的 online.log 文件,便于归档当前日志。
- 自动轮转建议:使用 logrotate 管理 online.log,避免无限增长。示例配置(/etc/logrotate.d/informix):
/opt/informix/online.log {
daily
rotate 30
compress
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP cat $INFORMIXDIR/etc/oninit.pid
endscript
}
要点:轮转后通过 HUP 通知引擎重新打开日志文件;保留周期与压缩策略按合规与磁盘容量设定。
四 逻辑日志与物理日志管理
- 逻辑日志
- 查看状态:onstat -l(关注 uncommitted、backed-up 等状态)。
- 备份与释放:定期执行 ontape -a 归档当前逻辑日志,归档完成后执行 onmode -c 检查点并释放已备份日志;全量备份可用 ontape -s -L 0。
- 扩容:当空间紧张或频繁等待日志切换时,使用 onparams -a -d -s <size_kb> 增加逻辑日志文件。
- 清理:仅删除已备份且不再需要的日志,使用 onparams -d -l ;删除前务必确认已成功备份并释放。
- 物理日志
- 位置与大小由 onconfig 参数控制,建议放在高性能磁盘并与数据盘分离;调整前评估对检查点与恢复时间的影响。
- 长事务控制
- 长事务会阻塞日志备份与回收,需通过应用优化、分批提交或调整业务逻辑降低持有时间,避免日志满与回滚风暴。
以上流程确保事务可回放、空间可回收,并降低日志满导致实例异常的风险。
五 日志模式与备份恢复策略
- 日志模式(建库时指定)
- WITH LOG:非缓冲日志,提交即落盘,安全性高、I/O 较高。
- WITH BUFFERED LOG:缓冲日志,性能更好,但崩溃可能丢失未刷盘的缓冲日志。
- 无日志:不写日志,性能最高,不支持事务与时间点恢复,仅用于特定场景。
- 备份与恢复
- 常用工具:ontape(逻辑备份/归档、全量/增量)与 dbbackup/dbrestore(物理备份/恢复)。
- 建议策略:定期 0 级全量备份,期间按 RPO 执行 逻辑日志归档(ontape -a);恢复时先恢复最近的全量,再应用归档日志回到目标时间点。
- 审计与合规:启用审计并定期审查 adtcfg 配置与审计日志,确保关键操作可追溯。
上述模式选择与备份恢复组合,是在性能、数据安全与恢复目标之间取得平衡的关键。