CRSCTL Utility 参考
2018-02-07 Oracle 宅必备
这节讲集群中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 cluster
-
crsctl start cluster
-
crsctl stop cluster
1.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 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
该命令开启许多空闲的资源,多个资源指定方式有:
-
多个资源以空格隔开
-
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 pools
-
Oracle ASM (if installed)
-
Cluster Synchronization Services
-
Cluster Time Synchronization Services
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
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