怎么恢复OracleRACforaix存储双控锁盘导致ASM控制文件损坏

这篇文章主要介绍“怎么恢复Oracle RAC for aix存储双控锁盘导致ASM控制文件损坏”,在日常操作中,相信很多人在怎么恢复Oracle RAC for aix存储双控锁盘导致ASM控制文件损坏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么恢复Oracle RAC for aix存储双控锁盘导致ASM控制文件损坏”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站是一家集网站建设,双清企业网站建设,双清品牌网站建设,网站定制,双清网站建设报价,网络营销,网络优化,双清网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

   故障场景:AIX IBM存储更换存储控制器电源模块导致存储双控同时掉电,存储双控恢复供电后发生锁盘,IBM解盘后

RAC数据库无法正常启动,启动报错:ORA-00600: internal error code, arguments: [2131], [33], [32], [], [], [], [], [], [], [], [], []

    恢复方案确定:由于损坏的数据库数据量巨大,有30T之多,并且要求尽快打开数据库,可以接受丢失部分数据,

数据库有备份。商议之下,使用备份控制文件恢复数据库,进行数据库的不一致性恢复。

    恢复过程:

1、从磁带库拉取控制文件备份集并恢复到Oracle RAC数据库ASM存储中

--此时尝试启动数据库会遇到报错信息:

ORA-00600: internal error code, arguments: [3020], [718], [2828551], [3014338823], [], [], [], [], [], [], [], []

ORA-10567: Redo is inconsistent with data block (file# 718, block# 2828551, file offset is unknown bytes)

2、生成Oracle的pfile并加入如下三个参数

_allow_resetlogs_corruption=true #跳过redo崩溃,允许resetlogs开库

undo_management=manual  #将undo管理修改为手工管理

event="10513 trace name context forever,level 2" #开10513事件跳过一致性验证

*.cluster_database=false

--此时,尝试启动数据库会遇到报错信息:

ORA-00600: internal error code, arguments: [2662], [3735], [1979553782], [3735], [1979584838], [20971664], [], [], [], [], [], []

3、Oracle数据库使用备份控制文件恢复数据库后,需要推进控制文件的SCN

数据库当前的SCN= 3735.1979584838=(3735*4294967296)+1979584838=16043682435398

giga=16043682435398/1024/1024/1024=14941.843=14941

需要推进的新SCN=14942*1024*1024*1024=16043850334208

Oracle数据库10g控制文件推进可以在pfile中加入参数:_minimum_giga_scn;

ORACLE 11.2.0.4 SCN推进方法oradebug

本次数据库控制文件SCN推进步骤步骤

SQL> oradebug setmypid

Statement processed.

SQL> oradebug dumpvar sga kcsgscn_

kcslf kcsgscn_ [700000000019B70, 700000000019BA0) = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 07000000 00019850 

SQL> oradebug poke 0x700000000019B70 8 16043850334208

BEFORE: [700000000019B70, 700000000019B78) = 00000000 00000000

AFTER:  [700000000019B70, 700000000019B78) = 00000E97 80000000

SQL> oradebug dumpvar sga kcsgscn_

kcslf kcsgscn_ [700000000019B70, 700000000019BA0) = 00000E97 80000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 07000000 00019850

SQL>

--此时尝试启动数据库会遇到报错信息:

ORA-00600: internal error code, arguments: [4193], [], [], [], [], [], [], [], [], [], [], []

接下来ORA600[4193]的处理就是ORACLE rac的undo表空间的重建了,需要配合参数:undo_management 和_CORRUPTED_ROLLBACK_SEGMENTS。

 4、处理完ORA600[4193]后,数据库能够启动并打开到open状态,此时最好进行全库备份,如果条件允许,

就重建数据库以逻辑的方式导出故障数据库导新环境。否则,后续的使用中会时不时遇到如下报错信息:

ORA600[6122]和ORA600[KDSGRP1],实质文件是索引逻辑坏块引起的,以drop和create重建相关的索引即可。

到此,关于“怎么恢复Oracle RAC for aix存储双控锁盘导致ASM控制文件损坏”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


名称栏目:怎么恢复OracleRACforaix存储双控锁盘导致ASM控制文件损坏
新闻来源:http://ybzwz.com/article/igdpig.html