Oracle实例名服务名请问SID和Service_Name有什么区别啊?
可以简单的这样理解:⼀个公司⽐喻成⼀台服务器,数据库是这个公司中的⼀个部门。
1.SID:⼀个数据库可以有多个实例(如RAC),SID是⽤来标识这个数据库内部每个实例的名字,
数据库实例名是什么意思就好像⼀个部门⾥,每个⼈都有⼀个⾃⼰的名字。
2.SERVICE_NAME:是这个数据库对外宣称的名字,外⾯的⼈要想连接我这个数据库,
你就在客户端的连接串⾥写上service_name。它就像⼀个部门的名字,这个部门的名称在看门⼤爷(listener)那⾥有登记,看门⼤爷⼀看你是要SERVICE_NAME这个部门,就告诉你我们公司确实有这个部门,于是你就到了,连接就建⽴了。
⼀句话来说就是:SID是对内的,是实例级别的⼀个名字,⽤来内部之间称呼⽤。SERVICE_name是对外的,
是数据库级别的⼀个名字,⽤来告诉外⾯的⼈,我数据库叫"SERVICE_NAME"。
你可以通过service_name参数指定这个名字是什么,可以有多个名字,名字随便起,叫狗蛋,翠花都没关系。
如果你不指定,默认的是Db_name. Db_domain,也就是global_name。
数据库⾥,还有ORACLE_SID,是告诉OS系统,我这个实例叫做什么。这些易混淆的名字,你要记住,
他们不是指数据库,就是指实例,就这两个东西,别⽆其它。他们具体⽤哪个名字,是要看对谁⽽⾔,
是什么场合。是对数据库,还是对操作系统,还是对外部链接。就像你对⽗母⽽⾔,你有⼩名叫⼳⼉;
对同学⽽⾔,你有外号叫灯泡;对办事机构,你有正规的名字叫王⼩明。但归根到底,是⼀回事。分清楚这点,就不容易混了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。