sitemap

RSS地图

收藏本站

设为首页

Oracle研究中心

当前位置:Oracle研究中心 > 故障案例 >

【案例】Oracle报错ORA-00600 [3020] [5]的产生原因和解决办法

时间:2016-10-17 21:14   来源:Oracle研究中心   作者:网络   点击:

天萃荷净 运维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

Oracle研究中心

关键词:

ORA-00600的解决办法

ORA-00600 [3020]

Oracle报错ORA-00600的原因和解决办法

Oracle数据库存在坏块导致Ora-00600报错