Informix在Linux系统中的日志文件默认存储路径为**/opt/informix/log/(可通过ls /opt/informix/log命令验证),主要包含在线日志(onlog)、物理日志(物理变化记录)、逻辑日志(逻辑操作记录)及审计日志(adtcfg配置)等。部分系统可能将日志集中存放在/var/log/informix/**目录下,具体路径需以onconfig文件中的LOGFILE参数配置为准。
日志配置主要通过修改onconfig文件(通常位于/opt/informix/etc/)实现,关键参数及设置如下:
LOGFILE指定日志文件路径(如LOGFILE=/opt/informix/log/onlog);LOGFILESIZE设置单个日志文件最大大小(单位:MB,如LOGFILESIZE=1024表示1GB);LOGFILENUM定义日志文件数量(如LOGFILENUM=4表示保留4个日志文件)。LOGLEVEL控制日志记录详细程度,常见取值:0(关闭所有日志)、1(仅错误信息)、2(错误+警告)、3(错误+警告+一般信息)、4(记录所有信息,适用于调试)。PHYSICAL_LOGS指定物理日志文件数量,PHYSICAL_LOG_SIZE设置单个物理日志文件大小(如PHYSICAL_LOG_SIZE=2000表示2GB),物理日志用于保障数据物理一致性。onstat -l:查看逻辑日志状态(包括日志文件使用率、当前活动日志等);onstat -g log:查看物理日志及在线日志详细信息(如日志文件路径、大小、轮转状态);tail -f /opt/informix/log/onlog:实时跟踪日志文件最新内容(适用于故障排查);grep "error" /opt/informix/log/*.log:过滤日志中的错误信息(快速定位问题)。编辑/etc/logrotate.d/informix配置文件,设置轮转规则(示例):
/opt/informix/log/*.log {
daily # 每天轮转
rotate 7 # 保留7天日志
compress # 压缩旧日志(节省空间)
delaycompress # 延迟压缩(避免影响当前日志写入)
missingok # 忽略缺失日志文件
notifempty # 空日志不轮转
create 640 informix informix # 创建新日志文件并设置权限/所有者
sharedscripts # 所有日志轮转完成后执行postrotate
postrotate
/usr/lib/rsyslog/rsyslog-rotate # 通知rsyslog重新加载配置
endscript
}
/usr/sbin/logrotate -f /etc/logrotate.d/informix强制立即轮转。通过crontab -e添加定时任务(如每天凌晨1点轮转):
0 1 * * * /opt/informix/bin/onlog -r /opt/informix/log/onlog.0
确保日志轮转不影响数据库正常运行。
逻辑日志是数据库恢复的关键,需定期备份并清理旧日志:
使用ontape命令进行0级备份(全量备份逻辑日志):
ontape -s # 执行0级备份(需提前配置磁带设备或目录)
备份前需确保数据库处于归档日志模式(LOGMODE=ANSI),避免数据丢失。
onstat -l获取当前逻辑日志ID列表;onparams -d -l logid命令删除指定ID的旧日志(需先备份,避免影响恢复)。通过编辑INFORMIXDIR/aaodir/adtcfg文件(如/opt/IBM/informix/aaodir/adtcfg),配置审计参数(如记录用户登录、权限变更、数据修改等操作),生成审计日志。审计日志可帮助调查安全事件,满足合规性要求。
确保日志文件仅能被informix用户和root用户访问(如chown informix:informix /opt/informix/log/*.log,chmod 640 /opt/informix/log/*.log),防止未授权用户篡改或删除日志。