删RAC中间ASM和LISTENER 资源的正确方法

在我们的安装RAC什么时候。有时因各种错误加载错误ASM实例或LISTENER显示器,或增加CLUSTERWARE资源,但并没有真正的工作,例如:


如图所看到的,这里在2个节点分别创建过ASM1和ASM2实例,相应的资源名称分别为ora.RAC1.ASM1.asm和ora.RAC2.ASM2.asm,他们的状态都是UNKONW的,还有每一个节点都创建了3个监听。资源名称各自是节点1的ora.RAC1_LISTENER.RAC1.lsnr,ora.RAC1_LISTENER1.RAC1.lsnr。ora.RAC1_LISTENER2.RAC1.lsnr和节点2的ora.RAC2_LISTENER.RAC2.lsnr,ora.RAC2_LISTENER2.RAC2.lsnr,ora.RAC2_LISTENER2.RAC2.lsnr。状态也都是UNKNOW,非常明显,这些是错误的资源,由于当运行crsctl start  asm -n rac1的时候,会报错,原因可能是在安装的时候,并没有正确完毕,例如以下图:



也无法直接用srvctl来删除



注意,srvctl remove的使用方法中。object是没有listener的,不能写成srvctl remove listener -n rac1或srvctl remove ora.RAC1_LISTENER.RAC1.lsnr的。其有用srvctl -h查看一下就能够知道


那么应该怎样正确删除以上两种资源呢?分两种情况:

一、ASM实例的删除(仅仅列举删除ASM1的情况。ASM2同理可推)

1.查看资源
srvctl config asm -n rac1


2.注销资源

crs_unregister ora.rac1.ASM1.asm


3.注销资源
crs_unregister ora.rac1.ASM1.asm

特别要注意的是。不能在本节点上删除自己的ASM实例。

要删除谁,就先停谁的crs。然后在还有一个节点运行删除操作,才干成功
./init.crs stop (linux only)
crsctl stop crs (all)

srvctl remove asm -n rac1 -f


二、LISTENER资源的删除(不用像删除ASM那样,必须先停CRS)

1.查看资源
srvctl config listener -n rac1
srvctl config listener -n rac2


2.注销资源
crs_unregister ora.RAC1_LISTENER.RAC1.lsnr


3.停止资源
crs_stop ora.RAC1_LISTENER.RAC1.lsnr


以下放几张操作图作为演示样例


这里要删除的目标是节点2上的ASM2资源


节点2上停止CRS


此时再去删除节点2上ASM2


此时发现,ASM2已经从资源中删除了,依次所有删除后,正确效果例如以下图所看到的:


完毕以后。我们就能够用NETCA又一次创建监听,用DBCA又一次创建ASM实例啦~非常方便


1.模擬刪除ASM & DATABASE 注册信息

刪除前請確認這些資源已經是STOP 狀態

[oracle@vmrehl4n1 ]$ srvctl remove database -d myrac

Remove the database myrac? (y/[n]) y

[oracle@vmrehl4n1 ]$ srvctl remove asm -n vmrehl4n1 -i +ASM1

[oracle@vmrehl4n1 ]$ srvctl remove asm -n vmrehl4n2 -i +ASM2

 

2.加入ASM & DATABASE 注册信息

[oracle@vmrehl4n1 ]$ srvctl add database -d myrac -o /app/oracle/product/10.2.0/db_1

[oracle@vmrehl4n1 ]$ srvctl add instance -d myrac -i myrac1 -n vmrehl4n1

[oracle@vmrehl4n1 ]$ srvctl add instance -d myrac -i myrac2 -n vmrehl4n2

[oracle@vmrehl4n1 ]$ srvctl add asm -n vmrehl4n1 -i +ASM1 -o /app/oracle/product/10.2.0/db_1

[oracle@vmrehl4n1 ]$ srvctl add asm -n vmrehl4n2 -i +ASM2 -o /app/oracle/product/10.2.0/db_1

查看[oracle@vmrehl4n2 admin]$ crs_stat -p ora.myrac.myrac1.inst

顯示的此行

REQUIRED_RESOURCES=ora.vmrehl4n1.vip ora.vmrehl4n1.ASM1.asm

假设沒有ora.vmrehl4n1.ASM1.asm

须要繼續運行下面命令,否則CRS自動啟動時不能啟動DATABASE:

[oracle@vmrehl4n1 ]$ srvctl modify instance -d myrac -i myrac1 -s +ASM1

[oracle@vmrehl4n1 ]$ srvctl modify instance -d myrac -i myrac2 -s +ASM2


版权声明:本文博主原创文章,博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/bhlsheji/p/4813144.html