当我尝试使用 JDBC 长 TNSNAME 样式 URL 连接数据库服务器时遇到问题。我们有两台 Oracle 集群服务器。这是我的 TNSNAME 样式 URL。
jdbc:oracle:thin:@(DESCRIPTION=
(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1250))
(ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1250))
)
(CONNECT_DATA=
(SERVICE_NAME= DEV1)
)
)
我的问题是当我们的 DBA 创建数据库时,他为 host1 和 host2 使用了不同的服务名称。host1 是 DEV1,host2 是 DEV2_B,如果我切换主机序列,它似乎无法工作。喜欢
jdbc:oracle:thin:@(DESCRIPTION=
(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1250)) /*host2 now come first, it would be cause connect failure.*/
(ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1250))
)
(CONNECT_DATA=
(SERVICE_NAME= DEV1)
)
)
我认为在这种情况下,故障转移和负载平衡是没有用的。我的问题是,如何在我的 URL 中单独设置 service_name?(这两个数据库也使用不同的 SID。DEVA 和 DEVB)请帮忙,谢谢。