关于监听中用到的几个name
init.ora中有db_name,instance_name,service_name
在操作系统中需要配置oracle_sid
在listener.ora中有sid_name,global_dbname(静态注册的情况下)
在tnsnames.ora中有service_name,sid
1.客户端的tnsnames.ora
KM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = DIGITAL-CAIYH)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = KM)
)
)
这里的SERVICE_NAME = KM对应的监听里的Service(服务)名称
Service "KM" has 1 instance(s).
Instance "KM", status READY, has 1 handler(s) for this service...
Service 的默认名称为<db_unique_name>.<db_domain>
关于service的名字可以参照https://blog.csdn.net/landdin2013/article/details/45216199
总结:
监听注册信息的来源
1.listener.ora文件的静态注册
2.根据数据库中的service_names和db_domain的内容进行注册,如果service_names是多个,比如AAA,BBB,则默认的注册成功后的service叫做AAA.db_domain;BBB.db_domain
3.根据instance_name.db_domain进行注册,监听的service叫做instance_name.db_domain