通过查看service_names和监听状态都是可以看到这个服务名的,使用 “SYS.SCHEDULER$_EVENT_QUEUE.ORCL” 名称进行连接也是可以的。
以下为一个示例:
SQL> show parameter name
NAME TYPE VALUE
--------------- ---------- -----------------------------------
service_names string SYS$SYS.SCHEDULER$_EVENT_QUEUE.ORCL
[oracle@rac1 trace]$ lsnrctl status
Service "SYS$SYS.SCHEDULER$_EVENT_QUEUE.ORCL" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
The command completed successfully
如果需要删除该服务名,执行以下操作:
SELECT service_id, inst_id,name,network_name, creation_date FROM gv$active_services WHERE name like '%SCHEDULER%';
EXECUTE DBMS_AQADM.stop_QUEUE( queue_name => 'SYS.SCHEDULER$_EVENT_QUEUE');
EXECUTE DBMS_AQADM.DROP_QUEUE( queue_name => 'SYS.SCHEDULER$_EVENT_QUEUE');
再次查看:
SQL> show parameter name
NAME TYPE VALUE
--------------- ---------- -----------------------------------
service_names string orcl
[oracle@rac1 trace]$ lsnrctl status
Service "orcl" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
The command completed successfully