启动/停止RAC集群服务
确保关闭前实例上没有session在执行,建议在应用停服后杀一次local=no的会话
ps -ef |grep -i local=no |wc -l
ps -ef |grep -i local=no |cut -c 10-15|xargs kill -9
root用户下执行
老命令
crsctl start/stop has或者crsctl start/stop crs #启动/停止本节点has/crs服务(可选-f参数强制结束)
crsctl check crs或者crsctl check has #检查本节点crs/hs服务状态
crs_stat -t #检查集群资源状态
扩展:has服务包括OHAS进程,crs服务包括CRS栈+OHAS进程
新命令
crsctl start/stop cluster #启动/停止本节点集群服务(可选-f参数强制结束)
crsctl start/stop cluster -all #启动/停止所有节点集群服务(可选-f参数强制结束)
crsctl check cluster #检查本节点集群服务
crsctl check cluster -all #检查所有节点集群服务
crsctl status res -t #检查集群资源状态
关闭/打开指定节点集群服务
方式一:手动方式
关闭本节点上的数据库实例 srvctl stop instance -d erpln -i erpln2
关闭本机crs服务 crsctl stop crs
打开本机crs服务 crsctl start crs
打开本节点上的数据库实例 srvctl start instance -d erpln -i erpln2
该方式为手动关闭方式,依次手动关闭本节点实例和crs
启动时一样需要手动依次启动crs和本节点实例
方式二:自动方式
关闭本机crs服务 crsctl stop crs
打开本机crs服务 crsctl start crs
关闭时该方式会自动先关闭本节点上的数据库实例,然后关闭crs服务
启动时打开crs服务后会自动启动本节点的数据库实例,无需手动启动实例
常用命令(grid用户下)
srvctl config database -v#查询已安装的数据库名称
srvctl config database -d erpln -a -v#通过名称查询数据库摘要信息(节点名称实例名称等)
srvctl status/start/stop database -d erpln -v #查询数据库状态
srvctl status/start/stop instance -d erpln -i erpln2 -v#查询指定节点实例
srvctl config asm #查询asm信息
srvctl status asm -v #查询asm状态
RAC开关数据库
关库
oracle用户下执行
srvctl stop listener #停止监听服务
srvctl status listener #检查当前监听状态
srvctl stop database -d erpln -o immediate #停止数据库
srvctl status database -d erpln检查数据库状态
root用户下执行
crsctl stop cluster -all #停止数据库,并停止rac其他所有的集群服务(如asm实例、vip、监听以及rac高可用环境)
crsctl check cluster -all #检查集群状态
开库
root用户下执行
crsctl start cluster -all #打开集群服务
crsctl check cluster -all #检查集群服务
oracle用户下执行
srvctl start database -d erpln #打开数据库
srvctl status database -d erpln #检查数据库状态
srvctl start listner -n erpln #打开监听
srvctl status listener #检查监听状态
扩展:
has、crs服务一般设计为开机自启动
cluster命令依赖于has服务,如果开机后启动cluster服务时遇到问题报错,可以等待片刻后重试,或者手动启动has后再启动cluster
crsctl start has
crsctl start cluster -all
asm服务属于cluster的一部分,关库时不需要单独关闭asm