CentOS 上安装 IBM Informix 的标准流程
一 环境准备
- 创建专用用户与组(推荐 UID/GID 为 1000):
- groupadd -g 1000 informix
- useradd -u 1000 -g 1000 -d /home/informix -m -s /bin/bash informix
- passwd informix
- 创建安装目录并授权:
- mkdir -p /opt/informix
- chown informix:informix /opt/informix
- 安装基础工具(便于解压与后续管理):
- yum install -y tar wget net-tools
- 说明:
- 若使用较新的 CentOS 7,请注意其已于 2024-06-30 停止维护,生产环境建议迁移至 CentOS Stream 8/9 或其他受支持的 RHEL 兼容发行版。
二 获取并安装软件
- 从 IBM 官方获取与系统架构匹配的安装介质(如 x86_64 的 Developer/Express 版),上传至服务器(如 /opt/informix)。
- 解压并运行安装器(两种常见安装器名称):
- 示例 1:tar xvf iif.12.10.FC12DE.linux-x86_64.tar;cd ids_install;./ids_install
- 示例 2:tar xvf informix_install_files.tar;su - informix;cd /home/informix;./installserver
- 安装过程可按需选择非 GUI 模式,保持默认选项完成安装。
三 初始化配置
- 切换到 informix 用户并配置环境变量(写入 ~/.bash_profile 或 ~/.bashrc):
- export INFORMIXDIR=/opt/informix
- export INFORMIXSERVER=ol_informix1210
- export ONCONFIG=onconfig.ol_informix1210
- export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
- export PATH=$INFORMIXDIR/bin:$PATH
- 使配置生效:source ~/.bash_profile
- 准备数据库空间(示例创建 rootdbs):
- mkdir -p $INFORMIXDIR/data
- cd $INFORMIXDIR/data
- touch rootdbs;chmod 660 rootdbs
- 配置网络与服务名(编辑 $INFORMIXDIR/etc/sqlhosts):
- 示例:
- ol_informix1210 onsoctcp 0.0.0.0 9088
- dr_informix1210 drsoctcp 0.0.0.0 9088
- lo_informix1210 onsoctcp localhost 9088
- 说明:将监听地址从 localhost 改为 0.0.0.0 可允许远程访问;端口(如 9088)需在 /etc/services 中定义并保持一致。
- 配置 onconfig(示例关键项):
- cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.ol_informix1210
- 关键参数建议:
- SERVERNUM:在 0–255 内取值,确保唯一
- ROOTNAME=rootdbs
- ROOTPATH=$INFORMIXDIR/data/rootdbs
- ROOTSIZE=1024000(单位 KB,示例约 1TB)
- NETTYPE=soctcp,1,50,CPU
- DBSERVERNAME=ol_informix1210
- TAPEDEV=/dev/null;LTAPEDEV=/dev/null
- 初始化数据库并启动:
- oninit -ivy(首次初始化)
- 后续可用 oninit(或 onmode -sy 转为在线模式)
- 验证与连通性:
- onstat -(查看实例状态)
- 检查端口:ss -lntp | grep 9088 或 netstat -anp | grep 9088
- 远程测试:telnet 服务器IP 9088 或使用 dbaccess 连接测试。
四 防火墙与 SELinux 设置
- 防火墙放行端口(示例端口 9088):
- firewall-cmd --zone=public --add-port=9088/tcp --permanent
- firewall-cmd --reload
- SELinux(如启用)建议保持数据库目录上下文或临时设为宽容模式以便排障:
- 查看状态:getenforce
- 临时宽容:setenforce 0
- 生产环境请按需在 /etc/selinux/config 中配置并恢复 enforcing。
五 常见问题与排障要点
- 监听仅本地:sqlhosts 中主机名若为 localhost,仅本机可连;改为 0.0.0.0 或服务器主机名/IP 以开放远程。
- rootdbs 权限:必须为 660,否则初始化失败。
- 初始化失败排查:查看 $INFORMIXDIR/online.log 定位错误原因。
- 常用运维命令:
- 关闭实例:onmode -ky
- 在线模式切换:onmode -sy
- 状态检查:onstat -
- 连接测试:dbaccess