首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

磁盘dismount,导致crs无法启动

一、故障现象

无法连接rac数据库,客户端连接提示无监听程序,进入主机查看集群状态crsctl stat res –t命令无法使用,提示

CRS-4535: Cannot communicate with ClusterReady Services

CRS-4000: Command Status failed, orcompleted with errors.

两个节点都提示这个错误

二、解决过程

查看上边的报错,基本可以判断是oracle的集群服务出现了问题

1、 查看alert日志

发现两个节点的日志都提示有与磁盘的同步I/O操作失败,初步判断是asm磁盘问题

alert_ehr1.log

alert_ehr2.log

2、查看asm日志

发现两个节点中都提示有arch_dg磁盘组被强制dismount了,arch_dg磁盘组放置了归档日志,flashback空间(存储了控制文件,在线日志的镜像),没有了共享磁盘,导致数据库异常

alert_+ASM1.log

alert_+ASM2.log

alertwsptrac1.log

alertwsptrac2.log

3、处理问题

磁盘组dismount了,那就手工mount

使用grid用户登录系统

sqlplus / as sysasm

select name, state, total_mb, free_mb fromv$asm_diskgroup;

都是dismount状态的

手工mount

alter diskgroup xxx mount;

select name, state, total_mb, free_mb fromv$asm_diskgroup;

磁盘组状态都是mount的了,然后重启crs

使用root用户

crsctl start crs

无法启动此命令,使用如下命令

crsctl start res ora.crsd -init

提示已经在节点上启动成功,但是使用crsctl stat res –t命令还是提示

CRS-4535: Cannot communicate with ClusterReady Services

CRS-4000: Command Status failed, orcompleted with errors

尝试关闭crs,重新启动

crsctl stop crs

crsctl start res ora.crsd -init

关闭正常,启动正常,但是使用crsctl stat res –t命令还是提示上边问题,尝试强制停止,重新启动

crsctl stop crs –f

crsctl start res ora.crsd -init

还是提示上边问题,重新整理思路,重新过一遍看还是否有遗漏的地方,检查是否是asm磁盘组没有mount好,造成的crs无法启动,然后查看资源状态

crsctl stat res –t –init

可以查看所有资源除了ora.crsd状态是offline的,其他都是online的,判断crs还有其他问题

4、检查crs的日志

检查crs的日志发现如下提示,检查ocr信息

ocrcheck

发现检查失败,至此原因清楚了,是crs信息异常,造成了crs启动异常

crsd.log

5、恢复crs

在2节点的grid的$ORACLE_HOME/cdata/目录下边,找到最新一次的备份进行还原

ocrconfig –restore

还原后重启crs,启动正常,数据库恢复正常

三、总结

1.备份重于一切

2.OCR记录的是节点成员的配置信息,如数据库、ASM、实例、监听器、VIP等CRS资源的配置信息。CRS进程管理的信息来自OCR的内容。Oracle自动4个小时,1天,1周备份

3.造成arch_dg磁盘组dismount的原因还在查找,初步怀疑是磁盘空间不足造成了问题,这个库前一天归档日志满了,arch_dg磁盘组还剩1G大小,手工删除了归档日志,可用容增加到300G

4.手工删除归档日志

grid用户登录系统,使用asmcmd工具管理磁盘

asmcmd

lsdg

cd到归档日志目录

rm –rf 日志

使用rman验证一下归档日志是否可用,否则rman备份有可能无法正常备份

rman target /

crosscheck archivelog all

list expired archivelog all

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180103G00IAF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券