Java连接RAC数据库字符串

本文详细介绍了Java通过jdbc:oracle:thin驱动连接Oracle RAC数据库的字符串配置,包括LOAD_BALANCE、FAILOVER选项的含义及SERVER、FAILOVER_MODE等参数的作用。着重讲解了不同类型连接策略和故障转移模式,如SESSION和SELECT类型的SQL接管,以及预连接模式(preconnect)的设置,旨在确保高可用性和连接稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.231)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.232)(PORT=1521))(LOAD_BALANCE=ON)(FAILOVER=ON))(CONNECT_DATA=(SERVER=DEDICATED)(INSTANCE_ROLE=PRIMARY)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=BASIC))(SERVICE_NAME=ahbst)))

参数的含义:

LOAD_BALANCE
FAILOVER

ON
ON
客户端新建连接随机尝试ADDRESS_LIST中的监听,直到连接到一个可用监听,或者连完列表中的所有监听,如没有一个监听可用,则返回错误信息

ON
OFF
客户端新建连接随机尝试ADDRESS_LIST中的任一监听,无论这个监听是否可用,如不可用直接返回错误。

OFF
ON
客户端新建连接按顺序尝试ADDRESS_LIST中的监听,直到连接到一个可用监听,或者连完列表中的所有监听如没有一个监听可用,则返回错误信息

OFF
OFF
客户端新建连接仅连接ADDRESS_LIST中第一个监听,无论这个监听是否可用,如不可用直接返回错误。


SERVER

SHARED:意味着为你这个客户端服务的server进程和为其他客户端服务的server进程是共享的。
DEDICATED:意味着你这个客户端锁对应服务的server进程只为你这个客户端服务。

FAILOVER_MODE
 
TYPE
session:如果用户连接丢失,将创建一个新的会话连接到备用节点,用户的所有未提交的操作必须回滚,然后再次执行,SELECT操作也被中止.
select:如果用户连接丢失,将使用游标和之前的快照继续执行SELECT操作,叫做SQL接管,SQL接管能够无缝接管理的事务类型只有SELECT语句.其它的操作也必须要回滚然后再次执行.
none:客户端默认值,禁止SQL接管功能,主要用于测试的目地,在实际应用中TYPE应指定为session或者select

METHOD
basic:仅仅在FAILOVER发生时才连接备用节点
preconnect:在用户连接到主节点时同时也在备用节点产生一个连接会话,设置预连接模式,能够快速接管SQL

RETRIES:当前节点失败后,失败切换功能会尝试连接备用节点,这个值确定了尝试的次数,如果仅DELAY被指定,RETRIES默认为5
DELAY:两次尝试之间等待的秒数,如果仅指定RETRIES,DELAY默认为1秒
BACKUP:指定另外一个用于备份连接的网络服务名,当RAC设置为主次模式时,使用此参数,并且METHOD应该设为preconnect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值