温馨提示×

ubuntu如何修复informix

小樊
38
2026-10-17 00:10:01
栏目: 智能运维

在 Ubuntu 上“修复 Informix”通常取决于具体出了什么问题(起不来、连不上、数据损坏、安装异常等)。下面我按最常见场景给你一套实用排查与修复思路,你可以对照使用。


一、先确认基础环境

1. 查看 Informix 是否安装

which oninit
which onstat
ls /opt/informix

常见安装目录:

  • /opt/informix
  • /usr/informix

2. 检查环境变量

echo $INFORMIXDIR
echo $INFORMIXSERVER
echo $ONCONFIG

正常应类似:

INFORMIXDIR=/opt/informix
INFORMIXSERVER=ol_informix
ONCONFIG=onconfig.ol_informix

如果缺失:

source /opt/informix/informix.env

二、Informix 无法启动(最常见)

1. 查看错误日志

cd $INFORMIXDIR
tail -n 100 online.log

常见错误:

  • 共享内存创建失败
  • 磁盘空间不足
  • rootdbs 损坏

2. 尝试手动启动

oninit -v

若失败,可尝试:

oninit -iy

⚠️ 会初始化系统,仅用于空库或测试环境


三、修复 rootdbs / 数据损坏

场景 A:rootdbs 损坏但无备份

oninit -iv

⚠️ 会清空实例


场景 B:有备份(ontape / onbar)

ontape -r

或

onbar -r

四、端口 / 连接问题修复

1. 检查 sqlhosts

cat $INFORMIXDIR/etc/sqlhosts

示例:

ol_informix onsoctcp localhost 9088

2. 检查端口监听

netstat -tunlp | grep 9088

3. 防火墙(Ubuntu)

ufw status

五、Ubuntu 特有常见问题

1. 缺少 32 位库(老 Informix)

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libc6:i386

2. 内核参数不足

编辑:

sudo vi /etc/sysctl.conf

添加:

kernel.shmmax=2147483648
kernel.shmall=524288

执行:

sudo sysctl -p

六、强制清理并重启(最后手段)

onmode -ky
ipcs -m
ipcrm -m <shmid>
oninit -v

七、如果你愿意,我可以更精准帮你

请告诉我:

  1. Informix 版本(如 12.10 / 14.10)
  2. 报错信息(online.log 片段)
  3. 是新装还是运行中断
  4. 是否有备份

我可以直接给你对应命令级修复方案。

0 踩