彻底剖析DB_NAME,INSTANCE_NAME,ORACLE_SID,GLOBAL_DBNAME,SERVICE_NAME
一、DB_NAME:数据库标识符,存在于控制文件,数据文件,参数文件,日志文件等
二、INSTANCE_NAME:实例唯一标识符,如RAC环境,存在多实例情况下,用instance_name区别每个实例
三、ORACLE_SID:实例标识符,以环境变量形式存在,同时用于对应共享内存段,与NSTANCE_NAME的区别在于ORACLE_SID标示进程,ORACLE_SID容易更改,不像DB_NAME更改涉及到控制文件等
且相同ORACLE_HOME可以创建多个不同ORACLE_SID,INSTANCE_NAME相同
四、GLOBAL_DBNAME:用于listener静态注册时对应service_name
如:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=53)
(SID_NAME = ziling)
(ORACLE_HOME = D:\app\Administrator\product\11.1.0\db_1))
)
五、SERVICE_NAME:LISTENER上的服务标识符,在参数文件中可以随便设置,只要tnsname.ora中serivce_name与参数文件一致就行,默认与实例名相同
以下实验相同ORACLE_HOME,INSTANCE_NAME下见不同ORACLE_SID
1,cmd下 set oracle_sid=test;
2,oradim -NEW -sid test -INTPWD admin -pfile D:\app\Administrator\product\11.1.0\db_1\database\inittest.ora;
3,控制面板-服务-操作-刷新 可看到新建的服务
4,sqlplus /nolog
5,conn sys/change_on_install as sysdba
到此新SID创建完成
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25989950/viewspace-715457/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25989950/viewspace-715457/