Linux 上 Informix 配置文件位置与修改方法
主要配置文件与典型路径
- 实例主配置文件:ONCONFIG
- 典型路径:$INFORMIXDIR/etc/onconfig 或 $INFORMIXDIR/etc/onconfig.<实例名>(例如 /opt/informix/etc/onconfig.ifxserver)。
- 作用:定义实例级参数,如 ROOTPATH、DBSERVERNAME、TAPEDEV、LTAPEDEV、BUFFERS、SHMEMSIZE 等。修改后需重启实例或通过 onmode 动态生效(部分参数支持动态修改)。
- 客户端与服务解析:SQLHOSTS
- 典型路径:$INFORMIXDIR/etc/sqlhosts 或 $INFORMIXDIR/etc/sqlhosts.<实例名>。
- 作用:定义服务器名、协议、地址与端口(如 ontcp 192.168.1.10 1526)。
- 服务端口注册:/etc/services
- 作用:为 Informix 服务名注册端口(如 informix 1526/tcp),便于客户端与防火墙统一管理。
- 环境变量:INFORMIXDIR、INFORMIXSERVER、ONCONFIG、INFORMIXSQLHOSTS、PATH、LD_LIBRARY_PATH
- 典型设置示例:
- export INFORMIXDIR=/opt/informix
- export INFORMIXSERVER=ifxserver
- export ONCONFIG=onconfig.ifxserver
- export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts.ifxserver
- export PATH=$INFORMIXDIR/bin:$PATH
- export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
- 持久化:写入 ~/.bashrc 或 ~/.bash_profile 并执行
source ~/.bashrc 生效。
如何快速定位你的实际文件路径
- 确认安装目录与环境变量:
- 查看 Informix 安装位置:
find / -type d -name "informix" 2>/dev/null
- 检查关键变量:
echo $INFORMIXDIR $INFORMIXSERVER $ONCONFIG $INFORMIXSQLHOSTS
- 定位配置文件:
- 实例配置:
ls $INFORMIXDIR/etc/onconfig*
- 客户端解析:
ls $INFORMIXDIR/etc/sqlhosts*
- 若使用服务脚本管理,也可在脚本中查看实际加载的配置文件路径(以实际环境为准)。
修改与生效的常用做法
- 编辑配置文件(以实例配置为例):
vi $INFORMIXDIR/etc/onconfig.<实例名>
- 使配置生效:
- 动态参数:
onmode -w <参数名>=<值>(如 onmode -w buffers=4G;可用 onmode -g cfg 查看当前配置)。
- 静态参数或较多改动:重启实例
oninit -v(或按环境使用服务脚本如 service informixserver restart)。
- 网络连通性验证:
- 服务端:
onstat -g nif 查看监听与网络接口。
- 客户端连通:使用 sqlhosts 中定义的服务名与端口(如 1526)进行连接测试。
常见注意事项
- 权限与属主:确保 informix 用户对 $INFORMIXDIR/etc、数据库目录(如 /dbs)及日志目录具备读写权限。
- 多实例并存:通过不同的 ONCONFIG 文件名与 INFORMIXSERVER 区分实例,避免互相覆盖。
- 端口与防火墙:在 /etc/services 注册端口(如 1526/tcp),并在防火墙放行对应端口,确保客户端可达。
- 变更前备份:修改 onconfig/sqlhosts 前先备份,变更后在测试环境验证,再推广至生产。