今天QQ群 里有朋友在问关于crsctl stop cluster/crsctl stop crs/crsctl stop has几条命令的区别。在11GR2 GRID环境中,引用了很多新的功能,如果ohas进程,导致集群变得越来越复杂。
下面引用官方文档关于oracle cluster组件部分的说明:
The Oracle Clusterware Stack
Oracle Clusterware consists of two separate stacks: an upper stack anchored by the Cluster Ready Services (CRS) daemon (crsd) and a lower stack anchored by the Oracle High Availability Services daemon (ohasd). These two stacks have several processes that facilitate cluster operations. The following sections describe these stacks in more detail:
The Cluster Ready Services Stack The list in this section describes the processes that comprise CRS. The list includes components that are processes on Linux and UNIX operating systems, or services on Windows.
The Cluster Synchronization Service (CSS), Event Management (EVM), and Oracle Notification Services (ONS) components communicate with other cluster component layers in the other instances in the same cluster database environment. These components are also the main communication links between Oracle Database, applications, and the Oracle Clusterware high availability components. In addition, these background processes monitor and manage database operations.
The Oracle High Availability Services Stack
The list in this section describes the processes that comprise the Oracle High Availability Services stack. The list includes components that are processes on Linux and UNIX operating systems, or services on Windows.
Table 1-1 lists the processes and services associated with Oracle Clusterware components. In Table 1-1, if a UNIX or a Linux system process has an (r) beside it, then the process runs as the root user. Table 1-1 List of Processes and Services Associated with Oracle Clusterware Components
|
1 通过命令查看cluster/has/crs管理的内容
[root@11rac1 ~]# 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 [root@11rac1 ~]# crsctl check has CRS-4638: Oracle High Availability Services is online [root@11rac1 ~]# crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online |
这里可以看到crs显示的内容=has+cluster显示的内容
2 分别执行3条命令查看结果显示
2.1 crsctl stop cluster
root@11rac1 ~]# crsctl stop cluster CRS-2673: Attempting to stop ‘ora.crsd’ on ’11rac1′ CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on ’11rac1′ CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.LISTENER_SCAN1.lsnr’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.CRS.dg’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.power.db’ on ’11rac1′ CRS-2677: Stop of ‘ora.LISTENER.lsnr’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.11rac1.vip’ on ’11rac1′ CRS-2677: Stop of ‘ora.LISTENER_SCAN1.lsnr’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.scan1.vip’ on ’11rac1′ CRS-2677: Stop of ‘ora.scan1.vip’ on ’11rac1′ succeeded CRS-2672: Attempting to start ‘ora.scan1.vip’ on ’11rac2′ CRS-2677: Stop of ‘ora.11rac1.vip’ on ’11rac1′ succeeded CRS-2672: Attempting to start ‘ora.11rac1.vip’ on ’11rac2′ CRS-2677: Stop of ‘ora.power.db’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.DATA.dg’ on ’11rac1′ CRS-2676: Start of ‘ora.11rac1.vip’ on ’11rac2′ succeeded CRS-2676: Start of ‘ora.scan1.vip’ on ’11rac2′ succeeded CRS-2672: Attempting to start ‘ora.LISTENER_SCAN1.lsnr’ on ’11rac2′ CRS-2677: Stop of ‘ora.DATA.dg’ on ’11rac1′ succeeded CRS-2676: Start of ‘ora.LISTENER_SCAN1.lsnr’ on ’11rac2′ succeeded CRS-2677: Stop of ‘ora.CRS.dg’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.asm’ on ’11rac1′ CRS-2677: Stop of ‘ora.asm’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.ons’ on ’11rac1′ CRS-2677: Stop of ‘ora.ons’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.net1.network’ on ’11rac1′ CRS-2677: Stop of ‘ora.net1.network’ on ’11rac1′ succeeded CRS-2792: Shutdown of Cluster Ready Services-managed resources on ’11rac1′ has completed CRS-2677: Stop of ‘ora.crsd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.ctssd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.evmd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.asm’ on ’11rac1′ CRS-2677: Stop of ‘ora.evmd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.ctssd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.asm’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ’11rac1′ CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.cssd’ on ’11rac1′ CRS-2677: Stop of ‘ora.cssd’ on ’11rac1′ succeeded
[root@11rac1 ~]# crsctl check crs CRS-4638: Oracle High Availability Services is online CRS-4535: Cannot communicate with Cluster Ready Services CRS-4530: Communications failure contacting Cluster Synchronization Services daemon CRS-4534: Cannot communicate with Event Manager [root@11rac1 ~]# crsctl check has CRS-4638: Oracle High Availability Services is online [root@11rac1 ~]# crsctl check cluster CRS-4535: Cannot communicate with Cluster Ready Services CRS-4530: Communications failure contacting Cluster Synchronization Services daemon CRS-4534: Cannot communicate with Event Manager |
这里可以看到stop cluster停了Clusterware stack,其实也就是官方文档中指的Cluster Ready Services Stack。
2.2 crsctl stop has
继续上面的操作 [root@11rac1 ~]# crsctl stop has CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ’11rac1′ CRS-2673: Attempting to stop ‘ora.mdnsd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.crf’ on ’11rac1′ CRS-2677: Stop of ‘ora.crf’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.gipcd’ on ’11rac1′ CRS-2677: Stop of ‘ora.mdnsd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.gipcd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.gpnpd’ on ’11rac1′ CRS-2677: Stop of ‘ora.gpnpd’ on ’11rac1′ succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ’11rac1′ has completed CRS-4133: Oracle High Availability Services has been stopped. stop has停的就是官方文档中的Oracle High Availability Services Stack,但是Oracle High Availability Services Stack属于Cluster Ready Services Stack依赖的底层,所以在停Oracle High Availability Services Stack会自动停Cluster Ready Services Stack,如下: [root@11rac1 ~]# crsctl stop has CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ’11rac1′ CRS-2673: Attempting to stop ‘ora.crsd’ on ’11rac1′ CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on ’11rac1′ CRS-2673: Attempting to stop ‘ora.CRS.dg’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.power.db’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr’ on ’11rac1′ CRS-2677: Stop of ‘ora.LISTENER.lsnr’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.11rac1.vip’ on ’11rac1′ CRS-2677: Stop of ‘ora.11rac1.vip’ on ’11rac1′ succeeded CRS-2672: Attempting to start ‘ora.11rac1.vip’ on ’11rac2′ CRS-2677: Stop of ‘ora.power.db’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.DATA.dg’ on ’11rac1′ CRS-2676: Start of ‘ora.11rac1.vip’ on ’11rac2′ succeeded CRS-2677: Stop of ‘ora.DATA.dg’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.CRS.dg’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.asm’ on ’11rac1′ CRS-2677: Stop of ‘ora.asm’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.ons’ on ’11rac1′ CRS-2677: Stop of ‘ora.ons’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.net1.network’ on ’11rac1′ CRS-2677: Stop of ‘ora.net1.network’ on ’11rac1′ succeeded CRS-2792: Shutdown of Cluster Ready Services-managed resources on ’11rac1′ has completed CRS-2677: Stop of ‘ora.crsd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.crf’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.ctssd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.evmd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.asm’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.mdnsd’ on ’11rac1′ CRS-2677: Stop of ‘ora.crf’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.evmd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.mdnsd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.ctssd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.asm’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ’11rac1′ CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.cssd’ on ’11rac1′ CRS-2677: Stop of ‘ora.cssd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.gipcd’ on ’11rac1′ CRS-2677: Stop of ‘ora.gipcd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.gpnpd’ on ’11rac1′ CRS-2677: Stop of ‘ora.gpnpd’ on ’11rac1′ succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ’11rac1′ has completed CRS-4133: Oracle High Availability Services has been stopped. 这里可以看到在停has的时候,自动把上层服务也停了 |
2.3 crsctl stop crs
这里的CRS其实指的是整个ORACLE集群,也不是 Cluster Ready Services Stack的简写。
[root@11rac1 ~]# crsctl stop crs CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on ’11rac1′ CRS-2673: Attempting to stop ‘ora.crsd’ on ’11rac1′ CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on ’11rac1′ CRS-2673: Attempting to stop ‘ora.CRS.dg’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.power.db’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.LISTENER.lsnr’ on ’11rac1′ CRS-2677: Stop of ‘ora.LISTENER.lsnr’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.11rac1.vip’ on ’11rac1′ CRS-2677: Stop of ‘ora.11rac1.vip’ on ’11rac1′ succeeded CRS-2672: Attempting to start ‘ora.11rac1.vip’ on ’11rac2′ CRS-2677: Stop of ‘ora.power.db’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.DATA.dg’ on ’11rac1′ CRS-2676: Start of ‘ora.11rac1.vip’ on ’11rac2′ succeeded CRS-2677: Stop of ‘ora.DATA.dg’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.CRS.dg’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.asm’ on ’11rac1′ CRS-2677: Stop of ‘ora.asm’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.ons’ on ’11rac1′ CRS-2677: Stop of ‘ora.ons’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.net1.network’ on ’11rac1′ CRS-2677: Stop of ‘ora.net1.network’ on ’11rac1′ succeeded CRS-2792: Shutdown of Cluster Ready Services-managed resources on ’11rac1′ has completed CRS-2677: Stop of ‘ora.crsd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.crf’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.ctssd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.evmd’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.asm’ on ’11rac1′ CRS-2673: Attempting to stop ‘ora.mdnsd’ on ’11rac1′ CRS-2677: Stop of ‘ora.crf’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.evmd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.mdnsd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.ctssd’ on ’11rac1′ succeeded CRS-2677: Stop of ‘ora.asm’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.cluster_interconnect.haip’ on ’11rac1′ CRS-2677: Stop of ‘ora.cluster_interconnect.haip’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.cssd’ on ’11rac1′ CRS-2677: Stop of ‘ora.cssd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.gipcd’ on ’11rac1′ CRS-2677: Stop of ‘ora.gipcd’ on ’11rac1′ succeeded CRS-2673: Attempting to stop ‘ora.gpnpd’ on ’11rac1′ CRS-2677: Stop of ‘ora.gpnpd’ on ’11rac1′ succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ’11rac1′ has completed CRS-4133: Oracle High Availability Services has been stopped. |
通过上面的简单测试,可以得出两点:
1,crsctl stop crs=crsctl stop cluster+crsctl stop has,前提是先停cluster后,再停has |
2,crsctl stop crs=crsctl stop has,如果之前没有手动停cluster,那么crsctl stop crs与crsctl stop has的效果一样 |
另外crsctl stop crs与crsctl stop has都只能操作当前节点,crsctl stop cluster可以一次操作集群中多个节点,前提是HAS服务正常运行。
下面来一张ORACLE RAC进程之前的依赖
11g rac中关于crsctl stop cluster/crsctl stop crs/crsctl stop has的区别:等您坐沙发呢!