常见现象:Informix无法启动,日志显示“shared memory not initialized”“无法挂载共享内存”或“GRUB加载项缺失”。
排查步骤:
/var/log/syslog、/var/log/messages)定位具体错误;/opt/informix/data)权限,确保informix用户有读写权限(如chmod 600 /opt/informix/data/rootdbs);常见现象:数据库停止响应,onstat -l显示所有逻辑日志的flags为U------(未备份)。
排查步骤:
onstat -l确认逻辑日志状态,若flags含U则表示未备份;ontape或自定义脚本)是否正常,解决备份失败问题(如磁带满、设备故障);onstat -x查看beginlg)或检查点信息(flags末位为L),需等待事务结束或检查点完成后覆盖;onparams -a -d <DBspace> -s <size> -i在当前日志后添加新日志(IDS 9.3及以上版本支持,无需0级备份)。常见现象:启动时报“shared memory not initialized”、无法访问数据库或执行管理命令。
排查步骤:
/opt/informix/data目录及下属文件(如rootdbs、log目录)权限,确保informix用户拥有所有权(chown -R informix:informix /opt/informix/data);/etc/profile或~/.bash_profile中设置了正确的环境变量(如INFORMIXDIR=/opt/informix、ONCONFIG=onconfig);sudo(如sudo service informix start)。常见现象:客户端无法连接服务器,报“无法连接到主机”“连接超时”或“端口拒绝”。
排查步骤:
ping <服务器IP>测试网络连通性;/etc/resolv.conf中的DNS配置是否正确,确保能解析服务器域名;ufw或iptables)允许Informix端口(默认9088、9089)通过(如sudo ufw allow 9088/tcp);常见现象:数据库中出现中文乱码,onstat -g cfg显示DB_LOCALE或CLIENT_LOCALE设置不正确。
排查步骤:
~/.bash_profile或/etc/profile中添加):export DB_LOCALE=en_US.utf8、export CLIENT_LOCALE=en_US.utf8;onmode -ky停止,oninit -v启动);CREATE DATABASE mydb WITH LOG MODE ANSI CHARSET UTF8)。常见现象:应用报错-243(无法定位表中数据)、-244(无法物理读取下一行)或-911(死锁)。
排查步骤:
onstat -k查看锁信息,通过partnum(表的物理分区号)定位锁定的表(oncheck -pt <数据库名>:<表名>获取partnum);onstat -u | grep <owner_address>找到持有锁的会话ID(sid);onmode -z <sid>终止会话释放锁;DIRTY READ(SET ISOLATION TO DIRTY READ)、将表锁改为行锁(ALTER TABLE <表名> LOCK MODE ROW)、设置锁等待时间(LOCK MODE WAIT n)。常见现象:日志中出现“chunk I/O error”,onstat -d显示chunk的flag为down,无法访问对应数据。
排查步骤:
dd命令测试磁盘设备是否正常(如dd if=/dev/<chunk设备> of=/dev/null bs=1M count=100);onstat -d中的path)是否存在,权限是否正确(chown informix:informix /dev/<chunk设备>);df -h),避免因空间不足导致I/O失败;onconfig中的PATH参数)。常见现象:数据库响应缓慢、onstat -g seg显示缓冲池命中率低、top显示CPU或内存占用过高。
排查步骤:
top或htop监控系统资源,找出占用过高的进程(如oninit、onstat);BUFFERPOOL参数,onconfig中修改),提高缓存命中率;swap),避免内存耗尽导致OOM;journalctl -u informix(systemd系统)、tail -f /opt/informix/log/<日志文件>;top(实时进程)、df -h(磁盘空间)、iostat -x 1(磁盘I/O)、netstat -tulnp(网络连接);onstat -g seg(段状态)、onstat -g cfg(配置参数)、onstat -g dri(锁信息)、onstat -g env(环境变量)。