成功恢复无备份RAC环境数据库

发表于:2014-8-20 09:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:sundog315    来源:51Testing软件测试网采编

  昨天,一兄弟电话求助,有一套医院HIS数据库无法启动,RAC环境,无备份,尝试过重建控制文件操作,但失败。
  远程连接后,情况如下:
  1.两节点RAC,Oracle11.2.0.1版本,Linux操作系统
  2.recover database时提示需使用backup controlfile
  3.rman list backupset无输出
  由于没有记录具体的操作,这里主要就碰到的异常做一下描述
  1.重启数据库,在日志中发现另一节点没有被关闭,首先关闭另一节点
  2.由于控制文件已被错误重建,并且,沟通后认为丢失一部分数据是可以接受的,因此,决定重新创建控制文件,在创建控制文件时,存在一个知识点:
  RAC环境重建控制文件报错:
  ORA-12720: operation requires database is in EXCLUSIVE mode
  这里需要修改参数文件:
  alter system set cluster_database=false scope=spfile;
  3.重建控制文件后进行恢复操作
  增加隐含参数:
  alter system set "_allow_resetlogs_corruption"=true scope=spfile;
  recover database using backup controlfile until cancel;
  alter database open resetlogs;
  报错
  ORA-00600: internal error code, arguments:  [2662]
  这个错误以前碰到过,需要使用event调整SCN
  首先,再增加一个隐含参数:
  alter system set "_allow_error_simulation"=true scope=spfile;
  重启重建控制文件并恢复后
  alter session set events '10015 trace name ADJUST_SCN level 10';
  alter database open;
  4.经过上一步操作,SCN已经OK了,但仍然报错
  ORA-00600: internal error code, arguments:  [4194]
  4000开头的错误,改UNDO为手动管理模式,修改初始化参数
  undo_management='MANUAL'
  完成启动。
  总结:
  1.这个例子,其实最开始控制文件没有丢失,应该先尝试进行恢复,不知道之前是不是遇到了错误,导致选择了重建控制文件的方法。不过,这里应该指出的是,最好不要一上来就重建控制文件。
  2.备份!备份!备份!
  感觉恢复数据库,就像伤寒论里面说的,观其脉证,知犯何逆,随证治之。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号