Oracle监听器Listener中的服务管理
instance_name为orcldb
db_domain为test
global_name为orcldb.test
listener.ora文件路径:$ORACLE_HOME/network/admin/listener.ora
一、动态注册服务与静态注册服务的区别与区分
Listener监听中的服务有两种,一种是动态注册的(Oracle实例启动后,由实例向Listener注册的),一种是静态注册的(Listener启动时,通过读取listener.ora中的配置而注册的)。
动态注册,是在Oracle实例启动后的1到2分钟由pmon进程完成的。默认注册的服务名称为instance_name.db_domain。这个名称不一定与Oracle的global name相同,如手动修改了domain name但未修改global name的情况。
静态注册,是通过读取listener.ora中的配置完成的,并没有与Oracle实例进行交互,所以,在Listener中能看到静态服务,并不代表此服务可用。若此时Oracle实例未启动,客户端请求此服务时就会报ORA-01034和ORA-27101的错误。
在lsnrctl status和lsnrctl
service的结果中,可以区分这两种服务。若在结果中显示实例状态为“状态READY”或“状态BLOCKED”的服务为动态注册的;而显示“状态UNKNOWN”的则为静态注册的监听服务。
[oracle@oracle ~]$
lsnrctl status
LSNRCTL
for Linux: Version 11.2.0.1.0 - Producti