IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障

    惜分飞发表于 2025-04-24 11:21:45
    love 0

    联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

    标题:Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障

    作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

    接到客户反馈,一套运行在虚拟化平台中的Oracle数据库,由于机房断电,导致数据库无法启动,最初启动报错

    2025-04-22T16:59:48.922227+08:00
    Completed: alter database mount exclusive
    alter database open
    2025-04-22T16:59:52.609726+08:00
    Ping without log force is disabled:
      instance mounted in exclusive mode.
    2025-04-22T16:59:52.937852+08:00
    Beginning crash recovery of 1 threads
     parallel recovery started with 15 processes
     Thread 1: Recovery starting at checkpoint rba (logseq 11031 block 139863), scn 0
    2025-04-22T16:59:53.094081+08:00
    Started redo scan
    2025-04-22T16:59:53.203464+08:00
    Completed redo scan
     read 15533 KB redo, 1140 data blocks need recovery
    2025-04-22T16:59:53.515972+08:00
    Hex dump of (file 3,block 82642) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p001_6612.trc
    
    Corrupt block relative dba: 0x00c142d2 (file 3,block 82642)
    Fractured block found during crash/instance recovery
    Data 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: 0x172a
    
    2025-04-22T16:59:53.563004+08:00
    Reading 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:00
    Hex dump of (file 3,block 207498) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p000_6064.trc
    2025-04-22T16:59:54.578467+08:00
    
    Corrupt block relative dba: 0x00c32a8a (file 3,block 207498)
    Fractured block found during crash/instance recovery
    Data 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: 0xe27a
    
    Reading 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.trc
    
    Corrupt block relative dba: 0x01000f77 (file 4, block 3959)
    Fractured block found during crash/instance recovery
    Data 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: 0x79e0
    
    Reading 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:00
    Started redo application at
     Thread 1: logseq 11031, block 139863, offset 0
    2025-04-22T16:59:54.672246+08:00
    Recovery of Online Redo Log: Thread 1 Group 3 Seq 11031 Reading mem 0
      Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO03.LOG
    2025-04-22T16:59:54.703494+08:00
    Hex dump of (file 3,block 89738) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p006_5236.trc
    
    Corrupt block relative dba: 0x00c15e8a (file 3,block 89738)
    Fractured block found during crash/instance recovery
    Data 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: 0x2705
    
    Reading 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:00
    Hex dump of (file 3,block 9504) in trace file D:\APP\ADMINISTRATOR\diag\rdbms\his\his\trace\his_p005_3660.trc
    
    Reading 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, when
    analysis of the redo logs will help Oracle Support with the
    diagnosis.
    It is recommended that you retain all the redo logs generated (by
    all the instances) during the past 12 hours, in case additional
    redo dumps are required to help with the diagnosis.
    *****************************************************************
    2025-04-22T16:59:54.750364+08:00
    Exception [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.trc
    Use 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:00
    Errors 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:00
    Errors 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.trc
    Use 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:00
    Errors 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.trc
    Use 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:00
    Errors 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:00
    Errors 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.trc
    2025-04-22T17:00:04.250414+08:00
    Errors 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:00
    Slave encountered ORA-10388 exception during crash recovery
    Errors 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 SYSAUX
    ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'
    ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 11351
    ORA-00600: 内部错误代码, 参数: [ktbair2: illegal  inheritance], [], [], [], [], [], [], [], [], [], [], []
    Incident details in: D:\APP\ADMINISTRATOR\diag\rdbms\his\his\incident\incdir_521445\his_p006_5236_i521445.trc
    2025-04-22T17:00:05.312967+08:00
    Errors 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 SYSAUX
    ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'
    ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 11171
    ORA-00600: 内部错误代码, 参数: [ktbair2: illegal  inheritance], [], [], [], [], [], [], [], [], [], [], []
    2025-04-22T17:00:05.359805+08:00
    Slave encountered ORA-10388 exception during crash recovery
    2025-04-22T17:00:06.172286+08:00
    Errors 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 SYSAUX
    ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'
    ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 11351
    ORA-00600: 内部错误代码, 参数: [ktbair2: illegal  inheritance], [], [], [], [], [], [], [], [], [], [], []
    2025-04-22T17:00:06.172286+08:00
    Slave encountered ORA-1578 exception during crash recovery
    Slave exiting with ORA-1578 exception
    2025-04-22T17:00:06.172286+08:00
    Errors 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 SYSAUX
    ORA-01110: 数据文件 3: 'D:\APP\ADMINISTRATOR\ORADATA\HIS\SYSAUX01.DBF'
    ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 11351
    ORA-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:00
    ALTER DATABASE RECOVER  datafile 3  
    2025-04-22T20:11:36.740523+08:00
    Media Recovery Start
    2025-04-22T20:11:36.771771+08:00
    Serial Media Recovery started
    2025-04-22T20:11:36.896781+08:00
    Recovery of Online Redo Log: Thread 1 Group 3 Seq 11031 Reading mem 0
      Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO03.LOG
    Exception [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.trc
    Use 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:00
    ALTER DATABASE RECOVER  datafile 3  
    2025-04-22T20:12:56.601434+08:00
    Media Recovery Start
    2025-04-22T20:12:56.601434+08:00
    Serial Media Recovery started
    2025-04-22T20:12:57.351435+08:00
    Recovery of Online Redo Log: Thread 1 Group 3 Seq 11031 Reading mem 0
      Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\HIS\REDO03.LOG
    2025-04-22T20:12:58.492071+08:00
    Errors 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.trc
    Use 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, when
    analysis of the redo logs will help Oracle Support with the
    diagnosis.
    It is recommended that you retain all the redo logs generated (by
    all the instances) during the past 12 hours, in case additional
    redo dumps are required to help with the diagnosis.
    *****************************************************************
    2025-04-22T20:13:01.398399+08:00
    Errors 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:00
    Errors 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:00
    Errors 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:00
    Media Recovery failed with error 10562
    ORA-283 signalled during: ALTER DATABASE RECOVER  datafile 3  ...
    

    对于这样的故障,前段时间通过Oracle Recovery Tools工具处理过类似异常:Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
    QQ20250422-201804


    然后尝试recover datafile 3,并打开数据库成功
    QQ20250422-201916

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

    • ORA-00742: 日志读取在线程 %d 序列 %d 块 %d 中检测到写入丢失情况
    • ORA-600 kcratr_scan_lastbwr 恢复
    • ora-600 kcratr_scan_lastbwr
    • ORA-00322 ORA-00312恢复
    • Oracle 19c 断电异常恢复
    • 又一例ORA-600 kcratr_nab_less_than_odr
    • Oracle Recovery Tools修复ORA-600 6101/kdxlin:psno out of range故障
    • ORA-00742 ORA-00312 故障恢复
    • ORA-600 kcbr_apply_change_11
    • 12c启动报kcratr_nab_less_than_odr
    • ORA-01595/ORA-600 4194处理
    • Patch SCN工具快速解决ORA-600 2662问题


沪ICP备19023445号-2号
友情链接