Oracle RAC是多个节点共享存储的集群数据库架构,Oracle 11G R2是该架构下的常用版本,掌握正确的集群验证、启动和关闭方法是运维人员的基础技能。

Oracle RAC集群状态验证方法
验证RAC集群状态是操作前的重要步骤,需要先确认集群各组件的运行情况,避免操作过程中出现节点异常。
1. 验证集群节点状态
使用crsctl命令查看所有节点的集群状态,该命令可以显示节点是否在集群中、资源运行状态等信息。
# 查看集群节点状态 crsctl check cluster -all # 查看集群资源整体状态 crsctl stat res -t
2. 验证数据库实例状态
可以通过SQL*Plus登录数据库查看实例状态,也可以通过集群命令查看数据库资源运行情况。
# 查看数据库资源状态,orcl为数据库名称,需替换为实际库名 crsctl stat res ora.orcl.db -t
3. 验证ASM实例状态
RAC环境下通常使用ASM管理共享存储,需要确认ASM实例运行正常。
# 查看ASM资源状态 crsctl stat res ora.asm -t # 登录ASM实例查看状态 su - grid sqlplus / as sysasm select instance_name,status from v$instance;
Oracle 11G R2 RAC启动流程
Oracle 11G R2 RAC的启动需要按照集群组件、ASM、数据库的顺序逐步操作,避免依赖组件未启动导致数据库无法正常拉起。
1. 启动集群软件
在任意一个节点以root用户执行以下命令启动集群软件,该操作会启动所有节点的集群相关服务。
# 启动整个集群 crsctl start cluster -all # 验证集群启动状态 crsctl check cluster -all
2. 启动ASM实例
集群启动后,需要启动ASM实例加载共享存储,确保数据库可以访问数据文件。
# 启动ASM资源 srvctl start asm -n 节点名称 # 验证ASM状态 crsctl stat res ora.asm -t
3. 启动数据库实例
ASM正常后启动数据库,RAC环境下可以通过srvctl命令一次性启动所有节点的数据库实例。
# 启动数据库,orcl替换为实际数据库名 srvctl start database -d orcl # 验证数据库状态 crsctl stat res ora.orcl.db -t
Oracle 11G R2 RAC关闭流程
关闭流程和启动流程相反,需要先关闭数据库,再关闭ASM,最后关闭集群软件,避免数据丢失或者存储访问异常。
1. 关闭数据库实例
先停止所有节点的数据库实例,确保数据正常落盘。
# 关闭数据库,orcl替换为实际数据库名 srvctl stop database -d orcl -o immediate # 验证数据库状态 crsctl stat res ora.orcl.db -t
2. 关闭ASM实例
数据库关闭后,停止ASM实例释放存储资源。
# 关闭ASM资源 srvctl stop asm -n 节点名称 # 验证ASM状态 crsctl stat res ora.asm -t
3. 关闭集群软件
最后关闭集群软件,停止所有节点的集群相关服务。
# 关闭整个集群 crsctl stop cluster -all # 验证集群关闭状态 crsctl check cluster -all
操作注意事项
- 操作前务必先验证集群状态,确认没有异常告警再执行启动或关闭操作
- 关闭数据库时使用immediate模式,避免数据丢失,不要直接断电或者使用abort模式除非紧急情况
- 启动和关闭操作建议在业务低峰期执行,避免影响正常业务访问
- 如果单个节点操作,需要指定节点名称,全集群操作使用-all参数
- 操作过程中如果出现报错,先查看集群日志和数据库告警日志定位问题,不要盲目重复操作
Oracle_RACOracle_11G_R2集群验证数据库启动数据库关闭修改时间:2026-06-06 23:17:51