ORA-10562 故障恢复—allow 1 corruption解决办法

朋友数据库由于存储变动,导致数据库瞬间hang住,然后直接crash,之后无法正常启动,请求技术支持.
数据库报ORA-00600[2131]错误
不能mount,可以通过重建控制文件解决
Mon Nov 30 20:35:38 2015
alter database mount
Mon Nov 30 20:35:38 2015
NOTE: Loaded library: System
Mon Nov 30 20:35:38 2015
SUCCESS: diskgroup DATADG was mounted
Mon Nov 30 20:35:38 2015
NOTE: dependency between database xifenfei and diskgroup resource ora.DATADG.dg is established
Errors in file /u01/app/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_ora_26450.trc  (incident=3032256):
ORA-00600: internal error code, arguments: [2131], [33], [32], [], [], [], [], [], [], [], [], []
ORA-600 signalled during: alter database mount...
尝试recover数据库
Mon Nov 30 20:45:53 2015
ALTER DATABASE RECOVER  database 
Media Recovery Start
 started logmerger process
Parallel Media Recovery started with 80 slaves
Mon Nov 30 20:45:56 2015
Recovery of Online Redo Log: Thread 2 Group 11 Seq 617 Reading mem 0
  Mem# 0: +DATADG/xifenfei/redo011.log
Recovery of Online Redo Log: Thread 1 Group 4 Seq 5410 Reading mem 0
  Mem# 0: +DATADG/xifenfei/redo04.log
Recovery of Online Redo Log: Thread 1 Group 5 Seq 5411 Reading mem 0
  Mem# 0: +DATADG/xifenfei/redo05.log
Mon Nov 30 20:46:07 2015
Recovery of Online Redo Log: Thread 1 Group 6 Seq 5412 Reading mem 0
  Mem# 0: +DATADG/xifenfei/redo06.log
Mon Nov 30 20:46:13 2015
Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xC] [PC:0x95FB502, kdxlin()+4088] [flags: 0x0, count: 1]
Errors in file /u01/app/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_pr13_30480.trc  (incident=3032568):
ORA-07445: 出现异常错误: 核心转储 [kdxlin()+4088] [SIGSEGV] [ADDR:0xC] [PC:0x95FB502] [Address not mapped to object] []
Mon Nov 30 20:46:17 2015
Sweep [inc][3032568]: completed
Sweep [inc2][3032568]: completed
Mon Nov 30 20:46:31 2015
Slave exiting with ORA-10562 exception
Errors in file /u01/app/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_pr13_30480.trc:
ORA-10562: Error occurred while applying redo to data block (file# 2, block# 165054)
ORA-10564: tablespace SYSAUX
ORA-01110: 数据文件 2: '+DATADG/xifenfei/datafile/sysaux.265.861925867'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 271
ORA-00607: 当更改数据块时出现内部错误
ORA-00602: 内部编程异常错误
ORA-07445: 出现异常错误: 核心转储 [kdxlin()+4088] [SIGSEGV] [ADDR:0xC] [PC:0x95FB502] [Address not mapped to object] []
Mon Nov 30 20:46:31 2015
Recovery Slave PR13 previously exited with exception 10562
Mon Nov 30 20:46:33 2015
Checker run found 28 new persistent data failures
Mon Nov 30 20:46:35 2015
Media Recovery failed with error 448
Errors in file /u01/app/oracle/diag/rdbms/xifenfei/xifenfei1/trace/xifenfei1_pr00_30400.trc:
ORA-00283: 恢复会话因错误而取消
ORA-00448: 后台进程正常结束
ORA-10562 signalled during: ALTER DATABASE RECOVER  database  ...
通过这里可以看到,由于在recover 操作之时,由于某种原因redo的数据无法apply到file 2 block 165054中,导致数据库recover database失败.

按照数据文件recover操作
SQL> recover datafile 1;
Media recovery complete.
SQL> recover datafile 3,4,5,6,7;
Media recovery complete.
SQL> recover datafile 8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28;             
Media recovery complete.
SQL> recover datafile 2;
ORA-00283: recovery session canceled due to errors
ORA-10562: Error occurred while applying redo to data block (file# 2, block#
165054)
ORA-10564: tablespace SYSAUX
ORA-01110: data file 2: '+DATADG/xifenfei/datafile/sysaux.265.861925867'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 271
ORA-00607: Internal error occurred while making a change to a data block
ORA-00602: internal programming exception
ORA-07445: exception encountered: core dump [kdxlin()+4088] [SIGSEGV]
[ADDR:0xC] [PC:0x95FB502] [Address not mapped to object] []
错误提示和recover database一样,那我们只能让恢复跳过该block继续恢复,因为根据经验判断data object# 271不是系统核心对象,不会影响数据库的启动

跳过坏块继续恢复
SQL> recover  datafile 2 allow 1 corruption;
ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [3020], [2], [69793], [8458401], [],
[], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 2, block# 69793, file
offset is 571744256 bytes)
ORA-10564: tablespace SYSAUX
ORA-01110: data file 2: '+DATADG/xifenfei/datafile/sysaux.265.861925867'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 272
 
 
SQL> recover  datafile 2 allow 1 corruption;
Media recovery complete.
SQL> alter database open;
 
Database altered.
出现了ORA-600[3020] 继续跳过坏块,然后数据库顺利open,别忘记加tempfile

处理异常对象
SQL> select object_name,object_type from dba_objects where data_object_id in(272,271);
 
OBJECT_NAME
--------------------------------------------------------------------------------
OBJECT_TYPE
-------------------
SMON_SCN_TIME_TIM_IDX
INDEX
 
SMON_SCN_TIME_SCN_IDX
INDEX
 
SQL> select index_name from dba_indexes where table_name='SMON_SCN_TIME';
 
INDEX_NAME
------------------------------
SMON_SCN_TIME_TIM_IDX
SMON_SCN_TIME_SCN_IDX
 
SQL> set pages 1000
SQL> set long 1000
SQL> Select dbms_metadata.get_ddl('TABLE','SMON_SCN_TIME','SYS') FROM DUAL ;
 
DBMS_METADATA.GET_DDL('TABLE','SMON_SCN_TIME','SYS')
--------------------------------------------------------------------------------
 
  CREATE TABLE "SYS"."SMON_SCN_TIME"
   (    "THREAD" NUMBER,
        "TIME_MP" NUMBER,
        "TIME_DP" DATE,
        "SCN_WRP" NUMBER,
        "SCN_BAS" NUMBER,
        "NUM_MAPPINGS" NUMBER,
        "TIM_SCN_MAP" RAW(1200),
        "SCN" NUMBER DEFAULT 0,
        "ORIG_THREAD" NUMBER DEFAULT 0           /* for downgrade */
   ) CLUSTER "SYS"."SMON_SCN_TO_TIME_AUX" ("THREAD")
 
SQL> analyze table smon_scn_time validate structure cascade online;
analyze table smon_scn_time validate structure cascade online
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 2, block # 165054)
ORA-01110: data file 2: '+DATADG/xifenfei/datafile/sysaux.265.861925867'
 
SQL> truncate CLUSTER "SYS"."SMON_SCN_TO_TIME_AUX";
 
Cluster truncated.
关于SMON_SCN_TIME部分处理,可以参考:关于SMON_SCN_TIME若干问题说明.至此数据库基本上恢复完成,而且运气非常好,恢复的非常完美,数据实现0丢失.

联系:手机(13429648788) QQ(107644445)QQ咨询惜分飞
标题:http://www.xifenfei.com/2015/12/ora-10562-故障恢复-allow-1-corruption.html

时间: 2024-10-25 05:58:04

ORA-10562 故障恢复—allow 1 corruption解决办法的相关文章

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

plsql在64位机器下读取tnsname.ora 及oracle_home异常的解决办法

问题是: 我在自己电脑(win7  64bit)上安装了oracle的64位数据库   通过sqlplus能正常连接 主要是安装pl/sql时   我是这样安装的1.在网上下载了个instantclient-basic-nt-11.2.0.3.0包  解压放在E盘下   路径如下E:\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2 2.我在PL/SQL中的perferences中connection中的oracle_home:E:\ins

ora.crf资源异常—临时停止和禁用解决办法

检查发现运行在win 2008平台的11.2.0.3 rac的crs的alert日志里面出现大量类似记录CRS-2765错误 2015-09-04 00:12:10.431 [ohasd(3844)]CRS-2765:资源 'ora.crf' 已失败 (在服务器 'rac2' 上). 2015-09-04 00:16:46.047 [ohasd(3844)]CRS-2765:资源 'ora.crf' 已失败 (在服务器 'rac2' 上). 2015-09-04 00:21:21.479 [oh

ORA-01034错误的解决办法

错误|解决 ORA-01034错误的解决办法 --Oracle常见错误之一 事先说明,Oracle高手是不需要看本文的. 这是个Oracle数据库服务器比较常见的错误.有经验的用户几乎马上就能解决这个错误,再不济也能马上到Metalink(http://metalink.oracle.com)去搜索一下. 不幸的是,大多的时候,都是初级用户遇到的这样的问题(对他们提Metalink也起不到什么作用--一般都没有上面的帐号:)).所以,这个小帖子可能还有一定的作用. 问题描述======= 在试图

ORACLE920与ASP的连接问题的解决办法

oracle|解决|问题 ORACLE920与ASP的连接问题的解决办法 代码如下: <% on error resume next '连接数据库 Set OraSession = CreateObject("OracleInProcServer.XOraSession") set oradatabase=orasession.dbopendatabase("数据库名","用户名/密码",0) '出错处理 if err.number >

Oracle数据库ORA-12514错误的解决办法

  问题提示 错误提示:ERROR:ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect 解决方法: 代码如下 1. 打开/network/admin/listener.ora文件,找到: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:oracleproduct10.1.0db_1)

Windows7常见故障及解决办法

1.DVD音频问题 微软改进了Windows7的硬件兼容性,但是部分旧机器用户反映,播放DVD时的音量很小甚至压根就没有声音. 解决办法:打开控制面板,进入"硬件和声音"选项,右键默认播放器,在弹出界面中选择属性,进入高级选项后,重新设定音频选项. 如果上述操作不起效果,建议安装新的音频驱动程序. 2.MovieMaker故障 用户操作不当会导致Windows MovieMaker无法导入默认的网络文件.该问题通过快速注册表修改可以解决. 运行Regedit命令,找到HKEY_CURR

Windows7常见故障及其解决办法

Windows7常见故障及其解决办法 据国外媒体报道,微软新操作系统Windows 7发售已经一个多月时间了.许多抢先体验Windows 7的用户在安装.使用过程中常会遇到一些恼人的问题.下面是科技博客Techradar为我们整理的五种Windows 7常见故障及其解决办法: 1.DVD音频问题 微软改进了Windows7的硬件兼容性,但是部分旧机器用户反映,播放DVD时的音量很小甚至压根就没有声音. 解决办法:打开控制面板,进入"硬件和声音"选项,右键默认播放器,在弹出界面中选择属性

9种忘记Windows XP登录密码的解决办法

  Windows XP的使用过程中如果你是一个很容易遗忘的人,那么一定不要忘记在第一次设置密码的同时创建一张可以恢复Windows XP中的账户密码的启动盘,它可以让你免去格式化硬盘的烦恼. 从"控制面板"中找到"用户账户"项,选中自己的账户进入如图所示的控制界面,我们可以看到左侧任务列表中有一项"阻止一个已忘记的密码",点击后便可打开"忘记密码向导",向导会提示插入一张格式化过的空白磁盘,操作过程中会让你输入该账户所使用的