在 Ubuntu 上排查 IBM Informix 错误,通常需要从 日志、错误码、实例状态、系统资源、配置 几个层面入手。下面给你一套比较实用的排查思路和常用命令。
onstat -
常见状态:
On-Line:正常Quiescent:只读/维护Off-Line:未启动Recovery:恢复中查看实例列表:
onstat -g cfg | head
cat $INFORMIXDIR/tmp/online.log
或实时查看:
tail -f $INFORMIXDIR/tmp/online.log
如果改过路径,用:
onstat -c | grep MSGPATH
如果是 JDBC / ODBC:
Informix 错误通常有两种:
finderr 201
或:
$INFORMIXDIR/msg/en_us/0333/*.txt
finderr -i 107
常见示例:
-206:表不存在-1215:锁冲突-951:用户/密码错误-25580:网络连接失败onstat -g ntt
grep informix /etc/services
telnet localhost 9088
# 或
nc -vz localhost 9088
sudo ufw status
free -h
Informix 共享内存问题常见:
ipcs -m
df -h
top
ps -ef | grep oninit
onstat -c
重点看:
ROOTPATHDBSPACESLOGFILESLOCKSdbaccess sysmaster -
SELECT * FROM sysmessages WHERE sqlcode = -206;
查看锁:
onstat -g ppf
onstat -g ses
onstat -g sql
sysctl kernel.shmmax
sysctl kernel.shmmni
INFORMIXDIR
INFORMIXSERVER
PATH
LD_LIBRARY_PATH
ls -l $INFORMIXDIR
id informix
onstat - 看状态tail online.log 看错误finderr 错误码onmode -ky && oninit如果你有具体报错信息或 SQLCODE,可以直接贴出来,我可以帮你精确定位原因。