1. 简介
本篇来简单的论一论这么几个牛B的概念,真是能把人搞糊涂了。
1,数据库名DB_NAME
2,数据库实例名instance_name
3,ORACLE_SID
4,数据库域名
5,全局数据库名
6,数据库服务名SERVICE_NAME
1
2
3
4
5
6
2. 比喻
先打个简单的比方哈,对这些名称有个直接的概念。
数据库名就相当于人的身份证号,能唯一标识一个数据库,但是平时不常用。
数据库实例名就相当于人在家里用的小名,在同一个数据库服务内区分不同的数据库实例。
ORACLE_SID是绰号,在不同的环境(不同的操作系统如windows linux)下会有不同的绰号。
数据库域名就有意思了,比如公安局有一套人的身份证号信息,学校也有一套,这是两个不同的数据库。所以要加一个域名区分,地域不同嘛。
全局数据库名=域名+数据库名。域名没有的话,全局数据库名=数据库名。
客户端与服务器连接时候使用服务名,所以服务名就是给自己印的名片上的名字,专门用来提供服务的时候用的。
3. 真实面目
数据库名在新建、修改、备份数据库时会用到,也就是说在数据库内部使用的是数据库名。
数据库实例名和SID都是标识数据库实例的,只不过实例名instance_name是存储在数据库里面的参数,而SID是操作系统的环境变量。所以其实可以把他俩当成一个概念。
数据库域名、全局数据库名不解释了,上面说的挺清楚了。
最后,数据库服务名,是数据库实例的名片哦,如果客户端要连接数据库实例,就得给实例配置一个服务名。