SID_LIST_LISTENER = ? (SID_LIST = ??? (SID_DESC = ????? (GLOBAL_DBNAME = single02_std) ????? (ORACLE_HOME = /u01/app/oracle/product/19.0/db_1) ????? (SID_NAME = single02) ??? ) ? )
LISTENER = ? (DESCRIPTION_LIST = ??? (DESCRIPTION = ????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.62)(PORT = 1521)) ????? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ?? ?) ? )
ADR_BASE_LISTENER = /u01/app/oracle
静态注册时,listener.ora中的GLOBAL_DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名。
动态监听x
动态注册不需要显示的配置listener.ora文件,实例启动的时候,PMON进程根据instance_name,service_name参数将实例和服务动态注册到listerer中。
如果没有设定instance_name,将使用db_name初始化参数值。
如果没有设定service_names,将拼接db_name和db_domain参数值来注册监听。
注意:Oracle_SID从ORACLE 10G开始,参数文件不再记录INSTANCE_NAME,此时INSTANCE_NAME动态从系统ORACLE_SID获得来保持一致。
如何查询某服务是静态监听注册还是动态监听注册
可以使用命令lsnrctl status来查看某服务是静态注册还是动态注册。
实例状态为UNKNOWN值时表明此服务是静态注册的设置。
这时监听器用来表明它不知道关于该实例的任何信息,只有当客户发出连接请求时,它才检查该实例是否存在。
参考:
oracle为什么使用静态监听,Oracle静态监听与动态监听_秦晓珊的博客-CSDN博客
oracle为什么使用静态监听,Oracle监听之动态监听与静态监听特点_Tim Shen的博客-CSDN博客
?
|