db_name数据库名,(Oracle database)的唯一标识,一个数据库只有一个db_name。db_name在数据库创建后就不能再更改。   Global_name=db_name.Db_domain 后来分布式数据库普及,若数据库名一样,管理上混乱,为了解决引入Db_domain参数(域)。 所以数据库的表示变成 db_name.Db_domain标识——Global_name,也就是db.name的扩展。成为数据库的唯一标识。   Service_name 服务名:该参数是oracle8i新引进的。 在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。 后来 引进了Service_name参数,该参数对应一个数据库,而不是一个实例。 Service_name的缺省值为db_name. db_domain,即Global_name。 service_name服务名可以理解为数据库网络连接时的名称,在listener配置中会有所考虑的。 一个数据库可以对应多个Service_name。 alter system set service_name=serv1,serv2 scope=both; 可在listener.ora手动配置数据库实例的监听配置服务。   Instance_name:数据库实例名 可以理解为db_name为一个类,Instance_name是这个类定义的实例(对象) (Oracle_SID) OS<---------------->; ORACLE 数据库 <--------外部 (Instance_name(实例名))   默认情况:ORACLE_SID=(instance_name) 是值相同,定义不同。 Oracle_SID:全称是Oracle System Identifier,是以环境变量的形式出现,用于区分不同的实例。 Oracle_SID:操作系统环境变量,也是数据库实例名。 ORACLE_SID其实就是当前想连接的实例名,因为实例与数据库是多对一的关系,所以确定了实例,就等于确定了要连接的数据库   当操作系统与数据库交互时,用的是oracle_sid,而当外部连接于数据库进行交互时用的是instance_name。 当同一台服务器安装了多个数据库时,操作系统利用Oracle_sid来区分不同实例的进程,而当我们与这台服务器的不同的数据库进行连接时,用instance_name来决定具体连接哪个数据库。   SID对应数据库的一个实例; 服务名对应一个数据库。  

 

 

更多推荐

oracle数据库名称