温馨提示×

linux informix为何连不上

小樊
33
2026-09-17 04:50:33
栏目: 智能运维

在 Linux 上 Informix 连不上 通常有这几类原因,你可以按顺序排查:


一、基础环境检查

1. 数据库服务是否启动

onstat -
  • 正常:显示 On-Line
  • 异常:
    • shared memory not initialized → 没启动
    • 启动:
      oninit -vy
      

2. Informix 用户和环境变量

连接必须使用 informix 用户或正确环境变量:

echo $INFORMIXDIR
echo $INFORMIXSERVER
echo $ONCONFIG
echo $PATH | grep informix

常见示例:

export INFORMIXDIR=/opt/ibm/informix
export INFORMIXSERVER=ol_informix
export ONCONFIG=onconfig.ol_informix
export PATH=$INFORMIXDIR/bin:$PATH

二、网络与连接配置(最常见)

3. sqlhosts 配置是否正确

cat $INFORMIXDIR/etc/sqlhosts

示例:

ol_informix onsoctcp 192.168.1.10 9088

检查:

  • 协议(onsoctcp / ontlitcp
  • IP / 主机名
  • 端口是否一致

4. 端口是否监听

netstat -tlnp | grep 9088

ss -tlnp | grep 9088
  • 没监听 → onconfigPORT 配置错误或服务未启动

5. 防火墙 / SELinux

systemctl status firewalld
iptables -L -n

允许端口:

firewall-cmd --add-port=9088/tcp --permanent
firewall-cmd --reload

三、客户端连接问题

6. 客户端与服务端版本/配置不一致

  • 客户端 INFORMIXSERVER 必须和服务端一致
  • sqlhosts 必须能解析主机名或 IP

7. 用户权限问题

dbaccess dbname -
  • 报权限错误 → 用户未授权
GRANT CONNECT TO user;

四、常见错误速查

错误信息 原因
951 服务未启动
908 网络/端口不通
111 连接被拒绝
Conversation not allowed 协议不匹配
Password required 未配置可信连接

五、快速定位建议

请提供以下信息,我可以精准判断:

  1. 报错代码或完整错误信息
  2. onstat - 输出
  3. sqlhosts 内容
  4. 本地连还是远程连
  5. Linux 发行版 + Informix 版本

如果你愿意,可以直接把报错贴出来。

0