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

|故障发生

近日,某客户通过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

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

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

一 END 一

社区介绍

DBGeeK社区的创建,是为了更好的提供一个DBA的交流和活动平台(QQ群:516293316)。社区通过技术交流,线上、线下活动的分享,不断帮助用户提升数据库技能、获取数据库最佳实践,帮助用户更好、更安全的使用数据库。【做中国最好的共享数据库技术知识的社区】

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

扫码关注云+社区

领取腾讯云代金券