Oracle的Sid和ServiceName和TNS连接方式

OracleJDBC提供三种连接方式:SERVICE_NAME、SID和TNSName。SERVICE_NAME是对外的数据库级别名称,而SID是内部的实例标识。随着高性能需求,SERVICE_NAME逐渐成为主流。TNSName则通过网络名称服务定位数据库。本文详细阐述三者区别及使用场景。

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

Oracle JDBC连接一共有三种方式,分别是:SERVICE_NAME、SID和TNSName。

1.SERVICE_NAME方式:jdbc:oracle:thin:@//<host>:<port>/<SERVICE_NAME>  

2.SID连接方式:jdbc:oracle:thin:@<host>:<port>:<SID> 
                    或:jdbc:oracle:thin:@<host>:<port>/<SID>

3.TNSName连接方式:jdbc:oracle:thin:@<TNSName>

SERVICE_NAME和SID的比较:
    SID是对内的,是实例级别的一个名字,用来内部之间称呼用。
    SERVICE_NAME是对外的,是数据库级别的一个名字,用来告诉外面的人,我数据库叫"SERVICE_NAME"。

访问数据库的过程:
      要想访问数据库,必须把数据库文件加载进实例中。SID即INSTANCE_NAME是用来唯一标示实例的。SERVICE_NAME是oracle8i新引进的,8i之前,一个数据库只能由一个实例对应,但是随着高性能的需求,并行技术的使用,一个数据库可以由多个实例对应了,比较典型的应用如RAC。为了充分利用所有实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念,该参数直接对应数据库,而不是某个实例。自此Oracle JDBC连接多使用SERVICE_NAME方式连接,逐渐替代SID方式连接。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值