Linux 上 Informix 启动失败 的原因很多,需要结合 具体报错信息。下面我按最常见原因 → 排查思路 → 解决方法给你一个系统性的排查清单。
常见启动命令:
oninit -v
或
oninit
如果失败,先看 返回码和日志。
Informix 必须正确设置以下环境变量:
INFORMIXDIR
INFORMIXSERVER
ONCONFIG
INFORMIXSQLHOSTS
PATH
LD_LIBRARY_PATH
✅ 检查:
env | grep INF
env | grep ONCONFIG
✅ 正确示例:
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql
⚠ 常见错误:
INFORMIXSERVER 与 onconfig 中不一致ONCONFIG 指向不存在的文件检查:
$INFORMIXDIR/etc/$ONCONFIG
重点检查:
ROOTPATH
MSGPATH
SERVERNUM
DBSERVERNAME
✅ 常见错误:
ROOTPATH 不存在或权限不足DBSERVERNAME 与 INFORMIXSERVER 不一致Informix 必须以 informix 用户运行
✅ 检查:
ls -l $INFORMIXDIR
ls -l /path/to/rootdbs
✅ 权限应为:
informix:informix
修复示例:
chown informix:informix /opt/informix -R
chmod 660 /opt/informix/storage/rootdbs
检查:
$INFORMIXDIR/etc/sqlhosts
示例:
ol_informix onsoctcp 127.0.0.1 9088
✅ 检查端口是否被占用:
netstat -tunlp | grep 9088
✅ 错误示例:
onsoctcp 写成 ontlitcp)常见于:
✅ 查看日志:
$INFORMIXDIR/msg/online.log
✅ 强制清理:
onclean -ky
oninit -v
异常断电、kill -9 等
✅ 解决:
oninit -iy # ⚠ 会初始化实例(慎用)
或:
oninit -v
检查:
ipcs -m
Informix 需要:
示例(Linux):
sysctl -w kernel.shmmax=2147483648
tail -200f $INFORMIXDIR/msg/online.log
oninit -v
onstat -
你可以直接贴出以下信息(越全越好):
onconfig 中:ROOTPATH
DBSERVERNAME
sqlhosts 内容我可以 逐行帮你分析并给出精确解决方案 ✅