Informix数据库在Linux环境下的日志主要分为四类,覆盖事务记录、物理变化、服务器状态及备份操作:
Informix的日志配置主要通过onconfig文件(通常位于$INFORMIXDIR/etc目录,如/opt/informix/etc/onconfig)完成,部分动态参数可通过onparams命令调整。
LOGFILES(逻辑日志文件数量,如LOGFILES 6)、LOGSIZE(每个逻辑日志文件大小,单位KB,如LOGSIZE 200000,约200MB);PHYSFILE(物理日志大小,如PHYSFILE 300000,约300MB)、PHYSBUFF(物理日志缓冲区大小,如PHYSBUFF 128,约128KB);MSGPATH(消息日志路径,如MSGPATH /informix/logs/online.log)、CONSOLE(控制台输出,如CONSOLE /dev/console)。onparams -a -d dbspace_name -s size_in_KB命令(如onparams -a -d rootdbs -s 200000),需指定dbspace(如rootdbs)和大小;onstat -l确认日志状态为“空闲”(F),再用onparams -d -l logid命令(如onparams -d -l 3,logid为日志ID);onparams -p -s size_in_KB -d dbspace_name -y命令(如onparams -p -s 400000 -d rootdbs -y),-y表示自动确认。onstat -l(显示逻辑日志文件的使用情况、状态(U-使用中、F-空闲));onstat -m(快速检查服务器最新状态);tail -f /var/log/informix/logfiles/*(替换为实际日志路径,如/informix/logs/online.log);cat(快速浏览)、less(分页查看)、more(逐页查看)。logrotate是Linux系统自带的日志轮转工具,可避免日志文件过大占用磁盘空间。需创建/etc/logrotate.d/informix配置文件,示例如下:
/var/log/informix/*.log {
daily # 每天轮转一次
rotate 7 # 保留7个轮转日志文件
compress # 压缩旧日志(如.gz格式)
missingok # 若日志文件丢失,不报错
notifempty # 若日志文件为空,不轮转
create 0640 informix informix # 创建新日志文件,权限640,属主/属组为informix
sharedscripts # 所有日志轮转完成后执行postrotate脚本
postrotate
/bin/kill -HUP `cat /informix/tmp/online.pid` 2>/dev/null || true # 通知Informix重新打开日志文件
endscript
}
若需立即轮转日志,可执行/usr/sbin/logrotate -f /etc/logrotate.d/informix命令(-f表示强制轮转)。
onconfig文件中配置LTAPEDEV(逻辑日志备份目录,如LTAPEDEV /informix/backups/logical),并设置ALARMPROGRAM(告警程序);ontape命令,ontape -a备份所有已满的逻辑日志,ontape -s进行0级备份(全量备份)。onstat -l(确认所有逻辑日志状态为“U”);onmode -c(将缓冲区数据写入磁盘,释放逻辑日志空间);ontape -a),再用onparams -d删除旧日志(需确保日志状态为“F”)。/var/log/informix、/informix/logs)有足够空间,避免因日志过大导致数据库停止;informix用户(如chown informix:informix /informix/logs/*.log),避免权限问题;onconfig或logrotate配置后,重启Informix服务(systemctl restart informix)使更改生效,并验证日志是否正常记录。