oracle的Ojdbc连接数据库的三种连接方式

jdbc连接Oralce有三种方式

方式一:jdbc:oracle:thin:@//<host>:<port>/<service_name>
方式二:jdbc:oracle:thin:@<host>:<port>:<sid>
方式三:jdbc:oracle:thin:@<TNSName>

方式一通过service_name来进行数据库连接;
方式二通过数据库sid连接;
方式三通过局域网的TNSName进行连接;

数据库连接的我们通常使用方式二sid的方案连接,但是有些时候不能用sid方式,例如单实例数据库(Oracle10g)的项目迁移到Oracle(Oracle12c)的RAC环境(real application clusters “实时应用集群”)的时候就出现了项目无法回收数据库连接,大致原因是因为本地开发调试的时候使用单实例数据库,线上部署后的环境是数据库集群,项目提示无法关闭数据库连接,容易导致内存泄漏,之后是无法简历数据库连接,然后项目宕机了;通过测试之后发现是使用sid连接,将sid模式替换成service_name连接,则没有出现这样的问题;

在Oracle8i之前,一个数据库只对应一个实例,但是后续版本一个数据库可以同时对应多个实例,比如RAC,为了客户端连接配置简单,Oracle提出了service_name概念,这个参数是直接对应数据库 ,而不是某个实例,如果平时使用sid方式连接部署发生有bug,可以试试切换成service_name的方式来连接调试下;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值