RAC集群故障恢复CRS-4047,CRS-4000

Posted lysheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAC集群故障恢复CRS-4047,CRS-4000相关的知识,希望对你有一定的参考价值。

 

知识点:

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再添加

 技术分享图片

已经成功把数据库注册到集群管理

 技术分享图片

查看集群状态,已经正常。

 技术分享图片

至此恢复结束。能恢复成功是一种幸运,所幸硬件和存储没出问题。

 

以上是关于RAC集群故障恢复CRS-4047,CRS-4000的主要内容,如果未能解决你的问题,请参考以下文章

oracle rac中一个节点坏了怎么重装与恢复(目前数据库在另一节点中正常运行)?谢谢!

AIX 集群系统下的 Oracle RAC 故障处理方法

ORACLE 11G RAC 节点重启问题

大话Oracle_RAC:集群高可用性备份与恢复pdf

CentOS-7-x86_64 for Oracle 12cR2 RAC(未完待续)

主机os重装节点加回RAC集群