Debian 上配置 Informix 的关键要点
一 基础准备与目录规划
- 创建专用系统账号与目录,避免使用 root 运行引擎:
- 创建用户/组:groupadd informix;useradd -g informix -d /opt/informix -m informix
- 数据目录:mkdir -p /dbs;chown informix:informix /dbs;touch /dbs/rootdbs;chmod 660 /dbs/rootdbs
- 安装介质与权限:以 root 执行安装脚本(如 ids_install),完成后确保 $INFORMIXDIR 下产品文件属主为 informix:informix,并按官方 release notes 检查内核与依赖要求。
二 环境变量与配置文件
- 建议以 informix 用户设置并持久化环境变量(写入 ~/.bash_profile 或 ~/.profile):
- export INFORMIXDIR=/opt/informix
- export INFORMIXSERVER=ifxserver
- export ONCONFIG=onconfig.ifxserver
- export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.ifxserver
- export PATH=$INFORMIXDIR/bin:$PATH
- 客户端/SDK 使用场景再加:export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
- 核心配置文件与关键参数:
- onconfig(实例配置):至少明确
- ROOTPATH /dbs/rootdbs
- DBSERVERNAME ifxserver
- 其他如 SERVERNUM 保持唯一;必要时设置 RESIDENT、NOAGE 以优化内存驻留与调度优先级(与平台相关)
- sqlhosts(网络与连接方式):为服务器定义条目,例如
- ifxserver onsoctcp your_ip your_service
- 常见协议:onsoctcp(TCP/IP)、onipcshm(本地共享内存)、onipcshm/onipcpip(本地 IPC)
- /etc/services(系统服务端口映射):例如
- informix_se 1536/tcp(示例端口,按实际规划填写)
三 初始化与存储布局
- 初始化实例(首次部署):
- 复制模板:cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.ifxserver
- 编辑关键项:ROOTPATH、DBSERVERNAME 等
- 初始化:oninit -ivy(交互式初始化,按提示完成)
- 创建业务与日志 dbspace(示例):
- onspaces -c -d datadbs1 -p /dbs/datadbs1 -o 0 -s 200000 -k 8k
- onspaces -c -d plogdbs -p /dbs/plogdbs -o 0 -s 2000000
- onspaces -c -d llogdbs -p /dbs/llogdbs -o 0 -s 2000000
- 迁移与添加日志(示例):
- 物理日志迁移与调整:onparams -p -s 1999000 -d plogdbs -y
- 添加逻辑日志:onparams -a -d llogdbs -s 100000
- 重要提示:
- root dbspace 的位置与初始 chunk 大小在初始化后不可更改,除非重做初始化(会清空数据)
- 初始阶段可将逻辑日志设为较小值,后续按事务量追加或迁移;物理日志建议放置在独立设备,容量可从约 300MB–500MB 起步,减少检查点抖动。
四 网络与防火墙
- 服务端口:在 /etc/services 中为实例定义唯一端口(如 1536/tcp),保持与 sqlhosts 中一致
- 防火墙放行(Debian 常用 firewalld/ufw):
- firewalld:firewall-cmd --permanent --add-port=1536/tcp;firewall-cmd --reload
- ufw:ufw allow 1536/tcp
- 本地解析:确保 /etc/hosts 包含服务器主机名与 IP 的映射,避免名称解析失败
- 连接测试(客户端):
- 使用 isql:isql -v ifxserver username password
- JDBC 示例:jdbc:informix-sqli://ifxserver:1536/mydb:INFORMIXSERVER=ifxserver
五 运行维护与安全加固
- 启停与状态检查:
- 启动:oninit(或按需使用 oninit -v 等选项)
- 快速状态:onstat -i;网络监听:onstat -g nif
- 系统服务集成:
- 在 /etc/rc.local 或 systemd 服务单元中加入环境变量设置与 oninit 启动,确保重启后自动拉起
- 安全建议:
- 仅开放必要端口;限制数据库主机的入站来源
- 为 informix 账号设置强口令与最小权限;按需启用审计(如 ADTMODE 等审计参数)
- 分离 root 与 informix 职责,谨慎使用 root 直接操作实例