ORACLE中的Server_name和SID概念理解
admin
2023-05-24 08:02:44
0次

博文说明【前言】:

    本文将通过个人口吻介绍在ORACLE中的Server_name和实例名SID的相关概念,在目前时间点【2017年5月22号】下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容。



本文参考文献引用链接:

1、http://blog.csdn.net/luman1991/article/details/56286371

2、http://blog.csdn.net/yaksok/article/details/52130228




正文:


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


案例分析:


一、引入关系:

服务器=公司

数据库=运维支持部(数据库分为单机和集群环境,也就是部门的人数多少关系)

数据库集群环境=运维支持部门(假设部门有小丽,小美两名员工,对应SID1,SID2)

数据库连接请求=公司员工或者其他部门请求运维部提供技术支持

数据库服务器=装载了数据库的服务器,也就是拥有活跃运维部门的公司,当然服务器除了装载数据库,我还可以安装其他软件提供其他服务


二、工作过程:

1、老王是研发部门的一个员工,在连接数据库的发现无法连接,因此在公司内部沟通平台发送了一个请求,请求运维部查看下数据库服务是否异常。

2)运维部的小丽接受了这个问题,也就是小丽给老王提供了这次服务,最终顺利解决该问题

3)过了一周,老王又发现数据库连接有问题,又在公司内部沟通平台发送了一个请求,请求运维部查看下数据库服务是否异常。

4)运维部的小美接受了这个问题,也就是小美给老王提供了这次服务,最终顺利解决该问题


三、案例分析:

1、这里真实提供服务的就是SID(第一次是小丽SID1,第二次是小美SID2,第三次也是两者之一)

2、运维支持部门,在公司内部沟通平台对应有一个虚拟用户(Server_name),用户将反馈提交给该用户,然后由该虚拟用户去调度后方真实节点提供服务,使用过JIRA平台的小伙伴应该深有感触。

3、用户不用关系,真实给我提供服务的人是谁,每次只需要将问题提交给该虚拟用户(server_name),就会有支持人员来解决我的问题。


注意:在这里用户如果知道运维部里面具体有谁,也可以配置成直接将问题分配给比如小丽,也就是说,在配置数据库连接信息时,可以配置成直接连接SID,也可以配置成连接server_name,然后由server_name去调控SID去处理请求。


总结:


SID:

一个数据库可以有多个实例(如RAC集群环境),SID用来标识数据库内部每个实例的名字,就好像一个部门里,每个人都有一个自己的名字(小丽和小美等)。


SERVICE_NAME:

数据库对外宣称的名字,它就像一个部门的名字,这个部门的名称在数据库的看门大爷(listener)那里有登记。看门大爷一看你是要找SERVICE_NAME这个部门(运维部),就告诉你我们公司确实有这个部门,于是你就找到了,连接就建立了。


对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 可以包含所有节点。


一句话来说就是:

SID是对内部来说的,是实例级别的一个名字,用于数据库内部之间称呼。

SERVICE_是对外的,是数据库级别的一个名字,用来告诉外面的人,我数据库叫"SERVICE_NAME"。

你可以通过service_name参数指定这个名字是什么,可以有多个名字,名字随便起,叫老王,老张都没关系。如果你不指定,默认的是Db_name. Db_domain,也就是global_name。


这些易混淆的名字,你只要记住,他们不是指数据库,就是指实例,就这两个东西,别无其它。他们具体用哪个名字,要看针对对象。是对数据库,还是对操作系统,还是对外部连接请求。分清楚这点,就不容易混了




结尾:



     感谢阅读,祝有收获的一天,谢谢!





相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...