Informix 网络连接主要通过 sqlhosts
文件和 onconfig
配置文件进行管理。
sqlhosts
文件通常位于 $INFORMIXDIR/etc/sqlhosts
,格式如下:
# dbservername nettype hostname servicename options
ol_informix1170 onsoctcp server1 9088 s=4,p=/opt/IBM/informix/etc/onconfig.std
参数说明: - dbservername: 数据库服务器名称(与 onconfig 文件中的 DBSERVERNAME 一致) - nettype: 网络协议类型(onsoctcp, olsoctcp, drsoctcp 等) - hostname: 服务器主机名或IP地址 - servicename: 端口号或服务名(对应/etc/services中的条目) - options: 可选参数
在 $INFORMIXDIR/etc/onconfig
中设置以下关键参数:
DBSERVERNAME ol_informix1170
DBSERVERALIASES dr_informix1170
NETTYPE onsoctcp,1,50,NET
LISTEN_TIMEOUT 60
CONNECT_TIMEOUT 20
MAX_INCOMPLETE_CONNECTIONS 100
如果服务器有多个网络接口,可以指定监听特定IP:
NETTYPE onsoctcp,1,50,NET
NETTYPE onsoctcp,1,50,NET,192.168.1.100
NETTYPE olsoctcp,4,200,NET # 4个CPU VP,每个VP最多200个连接
onconfig
中配置:SSL_KEY_FILE $INFORMIXDIR/etc/server.key
SSL_CERT_FILE $INFORMIXDIR/etc/server.crt
SSL_CA_FILE $INFORMIXDIR/etc/ca.crt
SSL_CIPHERS ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
确保防火墙允许Informix端口(默认为9088)的通信:
# iptables示例
iptables -A INPUT -p tcp --dport 9088 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9088 -j ACCEPT
onstat -g ntt # 查看网络线程状态
onstat -g cat # 查看客户端连接
使用 dbaccess
或 isql
测试连接:
dbaccess - - <<EOF
CONNECT TO database@server1;
EOF
LISTEN_TIMEOUT
和 CONNECT_TIMEOUT
参数NETTYPE
中的连接数参数MAX_INCOMPLETE_CONNECTIONS
设置/etc/hosts
中有正确的主机名映射配置完成后,记得重启Informix服务使更改生效:
onmode -ky # 停止服务
oninit # 启动服务
如需更详细的配置信息,请参考IBM Informix官方文档或使用 onstat -h
查看帮助信息。