删除Oracle数据库监听器下的XDB.XPT. PLSExtProc服务

监听器大家都了解,详细的概念就不过多追述,当我们使用lsnrctl status看监听器状态的时候,除了自己建立的监听器外,还有一些其他的监听器,这无形中就给自己的数据库带来一定的风险,那么我们怎么才能去掉这些监听器呢?

删除XDB服务:

1.试着尝试使用dbms_service来停止和删除XDB服务.

SQL>Begin
    Dbms_Service.Disconnect_Session('oraclXDB');
    End;
    /
PL/SQL procedure successfully completed.

SQL>Begin
    dbms_service.stop_service('oraclXDB');
    End;
    /

PL/SQL procedure successfully completed.

SQL> Begin
     dbms_service.delete_service('oraclXDB');
     End;
    /

Begin
*
ERROR at line 1:
ORA-44305: service oraclXDB is running
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_SERVICE", line 434
ORA-06512: at "SYS.DBMS_SERVICE", line 323
ORA-06512: at line 2

从以上过程发现使用dbms_service不能停止该服务.最后多次尝试不成功的情况下使用修改dispatchers参数的方法.

SQL> show parameters dispatchers;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dispatchers                          string      (PROTOCOL=TCP) (SERVICE=oraclX
                                                 DB)
max_dispatchers                      integer
SQL>

SQL> alter system set dispatchers='' scope=both;

System altered.


删除XPT服务:

2.XPT服务是数据库动态注册的(pmon进程动态注册端口为1521的监听器,若想pmon动态监听到1521以外的端口需要使用alter system register注册),停止该服务将本地的监听器指向一个不存在的监听器即可,如下(监听器test并不存在):

SQL> alter system set local_listener='test' scope=both;

System altered.

或是通过设置隐含参数停止XPT服务.

alter system set "__dg_broker_service_names"='' scope=spfile;


删除PLSExtProc服务:

3.这个就非常简单了,只需要删除监听器配置文件中的相关内容,然后重启监听器即可。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31448824/viewspace-2138147/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31448824/viewspace-2138147/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值