Oracle 服务名/实例名,Service

您所在的位置:网站首页 缺省名是什么 Oracle 服务名/实例名,Service

Oracle 服务名/实例名,Service

2023-12-21 10:49| 来源: 网络整理| 查看: 265

Service_name 和Sid的区别 Service_name:该参数是由oracle8i引进的。 在8i以前,使用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。 该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。Sid是数据库实例的名字,每个实例各不相同。

可以简单的这样理解: 一个公司比喻成一台服务器,数据库是这个公司中的一个部门。 SID:一个数据库可以有多个实例(如RAC),SID是用来标识这个数据库内部每个实例的名字,就好像一个部门里,每个人都有一个自己的名字。 SERVICE_NAME:是这个数据库对外宣称的名字,外面的人要想连接我这个数据库,你就在客户端的连接串里写上service_name。它就像一个部门的名字,这个部门的名称在看门大爷(listener)那里有登记, 看门大爷一看你是要找SERVICE_NAME这个部门,就告诉你我们公司确实有这个部门,于是你就找到了,连接就建立了。

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

Java JDBC Thin Driver 连接 Oracle有三种方法:

格式一: Oracle JDBC Thin using a ServiceName: jdbc:oracle:thin:@//:/ Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE 注意这里的格式,@后面有//, 这是与使用SID的主要区别。 这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的, 但是SERVICE_NAME 确可以包含所有节点。 格式二: Oracle JDBC Thin using an SID: jdbc:oracle:thin:@:: Example: jdbc:oracle:thin:@192.168.2.1:1521:X01A Note: Support for SID is being phased out. Oracle recommends that users switch over to usingservice names. 格式三:Oracle JDBC Thin using a TNSName: jdbc:oracle:thin:@ Example: jdbc:oracle:thin:@GL Note: Support for TNSNames was added in the driver release 10.2.0.1``


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3