目标:
- 熟悉主要进程的启停顺序
- 了解独占模式 -excl
- crsctl start crs与crsctl start cluster 区别
1.熟悉主要进程的启停顺序
1.1 启动节点rac1:
[root@rac1 bin]# ./crsctl start crs -excl
CRS-: Oracle High Availability Services has been started. --启动OHASD进程
CRS-: Attempting to start 'ora.gipcd' on 'rac1'
CRS-: Attempting to start 'ora.mdnsd' on 'rac1'
CRS-: Start of 'ora.gipcd' on 'rac1' succeeded --启动ora.gipcd
CRS-: Start of 'ora.mdnsd' on 'rac1' succeeded --启动ora.mdnsd
CRS-: Attempting to start 'ora.gpnpd' on 'rac1'
CRS-: Start of 'ora.gpnpd' on 'rac1' succeeded --启动ora.gpnpd
CRS-: Attempting to start 'ora.cssdmonitor' on 'rac1'
CRS-: Start of 'ora.cssdmonitor' on 'rac1' succeeded --启动ora.cssdmonitor
CRS-: Attempting to start 'ora.cssd' on 'rac1'
CRS-: Attempting to clean 'ora.diskmon' on 'rac1'
CRS-: Clean of 'ora.diskmon' on 'rac1' succeeded --清除ora.diskmon
CRS-: Attempting to start 'ora.diskmon' on 'rac1'
CRS-: Start of 'ora.diskmon' on 'rac1' succeeded --启动ora.diskmon
CRS-: Start of 'ora.cssd' on 'rac1' succeeded --启动ora.cssd
CRS-: Attempting to start 'ora.ctssd' on 'rac1'
CRS-: Attempting to start 'ora.drivers.acfs' on 'rac1'
CRS-: Start of 'ora.ctssd' on 'rac1' succeeded --启动ora.ctssd
CRS-: Start of 'ora.drivers.acfs' on 'rac1' succeeded --启动ora.drivers.acfs
CRS-: Attempting to start 'ora.asm' on 'rac1'
CRS-: Start of 'ora.asm' on 'rac1' succeeded --启动ora.asm
CRS-: Attempting to start 'ora.crsd' on 'rac1'
CRS-: Start of 'ora.crsd' on 'rac1' succeeded --启动ora.crsd 观察节点rac2: --节点未启动,说明 crsctl start crs -excl 只启动单节点进程
[root@rac2 bin]# ps -ef|grep grid
root : pts/ :: grep grid
[root@rac2 bin]#
1.2 关闭节点rac1
[root@rac1 bin]# ./crsctl stop crs -f
CRS-: Starting shutdown of Oracle High Availability Services-managed resources on 'rac1'
CRS-: Attempting to stop 'ora.crsd' on 'rac1'
CRS-: Stop of 'ora.crsd' on 'rac1' succeeded --关闭ora.crsd
CRS-: Attempting to stop 'ora.cssdmonitor' on 'rac1'
CRS-: Attempting to stop 'ora.ctssd' on 'rac1'
CRS-: Attempting to stop 'ora.asm' on 'rac1'
CRS-: Attempting to stop 'ora.drivers.acfs' on 'rac1'
CRS-: Attempting to stop 'ora.mdnsd' on 'rac1'
CRS-: Stop of 'ora.cssdmonitor' on 'rac1' succeeded --关闭ora.cssdmonitor
CRS-: Stop of 'ora.mdnsd' on 'rac1' succeeded --关闭ora.mdnsd
CRS-: Stop of 'ora.ctssd' on 'rac1' succeeded --关闭ora.ctssd
CRS-: Stop of 'ora.drivers.acfs' on 'rac1' succeeded --关闭ora.drivers.acfs
CRS-: Stop of 'ora.asm' on 'rac1' succeeded --关闭ora.asm
CRS-: Attempting to stop 'ora.cssd' on 'rac1'
CRS-: Stop of 'ora.cssd' on 'rac1' succeeded --关闭ora.cssd
CRS-: Attempting to stop 'ora.gpnpd' on 'rac1'
CRS-: Attempting to stop 'ora.diskmon' on 'rac1'
CRS-: Stop of 'ora.gpnpd' on 'rac1' succeeded --关闭ora.gpnpd
CRS-: Attempting to stop 'ora.gipcd' on 'rac1'
CRS-: Stop of 'ora.diskmon' on 'rac1' succeeded --关闭ora.diskmon
CRS-: Stop of 'ora.gipcd' on 'rac1' succeeded --关闭ora.gipcd
CRS-: Shutdown of Oracle High Availability Services-managed resources on 'rac1' has completed --关闭OHASD进程
CRS-: Oracle High Availability Services has been stopped.
[root@rac1 bin]#
总结:重要进程的启动顺序为:OHASD -> ora.gpnpd -> ora.cssd -> ora.asm -> ora.crsd
2. 了解独占模式 -excl
既然是以独占模式启动,那么有些资源一定是不能被其他节点共享的。出现抢占资源会出现什么情况
2.1 启动节点rac1:
[root@rac1 bin]# ./crsctl start crs -excl -- -excl表示以独占模式启动
CRS-: Oracle High Availability Services has been started.
CRS-: Attempting to start 'ora.gipcd' on 'rac1'
CRS-: Attempting to start 'ora.mdnsd' on 'rac1'
CRS-: Start of 'ora.gipcd' on 'rac1' succeeded
CRS-: Start of 'ora.mdnsd' on 'rac1' succeeded
CRS-: Attempting to start 'ora.gpnpd' on 'rac1'
CRS-: Start of 'ora.gpnpd' on 'rac1' succeeded
CRS-: Attempting to start 'ora.cssdmonitor' on 'rac1'
CRS-: Start of 'ora.cssdmonitor' on 'rac1' succeeded
CRS-: Attempting to start 'ora.cssd' on 'rac1'
CRS-: Attempting to clean 'ora.diskmon' on 'rac1'
CRS-: Clean of 'ora.diskmon' on 'rac1' succeeded
CRS-: Attempting to start 'ora.diskmon' on 'rac1'
CRS-: Start of 'ora.diskmon' on 'rac1' succeeded
CRS-: Start of 'ora.cssd' on 'rac1' succeeded
CRS-: Attempting to start 'ora.ctssd' on 'rac1'
CRS-: Attempting to start 'ora.drivers.acfs' on 'rac1'
CRS-: Start of 'ora.ctssd' on 'rac1' succeeded
CRS-: Start of 'ora.drivers.acfs' on 'rac1' succeeded
CRS-: Attempting to start 'ora.asm' on 'rac1'
CRS-: Start of 'ora.asm' on 'rac1' succeeded
CRS-: Attempting to start 'ora.crsd' on 'rac1'
CRS-: Start of 'ora.crsd' on 'rac1' succeeded
[root@rac1 bin]#
2.2 RAC1在独占模式下时,看看节点RAC2抢占资源时会发生什么:
[root@rac2 bin]# ./crsctl start crs -excl
CRS-: Oracle High Availability Services has been started.
CRS-: Attempting to start 'ora.gipcd' on 'rac2'
CRS-: Attempting to start 'ora.mdnsd' on 'rac2'
CRS-: Start of 'ora.gipcd' on 'rac2' succeeded
CRS-: Start of 'ora.mdnsd' on 'rac2' succeeded
CRS-: Attempting to start 'ora.gpnpd' on 'rac2'
CRS-: Start of 'ora.gpnpd' on 'rac2' succeeded
CRS-: Attempting to start 'ora.cssdmonitor' on 'rac2'
CRS-: Start of 'ora.cssdmonitor' on 'rac2' succeeded
CRS-: Attempting to start 'ora.cssd' on 'rac2'
CRS-: Attempting to clean 'ora.diskmon' on 'rac2'
CRS-: Clean of 'ora.diskmon' on 'rac2' succeeded
CRS-: Attempting to start 'ora.diskmon' on 'rac2'
CRS-: 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
CRS-: Attempting to clean 'ora.cssd' on 'rac2'
CRS-: Clean of 'ora.cssd' on 'rac2' succeeded
CRS-: Attempting to stop 'ora.diskmon' on 'rac2'
CRS-: Stop of 'ora.diskmon' on 'rac2' succeeded
CRS-: Attempting to stop 'ora.cssdmonitor' on 'rac2'
CRS-: Stop of 'ora.cssdmonitor' on 'rac2' succeeded
CRS-: Attempting to stop 'ora.gpnpd' on 'rac2'
CRS-: Stop of 'ora.gpnpd' on 'rac2' succeeded
CRS-: Attempting to stop 'ora.mdnsd' on 'rac2'
CRS-: Stop of 'ora.mdnsd' on 'rac2' succeeded
CRS-: Attempting to stop 'ora.gipcd' on 'rac2'
CRS-: Stop of 'ora.gipcd' on 'rac2' succeeded
CRS-: Command Start failed, or completed with errors.
[root@rac2 bin]#
出现状况了(CRS-4402,CRS-2674),现在看看两个节点的的进程状况.
2.3 查看两个节点此时的进程状况
节点RAC1的进程状态:
[root@rac1 bin]# ps -ef|grep grid
root : ? :: /u01/grid/bin/ohasd.bin exclusive
grid : ? :: /u01/grid/bin/oraagent.bin
grid : ? :: /u01/grid/bin/gipcd.bin
grid : ? :: /u01/grid/bin/mdnsd.bin
grid : ? :: /u01/grid/bin/gpnpd.bin
root : ? :: /u01/grid/bin/orarootagent.bin
grid : ? :: /u01/grid/bin/diskmon.bin -d -f
root : pts/ :: grep grid
[root@rac1 bin]# 节点RAC2的进程状态:
[root@rac2 bin]# ps -ef|grep grid
root : ? :: /u01/grid/bin/ohasd.bin exclusive
root : pts/ :: grep grid
[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