温馨提示×

ubuntu informix错误怎么排查

小樊
43
2026-10-19 21:38:54
栏目: 智能运维

在 Ubuntu 上排查 IBM Informix 错误,通常可以按“看日志 → 看服务状态 → 看配置 → 看权限/环境 → 看资源”的思路来。下面给你一套实用排查流程(含常用命令)。


一、先确认 Informix 服务状态

onstat -
  • 正常应显示:
    IBM Informix Dynamic Server Version ...
    Status: On-Line
    
  • 如果报错或没启动,继续下面步骤。

查看进程:

ps -ef | grep oninit

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

1. 在线日志(online.log)

cd $INFORMIXDIR
tail -n 200 /informix/online.log

(具体路径看 ONCONFIG 里的 MSGPATH)

常见错误示例:

  • Cannot open chunk
  • Shared memory error
  • Permission denied
  • Logical log full

三、检查环境变量(非常常见坑)

env | grep INFORMIX

必须至少包含:

INFORMIXDIR=/opt/informix
INFORMIXSERVER=ol_informix
PATH=$INFORMIXDIR/bin:$PATH
LD_LIBRARY_PATH=$INFORMIXDIR/lib

如缺失:

source /opt/informix/informix.env

四、检查配置文件

1. ONCONFIG 文件

onstat -c | head

或:

cat $INFORMIXDIR/etc/onconfig

重点检查:

  • ROOTPATH(数据文件是否存在)
  • MSGPATH
  • DBSERVERNAME
  • NETTYPE

2. sqlhosts

cat $INFORMIXDIR/etc/sqlhosts

格式:

ol_informix onsoctcp localhost 9088

Ubuntu 上常见错误:

  • 端口被占用
  • 主机名解析失败

五、权限 & 用户问题(Ubuntu 特有坑)

Informix 必须用 informix 用户运行:

id informix

检查数据文件权限:

ls -l $INFORMIXDIR
ls -l $INFORMIXDIR/chunks

常见错误:

  • root 启动 oninit
  • chunk 文件权限不对

修复示例:

chown informix:informix /informix/data/*
chmod 660 /informix/data/*

六、端口 & 网络问题

netstat -tunlp | grep 9088

或:

ss -tunlp | grep 9088

Ubuntu 防火墙:

ufw status

七、常见错误速查

1. SQL error -329

找不到数据库
→ dbaccess 看数据库是否存在

2. Logical Log Full

onstat -l

→ 做备份或加 logical log

3. Shared memory not initialized

→ oninit 没起来
→ 看 online.log

4. Cannot allocate memory

free -m

→ 调小 SHMVIRTSIZE


八、启动 / 停止命令

oninit -v      # 启动(verbose)
onmode -ky     # 停止

九、快速定位思路总结

  1. onstat - 看状态
  2. online.log 看真实错误
  3. 环境变量是否正确
  4. chunk / 权限 / 端口
  5. Ubuntu 用户 & SELinux/AppArmor(较少但可能)

如果你愿意,可以把:

  • 具体报错信息
  • onstat - 输出
  • online.log 片段

贴出来,我可以直接帮你定位是哪一类问题。

0 踩