温馨提示×

如何配置ubuntu informix网络连接

小樊
31
2026-01-05 15:33:12
栏目: 智能运维

Ubuntu 上配置 Informix 网络连接的实用步骤

一 环境准备与安装

  • 创建专用用户与目录(推荐):
    • sudo groupadd -g 3000 informix
    • sudo useradd -u 3000 -g 3000 -d /opt/informix -m informix
  • 安装客户端或服务器软件(二选一或同时安装):
    • 服务器:上传并解压安装包,执行安装脚本(示例:./ids_install),按向导完成。
    • 客户端:安装适用于 Linux 的 .deb/.rpm 包;若为 RPM,可用 alien 转换后安装,或直接使用 IBM 提供的 Linux 安装介质。
  • 设置环境变量(对 informix 用户生效,写入 ~/.bashrc 或 ~/.profile):
    • export INFORMIXDIR=/opt/informix
    • export INFORMIXSERVER=ifxserver
    • export ONCONFIG=onconfig.ifxserver
    • export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
    • export PATH=$INFORMIXDIR/bin:$PATH
    • export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
    • 使配置生效:source ~/.bashrc。

二 服务器端网络与监听配置

  • 在服务器上定义服务端口(/etc/services):
    • echo “informix_svc 1526/tcp” | sudo tee -a /etc/services
  • 配置 sqlhosts(服务器与客户端通用格式,位于 $INFORMIXDIR/etc/sqlhosts 或 INFORMIXSQLHOSTS 指定路径):
    • 示例:ifxserver onsoctcp 0.0.0.0 informix_svc
    • 说明:onsoctcp 为常用 TCP 套接字协议;0.0.0.0 表示监听所有地址;也可写具体主机名或 IP。
  • 配置 onconfig(关键网络项):
    • DBSERVERNAME ifxserver
    • NETTYPE ipcshm,1,50,CPU(本地共享内存)+ onsoctcp,1,50,NET(TCP 网络,按 CPU/连接数调整队列)
  • 启动或重启引擎并验证:
    • 首次初始化:oninit -ivy
    • 重启:onmode -ky && oninit
    • 状态检查:onstat -;网络监听检查:onstat -g nif;查看日志:$INFORMIXDIR/tmp/online.log 或 $INFORMIXDIR/online.log。

三 客户端连接配置与测试

  • 准备客户端 sqlhosts(与服务器一致,或仅保留目标服务器条目):
    • 示例:ifxserver onsoctcp 192.168.10.20 1526
  • 设置客户端环境变量(与服务器类似,确保 INFORMIXDIR/INFORMIXSERVER/PATH/LD_LIBRARY_PATH 正确)。
  • 测试连通与登录:
    • 端口连通:nc -vz 192.168.10.20 1526 或 telnet 192.168.10.20 1526
    • 命令行连接:isql -v ifxserver username password
    • 图形/交互:dbaccess(选择服务器、数据库后登录执行 SQL)。

四 防火墙与常见排错

  • 防火墙放行(Ubuntu 常用 firewalld/ufw):
    • firewalld:sudo firewall-cmd --permanent --add-port=1526/tcp && sudo firewall-cmd --reload
    • ufw:sudo ufw allow 1526/tcp
  • 常见排错要点:
    • 服务未监听:onstat -g nif 应看到 onsoctcp 监听;否则检查 onconfig 的 NETTYPE 与 sqlhosts 协议/端口。
    • 端口不通:用 nc/telnet 验证;若不通,检查云安全组、服务器防火墙、监听地址(0.0.0.0 vs 127.0.0.1)。
    • 客户端找不到服务器:核对 sqlhosts 的服务器名与 INFORMIXSERVER 一致,协议与端口匹配。
    • 认证失败:核对用户名/口令、数据库权限及 DB_LOCALE/CLIENT_LOCALE 等环境变量一致性。
    • 引擎未联机:onstat - 非 On-Line 时,查看 $INFORMIXDIR/online.log 定位原因(如磁盘、日志、配置错误)。

0