1、CRS常用维护命令CRS常用命令常用的crs命令如下:$ORA_CRS_HOME/bin/crs_stat t 此命令主要用来检查crs资源状态例如oraclepostdb2 /$ $ORA_CRS_HOME/bin/crs_stat tName Type Target State Host -ora.CL1.srv application ONLINE ONLINE postdb1 ora.CL2.srv application ONLINE ONLINE postdb2 ora.TEST.cs application ONLINE ONLINE postdb1 ora.L1.inst ap
2、plication ONLINE ONLINE postdb1 ora.L2.inst application ONLINE ONLINE postdb2 ora.ORCL.db application ONLINE ONLINE postdb1 ora.SM1.asm application ONLINE ONLINE postdb1 ora.C1.lsnr application ONLINE ONLINE postdb1 ora.postdb1.gsd application ONLINE ONLINE postdb1 ora.postdb1.ons application ONLINE
3、 ONLINE postdb1 ora.postdb1.vip application ONLINE ONLINE postdb1 ora.SM2.asm application ONLINE ONLINE postdb2 ora.C2.lsnr application ONLINE ONLINE postdb2 ora.postdb2.gsd application ONLINE ONLINE postdb2 ora.postdb2.ons application ONLINE ONLINE postdb2 ora.postdb2.vip application ONLINE ONLINE
4、postdb2 oraclepostdb2 /$ORA_CRS_HOME/bin/crs_start all此命令用来启动所有的集群服务,但是启动的前提是 资源状态State不能是UNKNOWN。$ORA_CRS_HOME/bin/crs_start 集群服务名(集群服务名可以通过$ORA_CRS_HOME/bin/crs_stat得到)$ORA_CRS_HOME/bin/crs_stop all$ORA_CRS_HOME/bin/crs_stop 集群服务名(集群服务名可以通过$ORA_CRS_HOME/bin/crs_stat得到)上面的一组crs命令是用来启动关闭crs服务的,下面通过一
5、个真实的环境,具体讲解这些命令的使用。举例如下:Oracle RAC在安装完毕后,重启RAC,一些服务不能启动,手动启动也没用。下面是系统自动启动以后的情况;oraclepostdb1 $ crs_stat tName Type Target State Host -ora.CL1.srv application ONLINE UNKNOWN postdb1 ora.CL2.srv application ONLINE UNKNOWN postdb2 ora.TEST.cs application ONLINE UNKNOWN postdb2 ora.L1.inst application O
6、NLINE OFFLINE ora.L2.inst application ONLINE OFFLINE ora.ORCL.db application ONLINE UNKNOWN postdb1 ora.SM1.asm application ONLINE UNKNOWN postdb1 ora.C1.lsnr application ONLINE UNKNOWN postdb1 ora.postdb1.gsd application ONLINE UNKNOWN postdb1 ora.postdb1.ons application ONLINE UNKNOWN postdb1 ora.
7、postdb1.vip application ONLINE ONLINE postdb1 ora.SM2.asm application ONLINE UNKNOWN postdb2 ora.C2.lsnr application ONLINE UNKNOWN postdb2 ora.postdb2.gsd application ONLINE UNKNOWN postdb2 ora.postdb2.ons application ONLINE UNKNOWN postdb2 ora.postdb2.vip application ONLINE ONLINE postdb2 oraclepo
8、stdb1 $ 可以看到,只有vip是能自动启动的!其它资源都处于UNKNOWN状态下。手工用srvctl启动试试!$ srvctl start nodeapps -n rac1CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.gsd has placement error.CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.vip has placement error.CRS-1028: D
9、ependency analysis failed because of:CRS-0223: Resource ora.rac1.ons has placement error.CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.LISTENER_RAC1.lsnr has placement error.测试crs:$crsctl check crs CSS appears healthyCRS appears healthyEVM appears healthyoraclerac1 bin$
10、 crsctl start resourcesStarting resources.Successfully started CRS resourcesoraclerac1 bin$ pwd/oracle/app/oracle/oracle/product/10.2.0/crs/binoraclerac1 bin$ gsdctl stoporaclerac1 bin$ gsdctl statusoraclerac1 bin$ ./gsdctl statusoraclerac1 bin$ gsdctl startoraclerac1 bin$ srvctl start nodeapps -n r
11、ac1CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.gsd has placement error.CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.vip has placement error.CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.ons has placement err
12、or.CRS-1028: Dependency analysis failed because of:CRS-0223: Resource ora.rac1.LISTENER_RAC1.lsnr has placement error.oraclerac1 $ crs_stat -tName Type Target State Host -ora.CL1.srv application ONLINE UNKNOWN rac1 ora.CL2.srv application ONLINE UNKNOWN rac2 ora.TEST.cs application ONLINE UNKNOWN ra
13、c2 ora.L1.inst application ONLINE OFFLINE ora.L2.inst application ONLINE OFFLINE ora.ORCL.db application ONLINE UNKNOWN rac1 ora.SM1.asm application ONLINE UNKNOWN rac1 ora.C1.lsnr application ONLINE UNKNOWN rac1 ora.rac1.gsd application ONLINE UNKNOWN rac1 ora.rac1.ons application ONLINE UNKNOWN ra
14、c1 ora.rac1.vip application ONLINE ONLINE rac1 ora.SM2.asm application ONLINE UNKNOWN rac2 ora.C2.lsnr application ONLINE UNKNOWN rac2 ora.rac2.gsd application ONLINE UNKNOWN rac2 ora.rac2.ons application ONLINE UNKNOWN rac2 ora.rac2.vip application ONLINE ONLINE rac2 可以看到,仍然是启动后的原始状态。从上面的显示可以知道,每个资
15、源的State显示为UNKNOWN,应该是由于两个节点时间不同步,进而造成crs在启动的时候无法认到系统已经注册的资源造成的。解决方法:首先,保证两个节点时间保持同步,ORACLE 10g RAC两个节点之间有10几秒的时间误差,不会对应用造成影响。但是过分大的时间误差可能导致某个节点down机,或者节点不断重启。然后执行如下操作:oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop allAttempting to stop ora.rac1.vip on member rac1Attempting to stop ora.rac2.vip on member ra
16、c2Stop of ora.rac2.vip on member rac2 succeeded.Stop of ora.rac1.vip on member rac1 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stat -tName Type Target State Host -ora.CL1.srv application ONLINE UNKNOWN rac1 ora.CL2.srv application ONLINE UNKNOWN rac2 ora.TEST.cs application ONLINE UNKNOWN rac2 ora
17、.L1.inst application OFFLINE OFFLINE ora.L2.inst application OFFLINE OFFLINE ora.ORCL.db application OFFLINE UNKNOWN rac1 ora.SM1.asm application OFFLINE UNKNOWN rac1 ora.C1.lsnr application OFFLINE UNKNOWN rac1 ora.rac1.gsd application ONLINE UNKNOWN rac1 ora.rac1.ons application ONLINE UNKNOWN rac
18、1 ora.rac1.vip application OFFLINE OFFLINE ora.SM2.asm application OFFLINE UNKNOWN rac2 ora.C2.lsnr application OFFLINE UNKNOWN rac2 ora.rac2.gsd application ONLINE UNKNOWN rac2 ora.rac2.ons application ONLINE UNKNOWN rac2 ora.rac2.vip application OFFLINE OFFLINE oraclerac1 $ $ORA_CRS_HOME/bin/crs_s
19、tat (此命令可以查看各个资源的完整服务名称)NAME=ora.ORCL.ORATEST.ORCL1.srvTYPE=applicationTARGET=OFFLINESTATE=OFFLINENAME=ora.ORCL.ORATEST.ORCL2.srvTYPE=applicationTARGET=OFFLINESTATE=OFFLINENAME=ora.ORCL.ORATEST.csTYPE=applicationTARGET=ONLINESTATE=UNKNOWN on rac2NAME=ora.ORCL.ORCL1.instTYPE=applicationTARGET=OFFLINE
20、STATE=OFFLINENAME=ora.ORCL.ORCL2.instTYPE=applicationTARGET=OFFLINESTATE=OFFLINENAME=ora.ORCL.dbTYPE=applicationTARGET=OFFLINESTATE=OFFLINENAME=ora.rac1.ASM1.asmTYPE=applicationTARGET=OFFLINESTATE=UNKNOWN on rac1NAME=ora.rac1.LISTENER_RAC1.lsnrTYPE=applicationTARGET=OFFLINESTATE=UNKNOWN on rac1NAME=
21、ora.rac1.gsdTYPE=applicationTARGET=ONLINESTATE=UNKNOWN on rac1NAME=ora.rac1.onsTYPE=applicationTARGET=ONLINESTATE=UNKNOWN on rac1NAME=ora.rac1.vipTYPE=applicationTARGET=ONLINESTATE=UNKNOWN on rac1NAME=ora.rac2.ASM2.asmTYPE=applicationTARGET=OFFLINESTATE=OFFLINENAME=ora.rac2.LISTENER_RAC2.lsnrTYPE=ap
22、plicationTARGET=OFFLINESTATE=OFFLINENAME=ora.rac2.gsdTYPE=applicationTARGET=ONLINESTATE=UNKNOWN on rac2NAME=ora.rac2.onsTYPE=applicationTARGET=ONLINESTATE=UNKNOWN on rac2NAME=ora.rac2.vipTYPE=applicationTARGET=OFFLINESTATE=OFFLINE$ORA_CRS_HOME/bin/crs_stop all只能停掉State为ONLINE的服务,状态为UNKNOWN的资源不能通过这个命
23、令关闭,因此可以通过$ORA_CRS_HOME/bin/crs_stop 服务名 的方式单独停止那些状态为UNKNOWN的资源。下面是通过$ORA_CRS_HOME/bin/crs_stop命令依次停止资源状态State为UNKNOWN的服务。oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.ORCL.ORATEST.csAttempting to stop ora.ORCL.ORATEST.cs on member rac2Stop of ora.ORCL.ORATEST.cs on member rac2 succeeded.oraclerac1 $
24、$ORA_CRS_HOME/bin/crs_stop ora.rac1.ASM1.asmAttempting to stop ora.rac1.ASM1.asm on member rac1Stop of ora.rac1.ASM1.asm on member rac1 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.rac1.LISTENER_RAC1.lsnrAttempting to stop ora.rac1.LISTENER_RAC1.lsnr on member rac1Stop of ora.rac1.LISTENER_
25、RAC1.lsnr on member rac1 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.rac1.onsAttempting to stop ora.rac1.ons on member rac1Stop of ora.rac1.ons on member rac1 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.rac1.vipAttempting to stop ora.rac1.vip on member rac1Stop of ora.rac1.vip on
26、 member rac1 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.rac2.gsdAttempting to stop ora.rac2.gsd on member rac2Stop of ora.rac2.gsd on member rac2 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.rac2.onsAttempting to stop ora.rac2.ons on member rac2Stop of ora.rac2.ons on member rac2
27、 succeeded.oraclerac1 $ $ORA_CRS_HOME/bin/crs_stop ora.rac1.gsdAttempting to stop ora.rac1.gsd on member rac1Stop of ora.rac1.gsd on member rac1 succeeded.把所有状态为UNKNOWN的资源全部停止以后,再次查看资源状态:oraclerac1 $ $ORA_CRS_HOME/bin/crs_stat -t Name Type Target State Host -ora.CL1.srv application OFFLINE OFFLINE o
28、ra.CL2.srv application OFFLINE OFFLINE ora.TEST.cs application OFFLINE OFFLINE ora.L1.inst application OFFLINE OFFLINE ora.L2.inst application OFFLINE OFFLINE ora.ORCL.db application OFFLINE OFFLINE ora.SM1.asm application OFFLINE OFFLINE ora.C1.lsnr application OFFLINE OFFLINE ora.rac1.gsd applicat
29、ion OFFLINE OFFLINE ora.rac1.ons application OFFLINE OFFLINE ora.rac1.vip application OFFLINE OFFLINE ora.SM2.asm application OFFLINE OFFLINE ora.C2.lsnr application OFFLINE OFFLINE ora.rac2.gsd application OFFLINE OFFLINE ora.rac2.ons application OFFLINE OFFLINE ora.rac2.vip application OFFLINE OFFLINE 此时可以重启所有crs资源了oraclerac1 $ $ORA_CRS_HOME/bin/crs_start all(注意,这里是在oracle用户下操作)Attempting to start ora.rac1.vip on member rac1Attempting to start ora.rac2.v
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1