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

    ORA-01172 ORA-01151 故障恢复

    惜分飞发表于 2016-03-24 15:15:14
    love 0

    联系:手机(13429648788) QQ(107644445)QQ咨询惜分飞

    标题:ORA-01172 ORA-01151 故障恢复

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

    有客户存储异常断电,导致数据库启动报ORA-01172错,导致数据库无法open
    数据库启动报ORA-01172错误

    Wed Mar 23 14:16:23 2016
    ALTER DATABASE OPEN
    Wed Mar 23 14:16:24 2016
    Beginning crash recovery of 1 threads
     parallel recovery started with 15 processes
    Wed Mar 23 14:16:24 2016
    Started redo scan
    Wed Mar 23 14:16:25 2016
    Completed redo scan
     62588 redo blocks read, 15 data blocks need recovery
    Wed Mar 23 14:16:25 2016
    Started redo application at
     Thread 1: logseq 15050, block 2, scn 2439828667
    Wed Mar 23 14:16:25 2016
    Recovery of Online Redo Log: Thread 1 Group 1 Seq 15050 Reading mem 0
      Mem# 0 errs 0: /oracle/oradata/orcl/redo01.log
    Wed Mar 23 14:16:25 2016
    Completed redo application
    Wed Mar 23 14:16:25 2016
    RECOVERY OF THREAD 1 STUCK AT BLOCK 26185 OF FILE 3
    Wed Mar 23 14:16:25 2016
    RECOVERY OF THREAD 1 STUCK AT BLOCK 69385 OF FILE 3
    Wed Mar 23 14:16:25 2016
    RECOVERY OF THREAD 1 STUCK AT BLOCK 566 OF FILE 2
    Wed Mar 23 14:16:25 2016
    RECOVERY OF THREAD 1 STUCK AT BLOCK 89 OF FILE 2
    Wed Mar 23 14:16:25 2016
    RECOVERY OF THREAD 1 STUCK AT BLOCK 53769 OF FILE 3
    Wed Mar 23 14:16:26 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p012_6540.trc:
    ORA-01172: recovery of thread 1 stuck at block 566 of file 2
    ORA-01151: use media recovery to recover block, restore backup if needed
    Wed Mar 23 14:16:26 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p008_6532.trc:
    ORA-01172: recovery of thread 1 stuck at block 53769 of file 3
    ORA-01151: use media recovery to recover block, restore backup if needed
    Wed Mar 23 14:16:26 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p011_6538.trc:
    ORA-01172: recovery of thread 1 stuck at block 69385 of file 3
    ORA-01151: use media recovery to recover block, restore backup if needed
    Wed Mar 23 14:16:26 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p005_6526.trc:
    ORA-01172: recovery of thread 1 stuck at block 26185 of file 3
    ORA-01151: use media recovery to recover block, restore backup if needed
    Wed Mar 23 14:16:27 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p014_6544.trc:
    ORA-01172: recovery of thread 1 stuck at block 89 of file 2
    ORA-01151: use media recovery to recover block, restore backup if needed
    Wed Mar 23 14:16:27 2016
    Aborting crash recovery due to slave death, attempting serial crash recovery
    Wed Mar 23 14:16:27 2016
    Beginning crash recovery of 1 threads
    Wed Mar 23 14:16:27 2016
    Started redo scan
    Wed Mar 23 14:16:27 2016
    Completed redo scan
     62588 redo blocks read, 15 data blocks need recovery
    Wed Mar 23 14:16:27 2016
    Started redo application at
     Thread 1: logseq 15050, block 2, scn 2439828667
    Wed Mar 23 14:16:27 2016
    Recovery of Online Redo Log: Thread 1 Group 1 Seq 15050 Reading mem 0
      Mem# 0 errs 0: /oracle/oradata/orcl/redo01.log
    RECOVERY OF THREAD 1 STUCK AT BLOCK 566 OF FILE 2
    Wed Mar 23 14:16:27 2016
    Aborting crash recovery due to error 1172
    Wed Mar 23 14:16:27 2016
    Errors in file /oracle/admin/orcl/udump/orcl_ora_6514.trc:
    ORA-01172: recovery of thread 1 stuck at block 566 of file 2
    ORA-01151: use media recovery to recover block, restore backup if needed
    ORA-1172 signalled during: ALTER DATABASE OPEN...
    

    ALTER DATABASE RECOVER datafile 1 报错
    尝试recover datafile 1之后报ORA-600 kcbrapply_4,ORA-600 kcfrbd_3,ORA-600 kcbrapply_12等错误,从报错信息看,出现这些错误的原因,是由于断电导致坏块引起.

    Thu Mar 24 21:50:18 2016
    ALTER DATABASE RECOVER  datafile 1  
    Thu Mar 24 21:50:18 2016
    Media Recovery Start
     parallel recovery started with 15 processes
    Thu Mar 24 21:50:18 2016
    Recovery of Online Redo Log: Thread 1 Group 1 Seq 15050 Reading mem 0
      Mem# 0 errs 0: /oracle/oradata/orcl/redo01.log
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p004_13391.trc:
    ORA-00600: internal error code, arguments: [kcbrapply_4], [2], [], [], [], [], [], []
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p010_13403.trc:
    ORA-00600: internal error code, arguments: [kcbrapply_4], [0], [], [], [], [], [], []
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p000_13383.trc:
    ORA-00600: internal error code, arguments: [kcbrapply_4], [0], [], [], [], [], [], []
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p009_13401.trc:
    ORA-00600: internal error code, arguments: [kcbrapply_4], [3], [], [], [], [], [], []
    Thu Mar 24 21:50:19 2016
    Hex dump of (file 1, block 61562) in trace file /oracle/admin/orcl/bdump/orcl_p001_13385.trc
    Corrupt block relative dba: 0x0040f07a (file 1, block 61562)
    Bad header found during media recovery
    Data in bad block:
     type: 0 format: 0 rdba: 0xf07a0000
     last change scn: 0x916c.dc4b0040 seq: 0x0 flg: 0x00
     spare1: 0x6 spare2: 0xa2 spare3: 0xb088
     consistency value in tail: 0x06010fc1
     check value in block header: 0x601
     block checksum disabled
    Thu Mar 24 21:50:19 2016
    Hex dump of (file 1, block 55706) in trace file /oracle/admin/orcl/bdump/orcl_p014_13411.trc
    Corrupt block relative dba: 0x0040d99a (file 1, block 55706)
    Bad header found during media recovery
    Data in bad block:
     type: 0 format: 0 rdba: 0xd99a0000
     last change scn: 0x916c.e1ad0040 seq: 0x0 flg: 0x00
     spare1: 0x6 spare2: 0xa2 spare3: 0xa520
     consistency value in tail: 0x06012222
     check value in block header: 0x601
     block checksum disabled
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p006_13395.trc:
    ORA-00600: internal error code, arguments: [kcfrbd_3], [1], [3342335], [1], [0], [64000], [], []
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p003_13389.trc:
    ORA-00600: internal error code, arguments: [kcfrbd_3], [1], [3932159], [1], [0], [64000], [], []
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p002_13387.trc:
    ORA-00600: internal error code, arguments: [kcfrbd_3], [1], [2293759], [1], [0], [64000], [], []
    Reread of rdba: 0x0040d99a (file 1, block 55706) found valid data
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p014_13411.trc:
    ORA-00600: internal error code, arguments: [kcbrapply_12], [], [], [], [], [], [], []
    Thu Mar 24 21:50:19 2016
    Reread of rdba: 0x0040f07a (file 1, block 61562) found valid data
    Thu Mar 24 21:50:19 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p001_13385.trc:
    ORA-00600: internal error code, arguments: [kcbrapply_12], [], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p014_13411.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xB9782BF4] [] []
    ORA-00600: internal error code, arguments: [kcbrapply_12], [], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p006_13395.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xB9C82BF4] [] []
    ORA-00600: internal error code, arguments: [kcfrbd_3], [1], [3342335], [1], [0], [64000], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p009_13401.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xB9A02BF4] [] []
    ORA-00600: internal error code, arguments: [kcbrapply_4], [3], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p003_13389.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xB9F02AF4] [] []
    ORA-00600: internal error code, arguments: [kcfrbd_3], [1], [3932159], [1], [0], [64000], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p004_13391.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xBA182AF4] [] []
    ORA-00600: internal error code, arguments: [kcbrapply_4], [2], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p010_13403.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xBA402AF4] [] []
    ORA-00600: internal error code, arguments: [kcbrapply_4], [0], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p000_13383.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xB9282AF4] [] []
    ORA-00600: internal error code, arguments: [kcbrapply_4], [0], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p001_13385.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+450] [SIGSEGV] [Address not mapped to object] [0xB9C82AF4] [] []
    ORA-00600: internal error code, arguments: [kcbrapply_12], [], [], [], [], [], [], []
    Thu Mar 24 21:50:23 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p002_13387.trc:
    ORA-10562: Error occurred while applying redo to data block (file# 1, block# 11042)
    ORA-10564: tablespace SYSTEM
    ORA-01110: data file 1: '/oracle/oradata/orcl/system01.dbf'
    ORA-00607: Internal error occurred while making a change to a data block
    ORA-00600: internal error code, arguments: [kcfrbd_3], [1], [2293759], [1], [0], [64000], [], []
    

    ALTER DATABASE RECOVER datafile 3 报错
    该文件恢复主要报ORA-600 kcbrsearchflist_2,ORA-600 kdxlin:psno out of range,ORA-600 kcbs_dump_adv_state等错误

    Thu Mar 24 21:52:04 2016
    ALTER DATABASE RECOVER  datafile 3  
    Thu Mar 24 21:52:04 2016
    Media Recovery Start
     parallel recovery started with 15 processes
    Thu Mar 24 21:52:04 2016
    Recovery of Online Redo Log: Thread 1 Group 1 Seq 15050 Reading mem 0
      Mem# 0 errs 0: /oracle/oradata/orcl/redo01.log
    Thu Mar 24 21:52:05 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p007_13462.trc:
    ORA-00600: internal error code, arguments: [kdxlin:psno out of range], [], [], [], [], [], [], []
    Thu Mar 24 21:52:05 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p001_13450.trc:
    ORA-00600: internal error code, arguments: [kcbrsearchflist_2], [], [], [], [], [], [], []
    Thu Mar 24 21:52:05 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p007_13462.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+464] [SIGSEGV] [Address not mapped to object] [0xB9F076F4] [] []
    ORA-00600: internal error code, arguments: [kdxlin:psno out of range], [], [], [], [], [], [], []
    Thu Mar 24 21:52:05 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p001_13450.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+464] [SIGSEGV] [Address not mapped to object] [0xB9C874F4] [] []
    ORA-00600: internal error code, arguments: [kcbrsearchflist_2], [], [], [], [], [], [], []
    Thu Mar 24 21:52:06 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p007_13462.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+464] [SIGSEGV] [Address not mapped to object] [0xB9F066F4] [] []
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+464] [SIGSEGV] [Address not mapped to object] [0xB9F076F4] [] []
    ORA-00600: internal error code, arguments: [kdxlin:psno out of range], [], [], [], [], [], [], []
    Thu Mar 24 21:52:06 2016
    Errors in file /oracle/admin/orcl/bdump/orcl_p001_13450.trc:
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+464] [SIGSEGV] [Address not mapped to object] [0xB9C864F4] [] []
    ORA-07445: exception encountered: core dump [kcbs_dump_adv_state()+464] [SIGSEGV] [Address not mapped to object] [0xB9C874F4] [] []
    ORA-00600: internal error code, arguments: [kcbrsearchflist_2], [], [], [], [], [], [], []
    

    恢复过程

    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area 2147483648 bytes
    Fixed Size          1220432 bytes
    Variable Size             369098928 bytes
    Database Buffers         1761607680 bytes
    Redo Buffers               15556608 bytes
    Database mounted.
    SQL> select file# from v$datafile;
    
         FILE#
    ----------
             1
             2
             3
             4
             5
             6
    
    6 rows selected.
    
    SQL> recover datafile 1;
    ORA-03113: end-of-file on communication channel
    
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area 2147483648 bytes
    Fixed Size          1220432 bytes
    Variable Size             369098928 bytes
    Database Buffers         1761607680 bytes
    Redo Buffers               15556608 bytes
    Database mounted.
    
    SQL> recover datafile 3;
    ORA-03113: end-of-file on communication channel
    
    SQL> startup mount
    ORACLE instance started.
    
    Total System Global Area 2147483648 bytes
    Fixed Size          1220432 bytes
    Variable Size             369098928 bytes
    Database Buffers         1761607680 bytes
    Redo Buffers               15556608 bytes
    Database mounted.
    SQL> recover datafile 5;
    Media recovery complete.
    SQL> recover datafile 6;
    Media recovery complete.
    SQL> recover datafile 4;
    Media recovery complete.
    SQL> recover datafile 2;
    Media recovery complete.
    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-00607: Internal error occurred while making a change to a data block
    ORA-00600: internal error code, arguments: [4194], [57], [11], [], [], [], [],
    []
    
    SQL> select open_mode from v$database;
    
    OPEN_MODE
    ----------
    READ WRITE
    

    这次运气不错,system坏的是mon_mods$,undo异常可以重建,基本上可以说没有数据丢失,数据库恢复完成.
    重要的库,通过open过程报错信息,分析可能的坏块所属对象,然后确定处理方法,以免造成永久性数据块损坏.

    • ORA-00600[kcfrbd_3]故障解决
    • 记录一次ORA-00600[kdxlin:psno out of range]/ORA-00600[3020]/ORA-00600[4000]/ORA-00600[4193]的数据库恢复
    • 记录一次ORA-600 3004 恢复过程和处理思路
    • ORA-600 kghstack_free2异常恢复
    • ORA-600[4194]/[4193]解决
    • undo segment header坏块异常恢复
    • 分享一次ORA-01113 ORA-01110故障处理过程
    • ORA-10562 故障恢复—allow 1 corruption
    • 某医院存储掉线导致Oracle数据库故障恢复
    • ORA-00600[17182],ORA-00600[25027],ORA-00600[kghfrempty:ds]故障处理
    • ORA-00600[4194]故障解决
    • rac redo log file被意外覆盖数据库恢复


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