在 CentOS 上安装 Informix 时,有几个常见且容易踩坑的点,我按“系统准备 → 安装 → 配置 → 常见坑”来总结,适用于目前主流的 Informix 版本(11.7 / 12.1 / 14.x)。
cat /etc/centos-release
uname -m # x86_64
Informix 不建议用 root 运行
groupadd informix
useradd -g informix -d /home/informix -m informix
passwd informix
CentOS 最小化安装常缺库:
yum install -y \
glibc \
libstdc++ \
libaio \
ncurses \
pam \
ksh \
gcc
有些老版本 Informix 还需要:
yum install -y compat-libstdc++-33
编辑:
vi /etc/sysctl.conf
建议添加:
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.sem = 250 32000 100 128
生效:
sysctl -p
编辑 ~/.bash_profile:
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=ol_informix
export PATH=$INFORMIXDIR/bin:$PATH
export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$LD_LIBRARY_PATH
生效:
source ~/.bash_profile
tar -xvf ibm.informix-14.x.tar
./ids_install
或静默安装:
./ids_install -i silent -f response_file
/opt/informix
常见方式:
mkdir -p /informix/chunks
chown -R informix:informix /informix
cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig
vi $INFORMIXDIR/etc/onconfig
重点参数:
ROOTPATH /informix/chunks/rootdbs
ROOTSIZE 300000
vi $INFORMIXDIR/etc/sqlhosts
示例:
ol_informix onsoctcp localhost 9088
oninit -iv
成功后:
onstat -
DB_LOCALE=zh_CN.utf8
CLIENT_LOCALE=zh_CN.utf8
firewall-cmd --add-port=9088/tcp --permanent
firewall-cmd --reload
setenforce 0
或:
vi /etc/selinux/config
SELINUX=disabled
vi /etc/rc.d/rc.local
su - informix -c "oninit"
chmod +x /etc/rc.d/rc.local
Informix 对内存较敏感,建议:
SHMVIRTSIZE✅ informix 用户存在
✅ 依赖库齐全
✅ 内核参数调整
✅ 环境变量正确
✅ 端口未占用
✅ SELinux 关闭
✅ chunk 文件权限正确
如果你愿意,可以告诉我:
我可以给你 一份可直接用的 onconfig + sqlhosts 示例配置。