关于SID_NAME,SERVICE_NAME,db_name的疑问

Listener:
(SID_DESC =
(GLOBAL_DBNAME = e3dup)
(ORACLE_HOME = d:\oracle\ora92)
(SID_NAME = e3dup2)
)

tnsname.ora
E3_DUP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jiangxs)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = e3dup2)
)
)

SQL> conn /@e3_dup as sysdba
ERROR:
ORA-12514: TNS: 
监听进程不能解析在连接描述符中给出的 SERVICE_NAME

但如果我把tnsname.ora里的SERVICE_NAME = e3dup2 改成 SERVICE_NAME = e3dup(和GLOBAL_DBNAME相同),就可以。
那是不是说
tnsname里的SERVICE_NAME 和向GLOBAL_DBNAME关联?原来还以为SERVICE_NAME 指向 SID_NAME,那 listener 里的SID_NAME 名有什么用?

------------------------

解答:
SID_NAME
跟安装oracle时的ORACLE_SID相同,SERVICE_NAME=DBNAME.DB_DOMAIN
DB_NAME
即是数据库名,它是oracle数据库的内部标识,安装以后轻易不要修改


你可能感兴趣的:(关于SID_NAME,SERVICE_NAME,db_name的疑问)