Oracle 10g RAC下如何删除listener

来源:Oracle认证    发布时间:2012-11-12    Oracle认证视频    评论

在10g RAC环境下有两个地方会记录listener相关信息。一处是OCR (如果使用netca图形界面创建listener,netca会自动注册到OCR中;或者是用crs_reGISter手工注册);另一处是listener.ora文件。因此在删除listener时就需要同时删除这两处的信息。

   Listener信息的删除可以分为以下三种情况:

   1、OCR和listener.ora中的listener信息都存在

   对于listener信息完整的情况,推荐使用netca图形界面删除。netca会同时删除OCR和listener.ora中的信息。当然也可以手工删除,删除方法参考2和3。

   2、OCR中不存在listener信息而listener.ora文件中存在listener信息

   这种情况可能是由于手工创建了listener但未注册到OCR中造成的,也可能是手工从OCR中删除了listener信息,但未从listener.ora文件删除相关信息造成的。

   确认OCR中不存在listener信息的方法:

   crs_stat | grep lsnr

   srVCtl config listener -n nodename

   如果以上命令的输出中不包含想要删除的listener名称,则说明OCR中不存在相关的listener信息。

   确认listener.ora文件中是否存在listener信息,只需要直接查看文件中是否存在listener相关的条目。

   对于这种情况,推荐的方法是手工删除。步骤如下:

   检查listener是否在运行,如果正在运行,则手工停止。检查方法:ps –ef | grep tns

   手工删除listener.ora中的相关条目。

   除手工删除外,也可以用netca界面来删除,示例如下:

   启动删除listener

Oracle 10g RAC下如何删除listener

选择需要删除的listener名称

Oracle 10g RAC下如何删除listener

确认要删除listener

Oracle 10g RAC下如何删除listener

提示listener配置问题,启动失败,可能正在运行。

Oracle 10g RAC下如何删除listener





如果listener正在运行,手工停止listener。停止后点击Yes,还会弹出上图的对话框。此处点击No。

节点2弹出同样的对话框,停止listener后再点击NO。

Oracle 10g RAC下如何删除listener

listener删除成功。

Oracle 10g RAC下如何删除listener

   此时检查listener.ora文件,确认listener确实已经被删除。

   3、OCR中存在listener信息而listener.ora文件中不存在listener信息

   如果用netca创建listener, 但在创建完成之前点击了Cancel就可能会出现这种情况。另一种可能是手工删除了listener.ora文件中的相关条目,但未从OCR中删除信息。

   确认OCR中存在listener信息的方法:

   crs_stat | grep lsnr

   srvctl config listener -n nodename

   如果以上命令的输出中包含想要删除的listener名称,则说明OCR中存在相关的listener信息。

   再去检查listener.ora文件,如果文件不包括要删除的listener名称,则属于情况3。

   删除方法有以下几种:

   使用netca删除

   如果直接使用netca去删除,netca因找不到listener名称而无法删除。此时可以手工把listener信息增加到listener.ora文件中,然后再用netca删除即可。

   使用crs_unregister

   crs_unregister可用于删除OCR中listener相关的配置信息,删除前需要先停止listener,否则删除时会报错”CRS-0214: Could not unregister resource 'ora.node1.LSNRNEW_NODE1.lsnr'”。

   删除步骤如下:

   a. 查找需要删除的listener资源名称

root@node1:/ #> crs_stat | grep lsnr NAME=ora.node1.LISTENER_NODE1.lsnr NAME=ora.node1.LSNRNEW_NODE1.lsnr NAME=ora.node2.LISTENER_NODE2.lsnr NAME=ora.node2.LSNRNEW_NODE2.lsnr root@node1:/ #> root@node1:/ #> srvctl config listener -n node1 node1 LISTENER_NODE1 node1 LSNRNEW_NODE1 root@node1:/ #> srvctl config listener -n node2 node2 LISTENER_NODE2 node2 LSNRNEW_NODE2 root@node1:/ #>

此处ora.node1.LSNRNEW_NODE1.lsnr和ora.node2.LSNRNEW_NODE2.lsnr是我需要删除的listener.

   b. 停止要删除的listener

root@node1:/ #> crs_stat -t Name           Type           Target    State     Host ------------------------------------------------------------ ora....E1.lsnr application    ONLINE    ONLINE    node1 ora....E1.lsnr application    ONLINE    ONLINE    node1 ora.node1.gsd  application    ONLINE    ONLINE    node1 ora.node1.ons  application    ONLINE    ONLINE    node1 ora.node1.vip  application    ONLINE    ONLINE    node1 ora....E2.lsnr application    ONLINE    ONLINE    node2 ora....E2.lsnr application    ONLINE    ONLINE    node2 ora.node2.gsd  application    ONLINE    ONLINE    node2 ora.node2.ons  application    ONLINE    ONLINE    node2 ora.node2.vip  application    ONLINE    ONLINE    node2 ora.testdb.db  application    ONLINE    ONLINE    node1 ora....b1.inst application    ONLINE    ONLINE    node1 ora....b2.inst application    ONLINE    ONLINE    node2 root@node1:/ #> crs_stop ora.node1.LSNRNEW_NODE1.lsnr Attempting to stop `ora.node1.LSNRNEW_NODE1.lsnr` on member `node1` Stop of `ora.node1.LSNRNEW_NODE1.lsnr` on member `node1` succeeded. root@node1:/ #> crs_stop ora.node2.LSNRNEW_NODE2.lsnr Attempting to stop `ora.node2.LSNRNEW_NODE2.lsnr` on member `node2` Stop of `ora.node2.LSNRNEW_NODE2.lsnr` on member `node2` succeeded. root@node1:/ #> crs_stat -t Name           Type           Target    State     Host ------------------------------------------------------------ ora....E1.lsnr application    ONLINE    ONLINE    node1 ora....E1.lsnr application    OFFLINE   OFFLINE ora.node1.gsd  application    ONLINE    ONLINE    node1 ora.node1.ons  application    ONLINE    ONLINE    node1 ora.node1.vip  application    ONLINE    ONLINE    node1 ora....E2.lsnr application    ONLINE    ONLINE    node2 ora....E2.lsnr application    OFFLINE   OFFLINE ora.node2.gsd  application    ONLINE    ONLINE    node2 ora.node2.ons  application    ONLINE    ONLINE    node2 ora.node2.vip  application    ONLINE    ONLINE    node2 ora.testdb.db  application    ONLINE    ONLINE    node1 ora....b1.inst application    ONLINE    ONLINE    node1 ora....b2.inst application    ONLINE    ONLINE    node2

   c. 删除listener

root@node1:/ #> crs_unregister ora.node1.LSNRNEW_NODE1.lsnr root@node1:/ #> crs_unregister ora.node2.LSNRNEW_NODE2.lsnr

如果使用crs_unregister仍然无法删除,则停止nodeapps后再重试一下crs_unregister命令。

   d. 确认listener已被从OCR中删除

root@node1:/ #> crs_stat | grep lsnr NAME=ora.node1.LISTENER_NODE1.lsnr NAME=ora.node2.LISTENER_NODE2.lsnr root@node1:/ #> srvctl config listener -n node1 node1 LISTENER_NODE1 root@node1:/ #> srvctl config listener -n node2 node2 LISTENER_NODE2

OCR中已经不存在ora.node1.LSNRNEW_NODE1.lsnr和ora.node2.LSNRNEW_NODE2.lsnr的信息。

上一篇: Oracle能否力揽狂局
下一篇: 核心业务系统数据库平台迁移:Oracle->MySQL

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答