温馨提示×

centos怎么排查informix错

小樊
47
2026-10-03 01:14:22
栏目: 智能运维

在 CentOS 上排查 Informix 错误,一般可以从 日志、错误信息、数据库状态、系统资源 几个层面入手。下面给你一套比较实用的排查思路(按优先级)。


一、先看错误信息和返回码(最快)

1. 查看 Informix 错误码

Informix 常见错误如:

  • SQLCODE = -206:表不存在
  • SQLCODE = -1215:锁冲突
  • SQLCODE = -908:网络/连接问题

查看错误含义:

finderr 206

finderr 是 Informix 自带工具,需要环境变量已设置。


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

1. 在线日志(Online Log)

默认路径(示例):

$INFORMIXDIR/tmp/online.log

或:

/opt/informix/tmp/online.log

查看最近错误:

tail -200 $INFORMIXDIR/tmp/online.log

常见关键字:

  • ERROR
  • Assert Failure
  • Long transaction
  • Lock
  • Out of memory

三、检查数据库实例状态

1. 查看实例状态

onstat -

正常应显示:

Informix Dynamic Server Version ...
Status: On-Line

常见异常状态:

  • Off-Line
  • Recovery
  • Shutting Down

2. 查看具体模块

onstat -g ses      # 会话
onstat -g sql      # SQL
onstat -g lck      # 锁
onstat -g log      # 日志
onstat -g mem      # 内存

四、连接类问题排查(很常见)

1. 确认实例已启动

onstat -
ps -ef | grep oninit

2. 检查端口和监听

netstat -tunlp | grep 9088   # 端口看 sqlhosts

3. 检查 sqlhosts

cat $INFORMIXDIR/etc/sqlhosts

示例:

demo_on ontlitcp hostName 9088

五、系统层面排查(CentOS)

1. 磁盘空间

df -h

Informix 对 /tmp、$INFORMIXDIR 很敏感。


2. 内存

free -m

3. 内核参数(常见坑)

检查:

ipcs -a

共享内存是否足够:

onstat -g seg

六、常见错误场景速查

1. 数据库无法启动

  • 看 online.log
  • 检查 $INFORMIXDIR/tmp 权限
  • 删除异常 shared memory:
ipclean

2. 锁等待 / 死锁

onstat -g lck
onstat -g ses

3. 长事务

onstat -g lon

七、建议的排查顺序(总结)

  1. 看 SQLCODE / 错误信息
  2. tail online.log
  3. onstat - 看状态
  4. onstat -g 看锁 / 会话 / 日志
  5. CentOS 层:磁盘、内存、网络

如果你方便的话,可以把:

  • 报错信息(SQLCODE)
  • online.log 相关片段
  • onstat - 输出

发出来,我可以帮你精确判断是哪一类问题。

0 踩