“修复 Informix”在 CentOS 上通常指 Informix 数据库无法启动、损坏、配置异常或数据不一致 时的处理。下面按常见故障场景给你一套可直接操作的修复思路。
onstat -
shared memory not initialized → 未启动on-line → 正常recovery / fast recovery → 正在恢复cat $INFORMIXDIR/tmp/online.log
或
tail -n 200 $INFORMIXDIR/tmp/online.log
echo $INFORMIXDIR
echo $INFORMIXSERVER
echo $ONCONFIG
onclean -ky
ipcs -m
清理残留共享内存:
ipcrm -m <shmid>
再启动:
oninit -v
onstat -
显示 recovery
强制恢复:
oninit -vy
如果一直不结束,可能是 逻辑日志损坏,继续看下面。
log file corruptoninit -PHY
⚠️ 会丢失未提交事务,仅用于恢复启动
然后:
ontape -s -L 0
onstat -d
ontape -r
df -h
清理 $INFORMIXDIR/tmp 或日志
ls -l $INFORMIXDIR
确保属主是 informix:informix
chown -R informix:informix $INFORMIXDIR
getenforce
临时关闭:
setenforce 0
onmode -ky
tar czf informix_bak.tgz $INFORMIXDIR
ontape -r
oninit -v
我可以给你精确命令,请补充:
你可以直接把 online.log 报错贴出来。