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

    ora-600 2037 ORA-7445 kcbs_dump_adv_state

    惜分飞发表于 2017-05-13 01:05:02
    love 0

    联系:手机(13429648788) QQ(107644445)

    链接:http://www.orasos.com/ora-600-2037-ora-7445-kcbs_dump_adv_state.html

    标题:ora-600 2037 ORA-7445 kcbs_dump_adv_state

    作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

    有客户系统断电,导致数据库无法启动,让我们帮忙解决,通过分析主要是ORA-600 2037和ORA-7445 _kcbs_dump_adv_state等错误,通过人工recover解决.
    数据库报ORA-03113,无法启动成功

    C:\Documents and Settings\Administrator>sqlplus / as sysdba
    
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 5月 12 09:50:36 2017
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    已连接到空闲例程。
    
    SQL> startup
    ORACLE 例程已经启动。
    
    Total System Global Area 1258291200 bytes
    Fixed Size                  1250548 bytes
    Variable Size             218106636 bytes
    Database Buffers         1031798784 bytes
    Redo Buffers                7135232 bytes
    数据库装载完毕。
    ORA-03113: 通信通道的文件结束
    

    分析alert日志

    Fri May 12 09:50:43 2017
    ALTER DATABASE OPEN
    Fri May 12 09:50:43 2017
    Beginning crash recovery of 1 threads
     parallel recovery started with 15 processes
    Fri May 12 09:50:43 2017
    Started redo scan
    Fri May 12 09:50:43 2017
    Completed redo scan
     1240 redo blocks read, 277 data blocks need recovery
    Fri May 12 09:50:44 2017
    Started redo application at
     Thread 1: logseq 5881, block 41179
    Fri May 12 09:50:44 2017
    Recovery of Online Redo Log: Thread 1 Group 1 Seq 5881 Reading mem 0
      Mem# 0 errs 0: E:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\REDO01.LOG
    Fri May 12 09:50:44 2017
    Completed redo application
    Fri May 12 09:50:44 2017
    Errors in file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p006_6072.trc:
    ORA-00600: internal error code, arguments: [6110], [193], [3], [], [], [], [], []
    
    Fri May 12 09:50:44 2017
    Hex dump of (file 3, block 14004) in trace file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p000_6024.trc
    Corrupt block relative dba: 0x00c036b4 (file 3, block 14004)
    Bad header found during crash/instance recovery
    Data in bad block:
     type: 255 format: 7 rdba: 0x06010601
     last change scn: 0xa206.a2060601 seq: 0xb4 flg: 0x36
     spare1: 0x1 spare2: 0x6 spare3: 0x673
     consistency value in tail: 0x1b0a0708
     check value in block header: 0x36b4
     computed block checksum: 0xe4f5
    Fri May 12 09:50:44 2017
    Hex dump of (file 9, block 65507) in trace file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p003_6056.trc
    Corrupt block relative dba: 0x0240ffe3 (file 9, block 65507)
    Bad header found during crash/instance recovery
    Data in bad block:
     type: 3 format: 6 rdba: 0x06020601
     last change scn: 0xa206.a2060602 seq: 0xe3 flg: 0xff
     spare1: 0x1 spare2: 0x6 spare3: 0x6dc
     consistency value in tail: 0xc1028001
     check value in block header: 0xffe3
     computed block checksum: 0xff01
    Fri May 12 09:50:44 2017
    Reread of rdba: 0x00c036b4 (file 3, block 14004) found different data
    Fri May 12 09:50:44 2017
    Reread of rdba: 0x0240ffe3 (file 9, block 65507) found different data
    Fri May 12 09:50:44 2017
    Errors in file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p005_6060.trc:
    ORA-00600: internal error code,arguments:[2037],[17442602],[2718302723],[255],[9],[203],[657105414],[2147549568]
    Fri May 12 09:50:44 2017
    Errors in file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p000_6024.trc:
    ORA-07445:exception encountered:core dump[ACCESS_VIOLATION][_kclcomplete+79][PC:0x72B0C7][ADDR:0x220][UNABLE_TO_READ][]
    Fri May 12 09:50:44 2017
    Errors in file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p006_6072.trc:
    ORA-07445: exception encountered:core dump[ACCESS_VIOLATION][_kcbzdh+2496][PC:0x4A4928][ADDR:0xB][UNABLE_TO_READ][]
    ORA-00600: internal error code, arguments: [6110], [193], [3], [], [], [], [], []
    Errors in file e:\oracle\product\10.2.0\admin\xff\bdump\xff_p012_6128.trc:
    ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [_kcbs_dump_adv_state+723] 
                                     [PC:0x5975A3] [ADDR:0xCBC0CBB2] [UNABLE_TO_READ] []
    ORA-00600:internal error code,arguments:[2037],[17430318],[2718303745],[128],[1],[203],[4147028486],[2147549568]
    

    错误比较明显由于坏块导致应用日志恢复异常,主要错误集中在ORA-600 2037,ORA-7445 _kcbs_dump_adv_state,ORA-7445_kcbzdh,ORA-7445 _kclcomplete等

    dbv检查数据文件

    E:\>dbv file=E:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\SYSAUX01.DBF
    
    DBVERIFY: Release 10.2.0.1.0 - Production on 星期五 5月 12 09:57:39 2017
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    DBVERIFY - 开始验证: FILE = E:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\SYSAUX01.DBF
    
    页 13353 标记为损坏
    Corrupt block relative dba: 0x00c03429 (file 3, block 13353)
    Bad header found during dbv:
    Data in bad block:
     type: 1 format: 6 rdba: 0x3429a206
     last change scn: 0x066f.066f3429 seq: 0x0 flg: 0x00
     spare1: 0x6 spare2: 0xa2 spare3: 0x8c96
     consistency value in tail: 0x06018001
     check value in block header: 0x0
     block checksum disabled
    
    页 14004 标记为损坏
    Corrupt block relative dba: 0x00c036b4 (file 3, block 14004)
    Bad header found during dbv:
    Data in bad block:
     type: 1 format: 6 rdba: 0x36b4a206
     last change scn: 0x0673.067336b4 seq: 0x0 flg: 0x00
     spare1: 0x6 spare2: 0xa2 spare3: 0xfb97
     consistency value in tail: 0x06010210
     check value in block header: 0x0
     block checksum disabled
    
    页 15261 标记为损坏
    Corrupt block relative dba: 0x00c03b9d (file 3, block 15261)
    Bad header found during dbv:
    Data in bad block:
     type: 2 format: 6 rdba: 0x3b9da206
     last change scn: 0x0673.06733b9d seq: 0x0 flg: 0x00
     spare1: 0x6 spare2: 0xa2 spare3: 0x0
     consistency value in tail: 0x06018001
     check value in block header: 0x5549
     block checksum disabled
    
    
    
    DBVERIFY - 验证完成
    
    检查的页总数: 58880
    处理的页总数 (数据): 19318
    失败的页总数 (数据): 0
    处理的页总数 (索引): 18610
    失败的页总数 (索引): 0
    处理的页总数 (其它): 13747
    处理的总页数 (段)  : 0
    失败的总页数 (段)  : 0
    空的页总数: 7202
    标记为损坏的总页数: 3
    流入的页总数: 0
    最高块 SCN            : 178325323 (0.178325323)
    
    
    E:\>dbv file=E:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\xff_BSE02
    
    DBVERIFY: Release 10.2.0.1.0 - Production on 星期五 5月 12 10:10:24 2017
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    DBVERIFY - 开始验证: FILE = E:\ORACLE\PRODUCT\10.2.0\ORADATA\xff\xff_BSE02
    
    页 65507 标记为损坏
    Corrupt block relative dba: 0x0240ffe3 (file 9, block 65507)
    Bad header found during dbv:
    Data in bad block:
     type: 2 format: 6 rdba: 0xffe3a206
     last change scn: 0x06dc.06dcffe3 seq: 0x0 flg: 0x00
     spare1: 0x6 spare2: 0xa2 spare3: 0xb32
     consistency value in tail: 0x060102ff
     check value in block header: 0x0
     block checksum disabled
    
    
    
    DBVERIFY - 验证完成
    
    检查的页总数: 1310720
    处理的页总数 (数据): 34102
    失败的页总数 (数据): 0
    处理的页总数 (索引): 30270
    失败的页总数 (索引): 0
    处理的页总数 (其它): 10850
    处理的总页数 (段)  : 0
    失败的总页数 (段)  : 0
    空的页总数: 1235497
    标记为损坏的总页数: 1
    流入的页总数: 0
    最高块 SCN            : 178325221 (0.178325221)
    

    确实如alert日志报错,file 3和9 都出现坏块导致实例恢复无法进行。根据错误ORA-600 2037和ORA-7445 _kcbs_dump_adv_state,初步判断和During Startup (Open Database) Alert Log Shows ORA-600[2037] and ORA-7445[kcbs_dump_adv_state] (Doc ID 551993.1)文章描述相符(而且版本也相符)

    尝试recover datafile部分file

    E:\>sqlplus / as sysdba
    
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 5月 12 10:16:00 2017
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    
    连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    
    SQL> recover datafile 1;
    完成介质恢复。
    SQL> recover datafile 2;
    完成介质恢复。
    SQL> recover datafile 3;
    完成介质恢复。
    SQL> recover datafile 4;
    完成介质恢复。
    SQL> recover datafile 9;
    完成介质恢复。
    SQL> alter database open;
    alter database open
    *
    第 1 行出现错误:
    ORA-00600: 内部错误代码, 参数: [kcratr1_lastbwr], [], [], [], [], [], [], []
    

    ORA-00600 kcratr1_lastbwr错误比较明显,见ORA-00600:[Kcratr1_lastbwr] During Database Startup after a Crash (Doc ID 393984.1)

    通过recover database处理

    SQL> recover database;
    完成介质恢复。
    SQL> alter database open;
    
    数据库已更改。
    

    然后通过查询dba_extents 处理坏块对象

    补充ORA-600 2037错误

    Format: ORA-600 [2037] [a] [b] 1 [d] [e] [f] [g]
    
    
    VERSIONS:
      versions 8.0 and above
    
    DESCRIPTION:
    
      During recovery we are examining a block to ensure that it is not
      corrupt prior to applying any change vectors.
    
      The block has failed this check and this exception is raised.
    
    ARGUMENTS:
      Arg [a] Relative Data Block Address (RDBA) that the redo vector is for
      Arg [b] The Block format  
      Arg 1 RDBA in the block itself
      Arg [d] The block type
      Arg [e] The sequence number
      Arg [f] Flags, if set  
      Arg [g] The return value from the block head/tail checker.
    
    • ORA-01172 ORA-01151 故障恢复
    • copy system block recovery database
    • 乱用_allow_resetlogs_corruption参数导致悲剧
    • ORA-00600[kcratr1_lostwrt]/ORA-00600[3020]错误恢复
    • 找出dbv相关dba值在数据文件中对应位置
    • 强制关机导致数据库无法正常启动恢复
    • ORA-01578坏块解决(1)
    • 假坏块引起恐慌
    • 记录一次系统回滚段坏块恢复
    • rman制造坏块,bbed修复坏块
    • 一起ORA-600 3020故障恢复的大体思路
    • ORA-600[2037]与ORA-07445[kcbs_dump_adv_state]错误
    • 记录一次Oracle 12C 文件头损坏恢复
    • ORA 600 3005故障恢复
    • table中各种坏块对select/dml操作影响


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