目标:
- 熟悉主要进程的启停顺序
- 了解独占模式 -excl
- crsctl start crs与crsctl start cluster 区别
1.熟悉主要进程的启停顺序
1.1 启动节点rac1:
1 [root@rac1 bin]# ./crsctl start crs -excl 2 CRS-4123: Oracle High Availability Services has been started. --启动OHASD进程 3 CRS-2672: Attempting to start 'ora.gipcd' on 'rac1' 4 CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1' 5 CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded --启动ora.gipcd 6 CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded --启动ora.mdnsd 7 CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1' 8 CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded --启动ora.gpnpd 9 CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1' 10 CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded --启动ora.cssdmonitor 11 CRS-2672: Attempting to start 'ora.cssd' on 'rac1' 12 CRS-2679: Attempting to clean 'ora.diskmon' on 'rac1' 13 CRS-2681: Clean of 'ora.diskmon' on 'rac1' succeeded --清除ora.diskmon 14 CRS-2672: Attempting to start 'ora.diskmon' on 'rac1' 15 CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded --启动ora.diskmon 16 CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded --启动ora.cssd 17 CRS-2672: Attempting to start 'ora.ctssd' on 'rac1' 18 CRS-2672: Attempting to start 'ora.drivers.acfs' on 'rac1' 19 CRS-2676: Start of 'ora.ctssd' on 'rac1' succeeded --启动ora.ctssd 20 CRS-2676: Start of 'ora.drivers.acfs' on 'rac1' succeeded --启动ora.drivers.acfs 21 CRS-2672: Attempting to start 'ora.asm' on 'rac1' 22 CRS-2676: Start of 'ora.asm' on 'rac1' succeeded --启动ora.asm 23 CRS-2672: Attempting to start 'ora.crsd' on 'rac1' 24 CRS-2676: Start of 'ora.crsd' on 'rac1' succeeded --启动ora.crsd 25 26 观察节点rac2: --节点未启动,说明 crsctl start crs -excl 只启动单节点进程 27 [root@rac2 bin]# ps -ef|grep grid 28 root 5823 4165 0 23:26 pts/1 00:00:00 grep grid 29 [root@rac2 bin]#
1.2 关闭节点rac1
1 [root@rac1 bin]# ./crsctl stop crs -f 2 CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac1' 3 CRS-2673: Attempting to stop 'ora.crsd' on 'rac1' 4 CRS-2677: Stop of 'ora.crsd' on 'rac1' succeeded --关闭ora.crsd 5 CRS-2673: Attempting to stop 'ora.cssdmonitor' on 'rac1' 6 CRS-2673: Attempting to stop 'ora.ctssd' on 'rac1' 7 CRS-2673: Attempting to stop 'ora.asm' on 'rac1' 8 CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'rac1' 9 CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac1' 10 CRS-2677: Stop of 'ora.cssdmonitor' on 'rac1' succeeded --关闭ora.cssdmonitor 11 CRS-2677: Stop of 'ora.mdnsd' on 'rac1' succeeded --关闭ora.mdnsd 12 CRS-2677: Stop of 'ora.ctssd' on 'rac1' succeeded --关闭ora.ctssd 13 CRS-2677: Stop of 'ora.drivers.acfs' on 'rac1' succeeded --关闭ora.drivers.acfs 14 CRS-2677: Stop of 'ora.asm' on 'rac1' succeeded --关闭ora.asm 15 CRS-2673: Attempting to stop 'ora.cssd' on 'rac1' 16 CRS-2677: Stop of 'ora.cssd' on 'rac1' succeeded --关闭ora.cssd 17 CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac1' 18 CRS-2673: Attempting to stop 'ora.diskmon' on 'rac1' 19 CRS-2677: Stop of 'ora.gpnpd' on 'rac1' succeeded --关闭ora.gpnpd 20 CRS-2673: Attempting to stop 'ora.gipcd' on 'rac1' 21 CRS-2677: Stop of 'ora.diskmon' on 'rac1' succeeded --关闭ora.diskmon 22 CRS-2677: Stop of 'ora.gipcd' on 'rac1' succeeded --关闭ora.gipcd 23 CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac1' has completed --关闭OHASD进程 24 CRS-4133: Oracle High Availability Services has been stopped. 25 [root@rac1 bin]#
总结:重要进程的启动顺序为:OHASD -> ora.gpnpd -> ora.cssd -> ora.asm -> ora.crsd
2. 了解独占模式 -excl
既然是以独占模式启动,那么有些资源一定是不能被其他节点共享的。出现抢占资源会出现什么情况
2.1 启动节点rac1:
1 [root@rac1 bin]# ./crsctl start crs -excl -- -excl表示以独占模式启动 2 CRS-4123: Oracle High Availability Services has been started. 3 CRS-2672: Attempting to start 'ora.gipcd' on 'rac1' 4 CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1' 5 CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded 6 CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded 7 CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1' 8 CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded 9 CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1' 10 CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded 11 CRS-2672: Attempting to start 'ora.cssd' on 'rac1' 12 CRS-2679: Attempting to clean 'ora.diskmon' on 'rac1' 13 CRS-2681: Clean of 'ora.diskmon' on 'rac1' succeeded 14 CRS-2672: Attempting to start 'ora.diskmon' on 'rac1' 15 CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded 16 CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded 17 CRS-2672: Attempting to start 'ora.ctssd' on 'rac1' 18 CRS-2672: Attempting to start 'ora.drivers.acfs' on 'rac1' 19 CRS-2676: Start of 'ora.ctssd' on 'rac1' succeeded 20 CRS-2676: Start of 'ora.drivers.acfs' on 'rac1' succeeded 21 CRS-2672: Attempting to start 'ora.asm' on 'rac1' 22 CRS-2676: Start of 'ora.asm' on 'rac1' succeeded 23 CRS-2672: Attempting to start 'ora.crsd' on 'rac1' 24 CRS-2676: Start of 'ora.crsd' on 'rac1' succeeded 25 [root@rac1 bin]#
2.2 RAC1在独占模式下时,看看节点RAC2抢占资源时会发生什么:
1 [root@rac2 bin]# ./crsctl start crs -excl 2 CRS-4123: Oracle High Availability Services has been started. 3 CRS-2672: Attempting to start 'ora.gipcd' on 'rac2' 4 CRS-2672: Attempting to start 'ora.mdnsd' on 'rac2' 5 CRS-2676: Start of 'ora.gipcd' on 'rac2' succeeded 6 CRS-2676: Start of 'ora.mdnsd' on 'rac2' succeeded 7 CRS-2672: Attempting to start 'ora.gpnpd' on 'rac2' 8 CRS-2676: Start of 'ora.gpnpd' on 'rac2' succeeded 9 CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac2' 10 CRS-2676: Start of 'ora.cssdmonitor' on 'rac2' succeeded 11 CRS-2672: Attempting to start 'ora.cssd' on 'rac2' 12 CRS-2679: Attempting to clean 'ora.diskmon' on 'rac2' 13 CRS-2681: Clean of 'ora.diskmon' on 'rac2' succeeded 14 CRS-2672: Attempting to start 'ora.diskmon' on 'rac2' 15 CRS-2676: Start of 'ora.diskmon' on 'rac2' succeeded 16 CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating 17 CRS-2674: Start of 'ora.cssd' on 'rac2' failed 18 CRS-2679: Attempting to clean 'ora.cssd' on 'rac2' 19 CRS-2681: Clean of 'ora.cssd' on 'rac2' succeeded 20 CRS-2673: Attempting to stop 'ora.diskmon' on 'rac2' 21 CRS-2677: Stop of 'ora.diskmon' on 'rac2' succeeded 22 CRS-2673: Attempting to stop 'ora.cssdmonitor' on 'rac2' 23 CRS-2677: Stop of 'ora.cssdmonitor' on 'rac2' succeeded 24 CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac2' 25 CRS-2677: Stop of 'ora.gpnpd' on 'rac2' succeeded 26 CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac2' 27 CRS-2677: Stop of 'ora.mdnsd' on 'rac2' succeeded 28 CRS-2673: Attempting to stop 'ora.gipcd' on 'rac2' 29 CRS-2677: Stop of 'ora.gipcd' on 'rac2' succeeded 30 CRS-4000: Command Start failed, or completed with errors. 31 [root@rac2 bin]#
出现状况了(CRS-4402,CRS-2674),现在看看两个节点的的进程状况.
2.3 查看两个节点此时的进程状况
1 节点RAC1的进程状态: 2 [root@rac1 bin]# ps -ef|grep grid 3 root 16810 1 0 00:56 ? 00:00:01 /u01/grid/bin/ohasd.bin exclusive 4 grid 16944 1 0 00:56 ? 00:00:00 /u01/grid/bin/oraagent.bin 5 grid 16959 1 0 00:56 ? 00:00:00 /u01/grid/bin/gipcd.bin 6 grid 16964 1 0 00:56 ? 00:00:00 /u01/grid/bin/mdnsd.bin 7 grid 16983 1 0 00:56 ? 00:00:00 /u01/grid/bin/gpnpd.bin 8 root 17020 1 0 00:56 ? 00:00:00 /u01/grid/bin/orarootagent.bin 9 grid 17640 1 0 01:02 ? 00:00:00 /u01/grid/bin/diskmon.bin -d -f 10 root 17708 14498 0 01:06 pts/1 00:00:00 grep grid 11 [root@rac1 bin]# 12 13 节点RAC2的进程状态: 14 [root@rac2 bin]# ps -ef|grep grid 15 root 8557 1 0 01:01 ? 00:00:01 /u01/grid/bin/ohasd.bin exclusive 16 root 8929 7581 0 01:08 pts/1 00:00:00 grep grid 17 [root@rac2 bin]#
哈哈,在争夺资源时RAC1,RAC2两败俱伤!独占模式一般用于数据库恢复,升级时。
以非独占模式启动则是去掉 -excl:crsctl start crs
3. crsctl start crs与crsctl start cluster 区别
Oracle 11g r2 把一些grid类的组件进行了打包,叫做 grid infrastructure ,简称GI,主要包括如下组件:
1) ohas :新增的 oracle high availability service。
2) crs:原有的clusterware 组件,功能有很大改变。
3) asm:以前是集成在dbca,现在单独抽了出来,添加了asmca,增强了asmcmd,增强了advm,acfs。
4) oracle net:就是以前数据库的监听那部分,增加了scan。
1. crsctl start/stop crs 是对当前节点的相关资源进行操作的,是包含ohas的,通过check 可以查看结果
[grid@node1 bin]$ ./crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
crsctl start/stop crs 是会影响到这4种进程的
2. crsctl start/stop cluster 可对集群的所有节点(当然包括当前节点)的相关资源进行操作的,前提是目标节点ohas必需是OK的,通过check 可以查看结果
[grid@node1 bin]$ ./crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
添加 -all 或者 -n node1,node2 参数 可对集群的所有节点或者指定 的 node1,node2 节点操作
[grid@node1 bin]$ ./crsctl check cluster -all
**************************************************************
node1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
node2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
crsctl start/stop cluster 只会影响到 这三种进程,不会影响到 ohas。
可以通过 crsctl enable/disable has 来控制has的是否随OS的启动而启动。类似 crs 也有 crsctl enable/disable crs