名词解释:db_name、SID、servie_name、globel_name、unqname

来源:互联网 发布:单片机 采集电池电压 编辑:程序博客网 时间:2024/06/18 11:00

db_name、sid、service_name 、ORACLE_UNQNAME,globle_name区别:

1.db_name:

数据库名称,数据库创建好后不可以修改,除非使用nid(9i之后的版本)更改,RAC多节点除外

2.db_domain:

定义一个数据库所在的域,主要是为了区分RAC多节点数据库

3.Global_name:

缺省值为db_name.db_domain, 如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO

4.oracle_sid(ORACLE SYSTEM IDENTIFIER):

数据库实例名称,同一个db_name可以对应多个oracle_sid,数据库创建好后会自动在$ORACLE_HOME/dbs创建init+oracle_sid,orapw+oracle_id,spfile+oracle_sid这些文件. instance_name是oracle数据库参数。而ORACLE_SID是操作系统的环境变量,ORACLE_SID必须与instance_name的值一致

5.db_unique_name:

在HA环境中,data guard会经常使用到,和db_name不同,在dg环境中,主从库都有一样的db_name,虽然他们并不是一个库,跟rac不一样。

6.service_name:

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

alter system set service_name = name1,name2 scope=spfile sid='jhdb1'|sid='*';

在tns文件中如何分别指定service_name

my_name1 =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.46)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = name1)    )  )my_name2 =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.46)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = name2)    )  )
原创粉丝点击