ITPub博客

首页 > 数据库 > Oracle > 控制文件不一致引发的“血案”

控制文件不一致引发的“血案”

原创 Oracle 作者:沃趣科技 时间:2018-04-26 11:36:38 0 删除 编辑


  | 故障发生

近日,某客户通过QMonitor监控软件发现一个备库报警,需要远程支持。通过客户发出的告警截图可以判断该备库已经挂掉。由于该客户不擅长技术方面,所以无法提供过多的信息。





    | 故障恢复

登上备库主机,检查环境为11g单实例ASM,操作系统为RedHat6.5。数据库实例确认为关闭状态,ASM实例状态正常。所以直接进行备库实例开启,启动备库后开启实施日志恢复进程,操作一切顺利,没有异常。

 
| 问题深究
通过和现场值守人员交流,该备库在VMware虚拟机上运行,存储会定时进行备份,该备库近期一直无人操作,可以排除人为关库。只好通过查看数据库alert日志确定备库关闭原因。可以发现alert日志记载的非常明显。




The controlfile header block returned by the OS has a sequence number that is too old.The controlfile might be corrupted. 
当多副本控制文件内部sequence不一致就会产生该错误。据MOS上文档 1589355.1 的描述,这种情况大多是因为存储错误或者IO错误的情况引起的。


  | 改进措施

由于暂时无法解决存储端的问题,而且该备库因为此原因发生关闭的情况已经出现了两次,所以为了预防此问题的发生,根据文档1589355.1 的建议,修改隐藏参数 _controlfile_update_check


点击(此处)折叠或打开

  1. SQL> alter system set "_controlfile_update_check"='OFF' scope=spfile;


设置该参数后,每次控制文件更新时,数据库都会去检查控制文件状态。保证数据库的健壮性。

在未来如果解决了IO低效的问题,可以再次将该参数设置为默认值。

点击(此处)折叠或打开

  1. SQL> alter system set "_controlfile_update_check"='OFF' scope=spfile;


  | 作者简介

陈康,沃趣科技数据库技术专家

主要参与公司产品实施、测试、维护以及优化。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28218939/viewspace-2153381/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
杭州沃趣科技股份有限公司创建于2012年(股票代码:839849),是一家专注为企业用户提供基于高性能、高可用、可扩展的开放数据库云平台解决方案的国产厂商。公司创始团队为原阿里巴巴数据库技术团队核心骨干,凭借丰富的研发及运维经验,为行业客户提供数据库云产品及软硬件一体化解决方案。

注册时间:2016-07-18

  • 博文量
    290
  • 访问量
    994548