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)

由于受台风“山竹“影响,服务器异常关机,集群服务无法启动,NC业务中断,棘手的问题是客户没有任何备份。

精简后的操作过程:

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

 

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

 

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

 

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

猜你喜欢

转载自www.cnblogs.com/lysheng/p/9713650.html
今日推荐