这节讲集群中CRSCTL 命令的一些东西1. 关于CRSCTL

crsctl是我们和集群软件之间的一个接口,它调用API来操作集群

11.2开始提供一个集群相关的(cluster-aware)的命令让我们对集群进行开启关闭和检查动作

我们可以使用crsctl进行

开启和期待Oracle集群资源启用和禁用集群进程检查集群健康状况管理第三方应用资源集成 Intelligent Platform Management Interface (IPMI)用来提供故障隔离支持以及确保集群一致性调试Oracle集群组件1.1 Clusterized (Cluster Aware)命令

我们可以在一个节点中使用crsctl远程操作其他节点,这个称为Clusterized (Cluster Aware) Commands

它包括:

crsctl check clustercrsctl start clustercrsctl stop cluster1.2 一些备忘

crsctl位于Grid_home/bin很多crsctl可以使用-f参数强制执行而不用进行相关检测不要使用早期版本的crsctl操作11.2版本的集群1.3 以前版本废弃的命令对比

下表为废弃的命令和替代命令对

2.CRSCTL命令参考

crsctl命令可分为三类:

Dual Environment 既可用于RAC环境也可用于Restart环境Oracle RAC Environmen 只能用于RAC环境Oracle Restart Environment 只能用于Restart环境,及OHAS服务这里列出比较重要的,全部命令请查看

https://docs.oracle.com/cd/E11882_01/rac.112/e41959/crsref.htm#CWADD91147

2.1 Dual Environmentcrsctl check css

该命令用来检查Cluster Synchronization Services

crsctl check css

CRS-4529: Cluster Synchronization Services is online

crsctl check evm

该命令用来检查 Event Manager

crsctl check evm

CRS-4533: Event Manager is online

crsctl get hostname

该命令用来获取本地hostname

$ crsctl get hostname

lixora01

crsctl start resource

该命令开启许多空闲的资源,多个资源指定方式有:

多个资源以空格隔开filter过滤-all指定全部crsctl start resource {resource_name [...] | -w filter | -all} [-n server_name]

[-k cid] [-d did] [-env "env1=val1,env2=val2,..."] [-i] [-f]

举例:

# crsctl start resource myResource -n server1

crsctl status resource

该命令用来获取一个或多个resoure的状态

crsctl status resource -t

crsctl stop resource

该命令用来停止运行中的资源

crsctl stop resource {resource_name [...] | -w "filter" | -all} [-n server_name]

[-k cid] [-d did] [-env "env1=val1,env2=val2,..."] [-i] [-f]

$ crsctl stop resource -n node1 -k 2

crsctl status type

该命令用来获取一个或多个type的状态

crsctl status type resource_type_name [...]] [-g] [-p] [-f]

$ crsctl status type ora.network.type

TYPE_NAME=ora.network.type

BASE_TYPE=ora.local_resource.type

2 Oracle RAC Environment我们可以使用命令对RAC做如下操作

Oracle Clusterware, the member nodes and server poolsOracle ASM (if installed)Cluster Synchronization ServicesCluster Time Synchronization Servicescrsctl add crs administrator

该命令增加一个用户只crs administrator组

crsctl add crs administrator -u user_name [-f]

# crsctl add crs administrator -u scott

crsctl add css votedisk

该命令用来增加voting disk,必须为设备名不能为ASM磁盘组

$ crsctl add css votedisk /stor/grid/ -purge

$ crsctl add css votedisk /stor/grid/ -purge

crsctl check cluster

该命令用来检查集群的状态(可以是整个集群的CRS)

crsctl cluster [-all | [-n server_name [...]]

$ crsctl check cluster -all

crsctl check crs

该命令检查当前节点的OHAS和CRS

$ crsctl check crs

CRS-4638: Oracle High Availablity Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

crsctl check resource

该命令用来检查资源状态

语法:

crsctl check resource {resource_name [...] | -w "filter" }

[-n node_name] [-k cardinality_id] [-d degree_id] }

举例:

$ crsctl check resource appsvip

crsctl check ctss

该命令用来检查Cluster Time Synchronization services

crsctl check ctss

CRS-4700: The Cluster Time Synchronization Service is in Observer mode.

crsctl config crs

该命令用来显示OHAS自启动配置,root用户执行

crsctl config crs

CRS-4622: Oracle High Availability Services autostart is enabled.

crsctl delete crs administrator

该命令用来从crs administrator组删除用户

语法:

crsctl delete crs administrator -u user_name [-f]

举例:

# crsctl delete crs administrator -u scott

crsctl delete node

该命令用来删除节点

必须使用root用户执行

crsctl delete node -n node_name

# crsctl delete node -n node06

crsctl disable crs

该命令用来禁用OHAS的开机自启动

crsctl disable crs

CRS-4621: Oracle High Availability Services autostart is disabled.

crsctl stop cluster

该命令用来停止指定节点或所有节点的集群服务

crsctl stop cluster [-all | -n server_name [...]] [-f]

# crsctl stop cluster -n node1

crsctl stop crs

该命令用于停止一个节点的集群服务

2.3 Oracle Restart Environment前面我们说到集群服务启动首先是启动OHAS服务的

所以OHAS服务一旦停止,所有节点都将停止

crsctl check has

该命令用来检查ohasd的状态

crsctl check has

CRS-4638: Oracle High Availability Services is online

crsctl config has

该命令用来显示High Availability Services的自启动配置

crsctl config has

CRS-4622 Oracle High Availability Services autostart is enabled.

crsctl disable has

用来禁用 High Availability Services开机自启动

crsctl disable has

CRS-4621 Oracle High Availability Services autostart is disabled.

crsctl enable has

用来启用High Availability Services开机自启动

crsctl enable has

CRS-4622 Oracle High Availability Services autostart is enabled.

crsctl start has

用来启动Oracle High Availability Service

crsctl start has

crsctl stop has

用来关闭Oracle High Availability Service

crsctl stop has