CRSCTL Utility 参考

2018-02-07 Oracle 宅必备

这节讲集群中CRSCTL 命令的一些东西


1. 关于CRSCTL

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

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

我们可以使用crsctl进行

1.1 Clusterized (Cluster Aware)命令

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

它包括:

1.2 一些备忘

crsctl位于Grid_home/bin

很多crsctl可以使用-f参数强制执行而不用进行相关检测

不要使用早期版本的crsctl操作11.2版本的集群

1.3 以前版本废弃的命令对比

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

Alt text

Alt text

Alt text


2.CRSCTL命令参考

crsctl命令可分为三类:

这里列出比较重要的,全部命令请查看

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

2.1 Dual Environment

crsctl 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

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

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做如下操作

crsctl 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 check cluster

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


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

$ crsctl check cluster -all

o

Alt text

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