联系:手机/微信(+86 17813235971) QQ(107644445)
标题:Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
接到客户反馈,一套运行在虚拟化平台中的Oracle数据库,由于机房断电,导致数据库无法启动,最初启动报错
2025-04-22T16:59:48.922227+08:00Completed: alter database mount exclusivealter database open2025-04-22T16:59:52.609726+08:00Ping without log force is disabled: instance mounted in exclusive mode.2025-04-22T16:59:52.937852+08:00Beginning crash recovery of 1 threads parallel recovery started with 15 processes Thread 1: Recovery starting at checkpoint rba (logseq 11031 block 139863), scn 02025-04-22T16:59:53.094081+08:00Started redo scan2025-04-22T16:59:53.203464+08:00Completed redo scan read 15533 KB redo, 1140 data blocks need recovery2025-04-22T16:59:53.515972+08:00Hex dump of (file 3,block 82642) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p001_6612.trcCorrupt block relative dba: 0x00c142d2 (file 3,block 82642)Fractured block found during crash/instance recoveryData in bad block: type: 6 format: 2 rdba: 0x00c142d2 last change scn: 0x0000.0001.7a0219e2 seq: 0x1 flg: 0x06 spare3: 0x0 consistency value in tail: 0x0fcb0601 check value in block header: 0x82eb computed block checksum: 0x172a2025-04-22T16:59:53.563004+08:00Reading datafile 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF' for corrupt data at rdba: 0x00c142d2 (file 3,block 82642)Reread (file 3,block 82642) found same corrupt data (no logical check)2025-04-22T16:59:54.578467+08:00Hex dump of (file 3,block 207498) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p000_6064.trc2025-04-22T16:59:54.578467+08:00Corrupt block relative dba: 0x00c32a8a (file 3,block 207498)Fractured block found during crash/instance recoveryData in bad block: type: 6 format: 2 rdba: 0x00c32a8a last change scn: 0x0000.0001.731ec74f seq: 0x2 flg: 0x06 spare3: 0x0 consistency value in tail: 0x10520601 check value in block header: 0x61c3 computed block checksum: 0xe27aReading datafile 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF' for corrupt data at rdba: 0x00c32a8a (file 3,block 207498)Reread (file 3,block 207498) found same corrupt data (no logical check)Hex dump of (file 4, block 3959) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p000_6064.trcCorrupt block relative dba: 0x01000f77 (file 4, block 3959)Fractured block found during crash/instance recoveryData in bad block: type: 2 format: 2 rdba: 0x01000f77 last change scn: 0x0000.0001.79fa3621 seq: 0x4 flg: 0x04 spare3: 0x0 consistency value in tail: 0xcf6c0201 check value in block header: 0x99d2 computed block checksum: 0x79e0Reading datafile 'D:\APP\ADMINISTRATOR\ORADATA\HIS\UNDOTBS01.DBF' for corrupt data at rdba: 0x01000f77 (file 4,block 3959)Reread (file 4, block 3959) found same corrupt data (no logical check)2025-04-22T16:59:54.640991+08:00Started redo application at Thread 1: logseq 11031, block 139863, offset 02025-04-22T16:59:54.672246+08:00Recovery of Online Redo Log: Thread 1 Group 3 Seq 11031 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO03.LOG2025-04-22T16:59:54.703494+08:00Hex dump of (file 3,block 89738) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trcCorrupt block relative dba: 0x00c15e8a (file 3,block 89738)Fractured block found during crash/instance recoveryData in bad block: type: 6 format: 2 rdba: 0x00c15e8a last change scn: 0x0000.0001.7a09108a seq: 0x2 flg: 0x06 spare3: 0x0 consistency value in tail: 0x278e0602 check value in block header: 0xd721 computed block checksum: 0x2705Reading datafile 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF' for corrupt data at rdba: 0x00c15e8a (file 3,block 89738)Reread (file 3,block 89738) found same corrupt data (no logical check)2025-04-22T16:59:54.734756+08:00Hex dump of (file 3,block 9504) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p005_3660.trcReading datafile 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF' for corrupt data at rdba: 0x00c02520 (file 3,block 9504)Reread (file 3,block 9504) found same corrupt data (logically corrupt)*****************************************************************An internal routine has requested a dump of selected redo.This usually happens following a specific internal error, whenanalysis of the redo logs will help Oracle Support with thediagnosis.It is recommended that you retain all the redo logs generated (byall the instances) during the past 12 hours, in case additionalredo dumps are required to help with the diagnosis.*****************************************************************2025-04-22T16:59:54.750364+08:00Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0xC] [PC:0x7FF64221F2F8, kdxlin()+4824]Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p008_3964.trc (incident=521460):ORA-07445: 出现异常错误: 核心转储 [kdxlin()+4824][ACCESS_VIOLATION][ADDR:0xC][PC:0x7FF64221F2F8][UNABLE_TO_READ][]Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_521460\his_p008_3964_i521460.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.2025-04-22T16:59:55.156605+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p005_3660.trc:ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况ORA-00312: 联机日志 1 线程 1: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO01.LOG'2025-04-22T16:59:55.828516+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p00a_3428.trc (incident=521476):ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_521476\his_p00a_3428_i521476.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.2025-04-22T16:59:56.844113+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trc (incident=521444):ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_521444\his_p006_5236_i521444.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.2025-04-22T16:59:59.062944+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p005_3660.trc:ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况ORA-00334: 归档日志: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO01.LOG'2025-04-22T16:59:59.156645+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p00a_3428.trc:ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况ORA-00312: 联机日志 1 线程 1: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO01.LOG'ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_521477\his_p00a_3428_i521477.trc2025-04-22T17:00:04.250414+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trc:ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况ORA-00334: 归档日志: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO01.LOG'ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []2025-04-22T17:00:04.344200+08:00Slave encountered ORA-10388 exception during crash recoveryErrors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trc (incident=521445):ORA-01578: ORACLE 数据块损坏 (文件号 3, 块号 299732)ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10564: tablespace SYSAUXORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 11351ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_521445\his_p006_5236_i521445.trc2025-04-22T17:00:05.312967+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p00a_3428.trc:ORA-01578: ORACLE 数据块损坏 (文件号 3, 块号 216445)ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10564: tablespace SYSAUXORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 11171ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []2025-04-22T17:00:05.359805+08:00Slave encountered ORA-10388 exception during crash recovery2025-04-22T17:00:06.172286+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trc:ORA-01578: ORACLE 数据块损坏 (文件号 3, 块号 299732)ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10564: tablespace SYSAUXORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 11351ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []2025-04-22T17:00:06.172286+08:00Slave encountered ORA-1578 exception during crash recoverySlave exiting with ORA-1578 exception2025-04-22T17:00:06.172286+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trc:ORA-01578: ORACLE 数据块损坏 (文件号 3, 块号 299732)ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10564: tablespace SYSAUXORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 11351ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []ORA-1578 signalled during: alter database open... |
这里面主要报错有几大类:
1.在需要实例恢复的block中有坏块,而且主要集中在3号文件(sysaux)上
2. ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况
3. ORA-600 ktbair2: illegal inheritance错误
对于这些问题的本质都是数据库无法正常实例恢复,尝试按照数据文件级别进行恢复操作,结果只有datafile 3 不成功
2025-04-22T20:11:36.724880+08:00ALTER DATABASE RECOVER datafile 3 2025-04-22T20:11:36.740523+08:00Media Recovery Start2025-04-22T20:11:36.771771+08:00Serial Media Recovery started2025-04-22T20:11:36.896781+08:00Recovery of Online Redo Log: Thread 1 Group 3 Seq 11031 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO03.LOGException [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0xC] [PC:0x7FF64221F2F8, kdxlin()+4824]Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_ora_2512.trc (incident=721216):ORA-07445: ??????: ???? [kdxlin()+4824] [ACCESS_VIOLATION] [ADDR:0xC] [PC:0x7FF64221F2F8] [UNABLE_TO_READ] []Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_721216\his_ora_2512_i721216.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.2025-04-22T20:12:56.585813+08:00ALTER DATABASE RECOVER datafile 3 2025-04-22T20:12:56.601434+08:00Media Recovery Start2025-04-22T20:12:56.601434+08:00Serial Media Recovery started2025-04-22T20:12:57.351435+08:00Recovery of Online Redo Log: Thread 1 Group 3 Seq 11031 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO03.LOG2025-04-22T20:12:58.492071+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_ora_5332.trc (incident=721217):ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_721217\his_ora_5332_i721217.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.2025-04-22T20:13:00.710878+08:00*****************************************************************An internal routine has requested a dump of selected redo.This usually happens following a specific internal error, whenanalysis of the redo logs will help Oracle Support with thediagnosis.It is recommended that you retain all the redo logs generated (byall the instances) during the past 12 hours, in case additionalredo dumps are required to help with the diagnosis.*****************************************************************2025-04-22T20:13:01.398399+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_ora_5332.trc:ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况ORA-00312: 联机日志 1 线程 1: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO01.LOG'ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []2025-04-22T20:13:03.820304+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_mz00_2200.trc:ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'2025-04-22T20:13:06.070340+08:00Errors in file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_ora_5332.trc:ORA-00742: 日志读取在线程 1 序列 11029 块 51218 中检测到写入丢失情况ORA-00334: 归档日志: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO01.LOG'ORA-00600: 内部错误代码, 参数: [ktbair2: illegal inheritance], [], [], [], [], [], [], [], [], [], [], []2025-04-22T20:13:06.085990+08:00Media Recovery failed with error 10562ORA-283 signalled during: ALTER DATABASE RECOVER datafile 3 ... |
对于这样的故障,前段时间通过Oracle Recovery Tools工具处理过类似异常:Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
然后尝试recover datafile 3,并打开数据库成功

至此数据库open成功,由于该库有不少坏块(包括system的一些字典),后续使用逻辑方式迁移数据到新库中(其中由于C_OBJ#簇中有坏块,导致迁移过程中大量index丢失,通过一些方法使用obj$,inde$等基表人工生成index.sql对于丢失的index进行弥补),最终客户业务正常运行
浙公网安备 33010602011771号