有关ORACLE NAME
【DB_NAME】
数据库名长度不超过8字符,记录在datafile、redolog和control file
DataGuard中DB_NAME相同而DB_UNIQUE_NAME不同
RAC各节点DB_NAME相同,INSTANCE_NAME不同
DB_NAME在动态注册监听时起作用,无论是否定义了SERVER_NAME,PMON都会使用DB_NAME动态注册监听
【DBID】
可看作DB_NAME在DB内部的表示,它是在DB创建时DB_NAME结合算法计算出来的
存在于datafile和controlfile中用来表示数据文件的归属,是唯一的,对不同的DB DB_NAME可以相同,但DBID一定唯一。如DATAGUARD主备库DB_NAME相同但DBID一定不同
【DB_UNIQUE_NAME】
DG中主备有相同的DB_NAME,为了区别必须有不同的DB_UNIQUE_NAME
DB_UNIQUE_NAME在DG中会影响动态注册的service_name,即如果采用动态注册则注册的service_name为db_unique_name,但实例还是instance_name即SID
【INSTANCE_NAME】
DB实例名称,INSTANCE_NAME默认值是SID,一般情况和DB名称(DB_NAME)相同,也可以不同
initSID.ora和orapwSID文件要与INSTANCE_NAME保持一致
INSTANCE_NAME会影响进程的名称
【SID】
OS中的环境变量,和ORACLE_HOME、ORACLE_BASE相同
OS中想得到实例名就必须使用ORACLE_SID,且ORACLE_SID和INSTANCE_NAME的值一致
【SERVICE_NAME】
DB和客户端相连使用的服务名
DG中如果采用动态注册建议主备使用相同的service_name
DG中如采用静态监听建议主备上的listener中输入相同的服务名(service_name)
如果采用了静态注册那么service_name就等于listener.ora中的global_database_name的值
【GLOBAL_DATABASE_NAME】
是listener配置的对外网络连接名称,可以是任意值
在客户端配置监听的tnsname.ora中service_name与这个global_dbname保持一致就可以了
配置静态监听注册时需要输入SID和GLOBAL_NAME