RAC 10g:集群资源OFFLINE的处理方式
今天早上,一个同事提交了一个问题给我,是关于Oracle DB 10g RAC中,CRS的资源的问题。
具体如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[grid@xymis1 ~]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora....SM1.asm application 0/5 0/0 ONLINE ONLINE xymis1 ora....S1.lsnr application 0/5 0/0 ONLINE OFFLINE ora.xymis1.gsd application 0/5 0/0 ONLINE ONLINE xymis1 ora.xymis1.ons application 0/3 0/0 ONLINE ONLINE xymis1 ora.xymis1.vip application 0/0 0/0 ONLINE ONLINE xymis2 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE xymis2 ora....S2.lsnr application 0/5 0/0 ONLINE ONLINE xymis2 ora.xymis2.gsd application 0/5 0/0 ONLINE ONLINE xymis2 ora.xymis2.ons application 0/3 0/0 ONLINE ONLINE xymis2 ora.xymis2.vip application 0/0 0/0 ONLINE ONLINE xymis2 ora.xymisdb.db application 0/0 0/1 ONLINE ONLINE xymis2 ora....b1.inst application 0/5 0/0 ONLINE ONLINE xymis1 ora....b2.inst application 0/5 0/0 ONLINE ONLINE xymis2 [grid@xymis1 ~]$ |
可以看到上面的“ora….S1.lsnr”的状态时OFFLINE的。
对于这个问题,解决的方法很简单,通过srvctl的命令,针对具体的资源执行特定节点的启动即可。
下面将解决该问题的过程罗列一下。
“crs_stat -t -v”,命令看到的信息太过抽象,我们需要看到更具体的信息,特别是问题资源的名称,等:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
[grid@xymis1 ~]$ crs_stat -v NAME=ora.xymis1.ASM1.asm TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis1 NAME=ora.xymis1.LISTENER_XYMIS1.lsnr TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=OFFLINE NAME=ora.xymis1.gsd TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis1 NAME=ora.xymis1.ons TYPE=application RESTART_ATTEMPTS=3 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis1 NAME=ora.xymis1.vip TYPE=application RESTART_ATTEMPTS=0 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymis2.ASM2.asm TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymis2.LISTENER_XYMIS2.lsnr TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymis2.gsd TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymis2.ons TYPE=application RESTART_ATTEMPTS=3 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymis2.vip TYPE=application RESTART_ATTEMPTS=0 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymisdb.db TYPE=application RESTART_ATTEMPTS=0 RESTART_COUNT=0 FAILURE_THRESHOLD=1 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 NAME=ora.xymisdb.xymisdb1.inst TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis1 NAME=ora.xymisdb.xymisdb2.inst TYPE=application RESTART_ATTEMPTS=5 RESTART_COUNT=0 FAILURE_THRESHOLD=0 FAILURE_COUNT=0 TARGET=ONLINE STATE=ONLINE on xymis2 [grid@xymis1 ~]$ |
这样,级就可以看到,出问题的资源是:
NAME=ora.xymis1.LISTENER_XYMIS1.lsnr
TYPE=application
RESTART_ATTEMPTS=5
RESTART_COUNT=0
FAILURE_THRESHOLD=0
FAILURE_COUNT=0
TARGET=ONLINE
STATE=OFFLINE
可以看到,出问题的资源是:位于节点一上的监听器。
那么,通过srvctl,命令,在节点一上启动监听器即可:
1 2 |
[grid@xymis1 ~]$ srvctl start listener -n xymis1 [grid@xymis1 ~]$ |
再次查看集群状态:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[grid@xymis1 ~]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora....SM1.asm application 0/5 0/0 ONLINE ONLINE xymis1 ora....S1.lsnr application 0/5 0/0 ONLINE ONLINE xymis1 ora.xymis1.gsd application 0/5 0/0 ONLINE ONLINE xymis1 ora.xymis1.ons application 0/3 0/0 ONLINE ONLINE xymis1 ora.xymis1.vip application 0/0 0/0 ONLINE ONLINE xymis1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE xymis2 ora....S2.lsnr application 0/5 0/0 ONLINE ONLINE xymis2 ora.xymis2.gsd application 0/5 0/0 ONLINE ONLINE xymis2 ora.xymis2.ons application 0/3 0/0 ONLINE ONLINE xymis2 ora.xymis2.vip application 0/0 0/0 ONLINE ONLINE xymis2 ora.xymisdb.db application 0/0 0/1 ONLINE ONLINE xymis2 ora....b1.inst application 0/5 0/0 ONLINE ONLINE xymis1 ora....b2.inst application 0/5 0/0 ONLINE ONLINE xymis2 [grid@xymis1 ~]$ |
这样,问题就解决了。
——————————————
Done。