温馨提示×

linux informix怎么排错

小樊
40
2026-10-05 00:24:02
栏目: 智能运维

在 Linux 上排查 IBM Informix 故障,一般按“看日志 → 看状态 → 看资源 → 看配置 → 看SQL”的顺序来。下面给你一套实用排错思路和常用命令。


一、先确认 Informix 是否在运行

onstat -
  • 正常:显示 On-Line
  • 异常:可能 Off-Line / Initialization / Recovery

查看进程:

ps -ef | grep oninit

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

1. 在线日志(Online Log)

onstat -m

或看文件:

cat $INFORMIXDIR/tmp/online.log

(路径由 MSGPATH 决定)

常见错误:

  • Cannot open chunk
  • Long transaction aborted
  • Logical log full
  • Out of memory

三、数据库 & 实例状态检查

onstat -p   # 性能
onstat -l   # 逻辑日志
onstat -d   # dbspace / chunk
onstat -u   # 用户会话
onstat -g ses   # 会话详情

四、常见故障及处理方法

1️⃣ 数据库无法启动

检查:

onstat -

看 online.log 中是否有:

  • chunk 文件不存在
  • 权限不对(informix:informix)
  • 磁盘满

修复示例:

chown informix:informix /data/chunk1
chmod 660 /data/chunk1

2️⃣ 逻辑日志满(Logical Log Full)

onstat -l

若很多 U 且未备份:

onmode -l   # 切换日志
ontape -a   # 备份日志

3️⃣ 长事务(Long Transaction)

onstat -u | grep -i L

找到会话:

onmode -z <session_id>

4️⃣ 连接失败

isql dbname

常见原因:

  • sqlhosts 配置错误
  • 端口未监听
netstat -an | grep 1526

检查:

cat $INFORMIXSQLHOSTS

五、系统资源排查

df -h
free -m
top

Informix 对:

  • 磁盘空间
  • 共享内存
  • 文件描述符

非常敏感。


六、配置检查

onstat -c

重点看:

  • ROOTPATH
  • DBSERVERNAME
  • MSGPATH
  • LOGSIZE
  • BUFFERPOOL

七、SQL 级排错

慢 SQL:

SET EXPLAIN ON;

生成 sqexplain.out

锁问题:

onstat -k
onstat -g sql

八、排错速查清单 ✅

  • [ ] onstat - 是否正常
  • [ ] online.log 有无报错
  • [ ] chunk / dbspace 是否可用
  • [ ] 逻辑日志是否满
  • [ ] 是否有长事务
  • [ ] 网络 / sqlhosts 是否正常
  • [ ] 磁盘 / 内存是否不足

如果你能贴出:

  • onstat - 输出
  • online.log 报错片段
  • 具体现象(起不来 / 连不上 / 慢)

我可以帮你精确定位问题。

0 踩