温馨提示×

如何排错linux informix

小樊
45
2026-10-16 17:08:51
栏目: 智能运维

在 Linux 上排查 IBM Informix 问题,通常遵循“分层定位”的思路:
系统层 → 数据库实例层 → 连接层 → SQL/应用层。下面给你一套实用排错清单。


一、先确认基础状态

1. 数据库是否在运行

onstat -

常见状态:

  • On-Line:正常
  • Quiescent:受限模式
  • Shutdown:已停
  • Recovery:恢复中

如果没运行:

oninit -v

2. 查看 Informix 环境变量

env | grep INFORMIX

关键变量:

  • INFORMIXDIR
  • INFORMIXSERVER
  • ONCONFIG
  • PATH 包含 $INFORMIXDIR/bin

示例:

export INFORMIXDIR=/opt/ibm/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH

二、查看日志(最重要)

1. 在线日志(Online Log)

onstat -m

或查看文件:

$INFORMIXDIR/tmp/ol_informix.log

(路径在 onconfig 的 MSGPATH 中)

重点看:

  • ERROR
  • FATAL
  • long transaction
  • disk full
  • locks

2. 系统日志

/var/log/messages
/var/log/syslog

看是否有:

  • 内存不足(OOM)
  • 磁盘问题
  • 信号杀死(SIGKILL)

三、连接问题排错

1. 测试本地连接

dbaccess dbname -

或

isql dbname

2. 查看监听端口

onstat -g ntt

或

netstat -an | grep 1526

sqlhosts 示例:

ol_informix onsoctcp linuxhost 1526

3. 客户端连不上常见原因

  • INFORMIXSERVER 不匹配
  • sqlhosts 配置错误
  • 防火墙
iptables -L
firewall-cmd --list-all

四、性能 / 阻塞问题

1. 查看会话

onstat -u
onstat -g ses

2. 查看锁

onstat -k
onstat -g lock

3. 查看长事务

onstat -x
onstat -g sql

五、磁盘 / 空间问题

1. 检查 chunk 状态

onstat -d

关注:

  • Dbspaces 是否 100%
  • chunk 是否 offline

2. 系统磁盘

df -h

六、配置文件检查

onconfig 关键参数

$INFORMIXDIR/etc/onconfig.ol_informix

重点:

  • ROOTPATH
  • MSGPATH
  • TAPEDEV
  • LOGSIZE
  • LOCKS

七、常见错误速查

现象 可能原因
-25596 实例未启动
-908 网络/sqlhosts 错误
-206 表不存在
-1215 锁冲突
-710 表锁
启动慢 日志恢复 / 磁盘 IO

八、排错建议流程(实战)

  1. onstat -
  2. onstat -m
  3. df -h
  4. onstat -u / -k
  5. 看 sqlhosts + 环境变量
  6. 必要时 oninit -v

如果你愿意,可以告诉我:

  • Informix 版本
  • 具体报错码
  • 是启动失败 / 连接失败 / 慢 / 锁表

我可以直接帮你定位到具体原因和优化方案。

0 踩