温馨提示×

ubuntu如何排查informix错

小樊
50
2026-10-08 05:37:30
栏目: 智能运维

在 Ubuntu 上排查 IBM Informix 错误,通常需要从 日志、错误码、实例状态、系统资源、配置 几个层面入手。下面给你一套比较实用的排查思路和常用命令。


一、确认 Informix 是否正常运行

onstat -

常见状态:

  • On-Line:正常
  • Quiescent:只读/维护
  • Off-Line:未启动
  • Recovery:恢复中

查看实例列表:

onstat -g cfg | head

二、查看 Informix 错误日志(最重要)

1. 在线日志(核心日志)

cat $INFORMIXDIR/tmp/online.log

或实时查看:

tail -f $INFORMIXDIR/tmp/online.log

如果改过路径,用:

onstat -c | grep MSGPATH

2. 应用层错误

如果是 JDBC / ODBC:

  • 查看应用日志
  • 关注 SQLCODE / ISAM 错误

三、根据错误码排查

Informix 错误通常有两种:

1. SQLCODE(SQL 错误)

finderr 201

或:

$INFORMIXDIR/msg/en_us/0333/*.txt

2. ISAM 错误(底层存储)

finderr -i 107

常见示例:

  • -206:表不存在
  • -1215:锁冲突
  • -951:用户/密码错误
  • -25580:网络连接失败

四、检查端口与网络连接(Ubuntu 特有)

1. 查看 Informix 端口

onstat -g ntt
grep informix /etc/services

2. 测试端口连通性

telnet localhost 9088
# 或
nc -vz localhost 9088

3. 防火墙(Ubuntu)

sudo ufw status

五、检查系统资源

1. 内存

free -h

Informix 共享内存问题常见:

ipcs -m

2. 磁盘空间

df -h

3. CPU / 进程

top
ps -ef | grep oninit

六、检查实例配置

onstat -c

重点看:

  • ROOTPATH
  • DBSPACES
  • LOGFILES
  • LOCKS

七、数据库级别排查

dbaccess sysmaster -

SELECT * FROM sysmessages WHERE sqlcode = -206;

查看锁:

onstat -g ppf
onstat -g ses
onstat -g sql

八、常见 Ubuntu 特有坑

  1. 共享内存参数
sysctl kernel.shmmax
sysctl kernel.shmmni
  1. 用户环境变量 确保:
INFORMIXDIR
INFORMIXSERVER
PATH
LD_LIBRARY_PATH
  1. 权限问题
ls -l $INFORMIXDIR
id informix

九、快速排查流程建议

  1. onstat - 看状态
  2. tail online.log 看错误
  3. finderr 错误码
  4. 网络 / 权限 / 磁盘
  5. 必要时 onmode -ky && oninit

如果你有具体报错信息或 SQLCODE,可以直接贴出来,我可以帮你精确定位原因。

0 踩