加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle Rac中某一节点因存储链路出错导致数据库IO读写卡顿的问题

发布时间:2020-12-12 13:53:38 所属栏目:百科 来源:网络整理
导读:环境:Oracle11.2.4.0RAC 问题描述: 数据库IO读写卡顿,随之某一节点的asm磁盘组被强制dismount,实例被迫停止。 问题分析: 通过系统日志分析,发现有Buffer I/O error的故障刷屏,如下图: 用multipath -ll查看服务器磁盘多路径,发现某一节点两块磁盘路

环境:Oracle11.2.4.0RAC

问题描述:

数据库IO读写卡顿,随之某一节点的asm磁盘组被强制dismount,实例被迫停止。

问题分析:

通过系统日志分析,发现有Buffer I/O error的故障刷屏,如下图:

用multipath -ll查看服务器磁盘多路径,发现某一节点两块磁盘路径分别丢失了两条(正常情况为四条路径,一条为active状态,其他三条为enabled状态):


重新刷新路径,发现磁盘路径出错,从而导致两块磁盘所在的ASM磁盘组DATA2处于dismount状态的,因此造成该节点实例停止运行。

问题解决:

1、通过存储重新挂载新的两块磁盘,用multipath -ll 确认新加的两块磁盘路径在两个节点中都正常,如下图:



(以下操作皆在grid用户下执行!“su - grid” 进入grid用户)

2、在正常节点中,进入ASM磁盘组管理界面,把新加的两块盘添加到磁盘组DATA2中,等待磁盘组数据自动平衡,如下图:


(在grid用户下,执行命令"sqlplus / as sysasm"连接进入asm,再执行以下命令!)


当显示REBAL RUN”状态说明数据正在自动平衡到新加的磁盘,数据同步过程需要一段时间。

数据同步过程如下:


DATA2_0000、DATA2_0001 是旧的路径出错的两块盘,DATA2_0002、DATA2_0003 是新加的正常的两块盘。


同步完成,再查看状态,当显示“no rows selected”状态表示数据已经平衡完毕。如下:


3、开始删除旧的路径损坏的两个磁盘DATA2_0000,DATA2_0001,并等待数据自动同步到新加的两块磁盘DATA2_0002,DATA2_0003中,如下图:



在旧的两块盘被踢除之前,asm机制会把这两块盘上的数据自动迁移到两块新的盘中,当显示REBAL RUN”状态说明数据正在自动平衡,数据同步过程需要一段时间,过程如下:



当DATA2磁盘组中只显示两块新的盘的时候,还有asm_operation查看结果处于“no rows selected”状态时,说明旧的两块盘已经被成功踢除!

3、再到不正常的节点中,用 " alter diskgroupDATA2 mount; " 命令挂载DATA2磁盘组,挂载成功,日志如下:


4、分别在两个节点中进入asmcmd,用“lsdg”命令查看磁盘组情况,状态正常,如下:


5、在不正常节点中,启动实例,启动成功,问题解决!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读