在 CentOS 上调试 IBM Informix(通常指排查数据库问题、性能问题、连接问题等),可以从系统层、数据库层、日志层、工具层几个方面入手。下面给你一套比较实用的调试思路和常用命令。
onstat -
正常会显示:
IBM Informix Dynamic Server Version 12.10 ...
Status: On-Line
如果提示:
shared memory not initialized
说明数据库没起来。
onstat -g cfg | head
onstat -g ses
cd $INFORMIXDIR/tmp
ls -l *.log
或直接:
onstat -m
常见日志位置:
$INFORMIXDIR/tmp/<instance>.log
tail -f /var/log/messages
echo $INFORMIXDIR
echo $INFORMIXSERVER
echo $ONCONFIG
dbaccess <dbname> -
或:
isql <dbname>
netstat -an | grep 1526
(端口取决于 sqlhosts)
查看:
cat $INFORMIXDIR/etc/sqlhosts
onstat -g ses
onstat -g lck
onstat -g wai
onstat -x
onstat -g cpu
onstat -g mem
ps -ef | grep oninit
ulimit -a
Informix 对:
getenforce
建议测试时:
setenforce 0
systemctl status firewalld
cat $INFORMIXDIR/etc/sqlhosts
确认:
ipcs -m
ipcrm -m <shmid>
onstat -
onstat -m
onstat -g ses
onstat -g lck
tail -f $INFORMIXDIR/tmp/*.log
你可以告诉我:
我可以给你针对性的调试步骤或脚本。