关于Oracle 11g的RAC和Oracle 19c 的RAC在JDBC连接时的一些区别

本文探讨了在Oracle 19c和11g环境中,JDBC连接的差异。在19c中,由于引入了可插拔式数据库,推荐使用v$services查询服务名来构建JDBC连接串,格式为jdbc:oracle:thin:@//:<host>:<port>/ServiceName。而在11g中,既支持ServiceName连接也支持SID连接,ServiceName和SID可以通过show parameter service_name和v$database/v$instance获取。总结了不同版本下JDBC连接参数的选择和配置方法。

19c中新增的 v$services可以查询各PDB对应的服务名,根据此服务名去写JDBC的连接参数。

而非19c中常用的v$database视图显示的是CDB的库名。
还有 show paramerter service_name

在JDBC的连接串三种方式之一:
jdbc:oracle:thin:@//:/ServiceName

此处的ServiceName笔者认为应该从 v$services中获取。

在使用SID连接时
jdbc:oracle:thin:@::
在11g的RAC中是可以选择一个SID连接的。但是在19c可插拔式数据库中,v$instance显示的是不能用的。

11g环境下

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 
Connected as SYS
 
SQL> show parameter service_name;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      qsrac
 
SQL> 

select t.name from v$database t

QSRAC

select t.instance_name from v$instance t

qsrac2

使用PLSQL Developer连接时参数为:
IP:port/service_names

综上:1、19c可插拔式数据库中。JDBC连接参数从vservices中取,使用jdbc:oracle:thin:@//<host>:<port>/ServiceName作为连接方式。2、11g环境中,既可以使用jdbc:oracle:thin:@//<host>:<port>/ServiceName也可以使用jdbc:oracle:thin:@<host>:<port>:<SID>。且ServiceName和SID可通过showparameterservicename和selectt.instancenamefromvservices中取,使用jdbc:oracle:thin:@//<host>:<port>/ServiceName 作为连接方式。 2、11g环境中,既可以使用jdbc:oracle:thin:@//<host>:<port>/ServiceName 也可以使用jdbc:oracle:thin:@<host>:<port>:<SID>。 且ServiceName和SID可通过show parameter service_name和select t.instance_name from vservices使jdbc:oracle:thin:@//<host>:<port>/ServiceName211g使jdbc:oracle:thin:@//<host>:<port>/ServiceName使jdbc:oracle:thin:@<host>:<port>:<SID>ServiceNameSIDshowparameterservicenameselectt.instancenamefromvinstance 获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值