知识点:
RAC是real application clusters的缩写,译为“实时应用集群”,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。
主要作用:
(1)多节点负载均衡;
(2)提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;
带来好处的同时,RAC管理复杂,维护难度大。
本文涉及到几个组件和进程介绍
OCR:用于存储所有与集群,RAC数据库相关的配置信息。
OHAS:集群高可用服务,并负责生成agent进程。
背景
操作系统:Red Hat 6.5
数据库: RAC集群双节点(11.2.0.1)
由于受台风“山竹“影响,服务器异常关机,集群服务无法启动,业务中断,棘手的问题是客户没有任何备份。
精简后的操作过程:
节点1,集群状态报错
节点2
asm无法启动
检查crsd.log
发现ocr.loc和olr.loc全部丢失,这两个文件非常重要,分别记录了ocr和olr的位置
查看ocr没有备份,正常情况下OCR每4小时自动备份一次
Ocr的备份也没有,已经基本上无解了,只剩最后一招重建集群(风险操作)
重建集群过程:
rootcrs.pl -verbose -deconfig -force
执行root.sh脚本
重建脚本的时候继续报错,这个报错说明OHAS没有起来
解决方法:
在执行root.sh脚本时出现Adding daemon to inittab的时候,在另一个窗口使用root执行以下命令:
之后创建文件输入以下命令,oracle-ohasd.conf必须创建,否则重启系统后无法自动启动OHAS
说明OHAS已经启动
集群重建之后,集群已经无法管理数据库资源,报下面错误
需要把数据库注册到到集群,发现已经存在
需要执行如下命令删掉serverpool再添加
已经成功把数据库注册到集群管理
查看集群状态,已经正常。
至此恢复结束。能恢复成功是一种幸运,所幸硬件和存储没出问题。