Ubuntu 上配置 IBM Informix 的标准流程
一 环境准备与用户
- 更新系统并安装基础工具(可选):sudo apt update && sudo apt install -y curl wget unzip lsb-release
- 创建专用用户与组(示例使用固定 UID/GID,便于多机一致化):
- sudo groupadd -g 3000 informix
- sudo useradd -u 3000 -g 3000 -d /opt/informix -m informix
- sudo passwd informix
- 准备安装介质(示例为解压安装包,实际以 IBM 提供的安装程序为准):tar xvf IBM.IDS.*.tar 或 ids_install 安装器
二 安装与目录规划
- 以 informix 用户安装(避免 root 直接安装):
- 进入解压目录或安装器目录:cd /opt/informix 或 cd /opt/informix/SERVER
- 执行安装:./installserver 或 ./ids_install(按向导选择安装目录,如 /opt/informix)
- 目录与权限建议:
- 数据目录:mkdir -p /opt/informix/data;chown informix:informix /opt/informix/data
- 临时目录:mkdir -p /opt/informix/tmp;chown informix:informix /opt/informix/tmp
- 日志目录:mkdir -p /opt/informix/tmp;chown informix:informix /opt/informix/tmp
- 创建初始设备文件(示例):touch /opt/informix/data/rootdbs;chmod 660 /opt/informix/data/rootdbs;chown informix:informix /opt/informix/data/rootdbs
三 环境变量与核心配置文件
- 以 informix 用户配置环境变量(写入 ~/.bash_profile 或 ~/.profile 并 source 使其生效):
- export INFORMIXDIR=/opt/informix
- export INFORMIXSERVER=informix(自定义实例名)
- export ONCONFIG=onconfig.informix
- export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
- export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
- export PATH=$INFORMIXDIR/bin:$PATH
- 初始化 onconfig(复制模板并修改关键项):
- cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.informix
- 关键参数示例:
- ROOTNAME rootdbs
- ROOTPATH /opt/informix/data/rootdbs
- ROOTOFFSET 0
- ROOTSIZE 300000(单位 KB,示例约 300 MB,可按需调整)
- MSGPATH $INFORMIXDIR/tmp/online.log
- DBSERVERNAME informix
- 配置网络与主机解析:
- /etc/services 增加:informix_services 8888/tcp
- $INFORMIXDIR/etc/sqlhosts 增加:
- informix onipcshm localhost informix_services
- informix onsoctcp localhost informix_services
- /etc/hosts 确保包含:127.0.0.1 localhost
四 初始化与启停验证
- 初始化实例(首次安装常用):oninit -ivy(交互式初始化,含创建系统表等)
- 常用启停与状态检查:
- 启动:oninit -v 或 onmode -c startup
- 停止:onmode -ky
- 快速状态:onstat -
- 详细状态:onstat -i
- 本地连通性验证:dbaccess - -(进入交互式命令行,如无报错说明本地实例可用)
五 客户端连接与常见问题
- 客户端安装与连接(Ubuntu 客户端或应用服务器):
- 安装 IBM Informix Client SDK(.deb 或 .rpm,必要时用 alien 转换),或直接使用服务器目录作为客户端
- 配置环境变量(与服务器一致):INFORMIXDIR、INFORMIXSERVER、INFORMIXSQLHOSTS、LD_LIBRARY_PATH、PATH
- 客户端 sqlhosts 示例(与服务器一致):
- informix onsoctcp 服务器IP informix_services
- 测试连接:isql -v informix 用户名 密码
- 常见问题与排查要点:
- 权限与属主:确保 /opt/informix 及其子目录属主为 informix:informix,设备文件权限 660
- 环境变量:确认当前会话已 source 配置文件,echo $INFORMIXDIR、$INFORMIXSERVER、$ONCONFIG 是否正确
- 端口与防火墙:/etc/services 与 sqlhosts 的端口一致(如 8888/tcp),云主机需放行安全组/防火墙
- 共享内存与信号量:必要时调整内核参数(如 kernel.shmmax、kernel.sem),并重启
- 字符集:如需中文,设置环境变量(示例)CLIENT_LOCALE=zh_CN.gb、DB_LOCALE=zh_CN.gb、SERVER_LOCALE=zh_CN.gb
- 日志定位:查看 $INFORMIXDIR/tmp/online.log 获取启动失败或运行报错详情