如何在Spring Boot微服务中通过PoolDataSource.setONSConfiguration配置Oracle ONS?
Oracle ONS 配置参数示例及连接超时排查
配置参数示例
单节点测试环境
假设本地应用侧使用端口6200,数据库节点的ONS端口同样为6200,节点地址为localhost:
localport=6200 remoteport=6200 nodes=localhost:6200
多节点RAC生产环境
假设数据库集群有两个节点(IP分别为192.168.1.10、192.168.1.11),ONS远程端口统一为6200,本地应用侧选择未被占用的6100作为监听端口:
localport=6100 remoteport=6200 nodes=192.168.1.10:6200,192.168.1.11:6200
参数核心说明
- localport:本地微服务侧ONS进程的监听端口,可选择6000-6300范围内未被占用的端口,用于接收本地应用的连接请求。
- remoteport:数据库节点上ONS服务的监听端口,必须和DBA提供的数据库侧
ONS_PORT配置值一致,默认多为6200。 - nodes:数据库集群中所有运行ONS服务的节点地址列表,格式为
[IP/主机名]:[remoteport],多个节点用英文逗号分隔,不能包含空格。
连接超时问题排查
- 连通性验证:在微服务所在服务器执行
telnet 数据库节点IP 6200或nc -zv 数据库节点IP 6200,确认端口未被防火墙、安全组拦截。 - 格式检查:确保
nodes参数无多余空格,比如不要写成192.168.1.10 : 6200,必须严格遵循IP:端口格式。 - 本地端口占用:用
netstat -anp | grep 你的localport值(Linux)或netstat -ano | findstr 你的localport值(Windows)检查端口是否被其他进程占用。 - 数据库侧ONS状态:联系DBA确认数据库节点上的ONS服务是否正常运行,可通过
onsctl ping命令在数据库节点上验证。
内容的提问来源于stack exchange,提问作者P.Rosario
相关产品推荐
相关产品推荐

