天萃荷净
运维DBA反映Oracle数据库出现ORA-00600 [3020] [5]报错,分析原因为数据文件中存在坏块导致,ORA-00600: internal error code, arguments: [3020], [5], [13], [20971533], [], [], [], [] 。
今天在做实验的时候遇到了ORA-00600: internal error code, arguments: [3020], [5], [13]的错误。
故障现象平台:OS:RHEL 4.8 DB:10.2.0.4.12
1.Ora-00600故障现象:
oracleplus.net >recover datafile 5;
ORA-00279: change 7944639 generated at 06/14/2013 13:40:24 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_878_%u_.arc
ORA-00280: change 7944639 for thread 1 is in sequence #878
Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 7944701 generated at 06/14/2013 13:44:43 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_879_%u_.arc
ORA-00280: change 7944701 for thread 1 is in sequence #879
ORA-00278: log file '/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_878_8vocgcqg_.arc' no longer needed for this recovery
ORA-00283: recovery session canceled due to errors
ORA-12801: error signaled in parallel query server P001
ORA-00600: internal error code, arguments: [3020], [5], [13], [20971533], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 5,
ORA-01112: media recovery not started
故障处理结果:
通过处理,能正常recover数据文件,对坏块的处理,能正常访问块中的数据。
2.故障处理过程:
1.增加allow 1 corruption正常恢复
这次做了多次allow 1 corruption,因为有多个坏块
oracleplus.net >recover datafile 5 allow 1 corruption;
ORA-00279: change 7945001 generated at 06/14/2013 13:49:53 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_879_%u_.arc
ORA-00280: change 7945001 for thread 1 is in sequence #879
Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 7945117 generated at 06/14/2013 13:55:29 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_880_%u_.arc
ORA-00280: change 7945117 for thread 1 is in sequence #880
ORA-00278: log file'/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_879_8vod2kn1_.arc' no longer needed for this recovery
ORA-00279: change 7945357 generated at 06/14/2013 13:58:26 needed for thread 1
ORA-00289: suggestion :/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_881_%u_.arc
ORA-00280: change 7945357 for thread 1 is in sequence #881
ORA-00278: log file
'/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_880_8vod82nm_.arc' no longer needed for this recovery
ORA-00279: change 7945360 generated at 06/14/2013 13:58:29 needed for thread 1
ORA-00289: suggestion :/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_882_%u_.arc
ORA-00280: change 7945360 for thread 1 is in sequence #882
ORA-00278: log file'/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_881_8vod85pj_.arc' no longer needed for this recovery
ORA-00279: change 7945362 generated at 06/14/2013 13:58:32 needed for thread 1
ORA-00289: suggestion :/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_883_%u_.arc
ORA-00280: change 7945362 for thread 1 is in sequence #883
ORA-00278: log file'/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_882_8vod88pv_.arc' no longer needed for this recovery
ORA-00279: change 7945364 generated at 06/14/2013 13:58:32 needed for thread 1
ORA-00289: suggestion :/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_884_%u_.arc
ORA-00280: change 7945364 for thread 1 is in sequence #884
ORA-00278: log file'/u01/app/oracle/flash_recovery_area/ORCL10G/archivelog/2013_06_14/o1_mf_1_883_8vod88q2_.arc' no longer needed for this recovery
Log applied.
Media recovery complete.
2,online数据文件
alter database datafile 5 online;
3,对相关表的访问,报坏块的错误
使用bbed修复坏块
BBED> p kcbh
struct kcbh, 20 bytes @0
ub1 type_kcbh @0 0x06
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x010003bc
ub4 bas_kcbh @8 0x00000000
ub2 wrp_kcbh @12 0x0000
ub1 seq_kcbh @14 0xff
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0xf035
ub2 spare3_kcbh @18 0x0000
BBED> p tailchk
ub4 tailchk @8188 0x000006ff
modify /x 01 dba 5,16 offset 14
modify /x 01 dba 5,17 offset 14
modify /x 01 dba 5,18 offset 14
modify /x 01 dba 5,19 offset 14
modify /x 01 dba 5,20 offset 14
modify /x 01 dba 5,21 offset 14
modify /x 01 dba 5,22 offset 14
modify /x 01 dba 5,16 offset 8188
modify /x 01 dba 5,17 offset 8188
modify /x 01 dba 5,18 offset 8188
modify /x 01 dba 5,19 offset 8188
modify /x 01 dba 5,20 offset 8188
modify /x 01 dba 5,21 offset 8188
modify /x 01 dba 5,22 offset 8188
sum apply
修改完成后,
alter database datafile 5 offline;
recover datafile 5;
alter database datafile 5 online;
通过处理后,数据能正常访问,并且里面的数据也没有丢失.
本文固定链接: http://oracleplus.net/2013/06/19/ora-00600-internal-error-code-arguments-3020-5-13-20971533.html | 认真就输
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【案例】Oracle报错ORA-00600 [3020] [5]的产生原因和解决办法
本文由大师惜分飞原创分享,网址:http://www.oracleplus.net/arch/989.html