eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« SMON: recover undo segment与事务恢复 | Blog首页 | kcbgtcr 错误小记 »

ORA-00600 3020 错误案例一则

最近遇到一则ORA-600的3020错误,数据库在故障恢复中,应用归档日志时遇到3020错误:
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement:
            alter database recover logfile '/arch/prod1_2711_681480148.arc'
ORA-00283: recovery session canceled due to errors
ORA-12801: error signaled in parallel query server P011, instance hpdb1:PROD1 (1)
ORA-00600: internal error code, arguments: [3020], [37], [94633], [2], [3659], [604], [16], []
ORA-10567: Redo is inconsistent with data block (file# 37, block# 94633)
ORA-10564: tablespace APPS_UNDOTS2
ORA-01110: data file 37

出现这个错误后,恢复中断,无法继续,3020错误在Metalink上的解释,主要原因是:
  This is called a 'STUCK RECOVERY'.
  There is an inconsistency between the information stored in the redo
  and the information stored in a database block being recovered.
也就是说,在恢复时发现Redo里面记录的信息和被恢复的数据块信息不一致,导致恢复无法继续。比如Update Some record from 3 to 2,结果发现该记录根本不是3,恢复无法继续。

这个错误可能是由于写Redo的某个操作丢失,这可能是由于异常宕机或存储故障导致的。
This error can be reported if any of these updates are lost for some reason.

出现这个错误,如果没有备份,数据也不是特别重要,则可以通过一些隐含参数或强制手段来打开数据库,不过不可避免的会出现数据损失,Olive做过一次这样的尝试
经过验证的可实践方式是使用:
recover database [using backup controlfile] allow 1 corruption;

将不一致的块标记为损坏,然后可以执行进一步的恢复尝试。

这次处理这个案例,最后选择了不完全恢复,补录数据,有时候放弃也是一种恢复!

-The End-


历史上的今天...
    >> 2015-03-02文章:
    >> 2011-03-02文章:
    >> 2009-03-02文章:
    >> 2008-03-02文章:
    >> 2007-03-02文章:
    >> 2006-03-02文章:
           搜索引擎 雅虎搜索
    >> 2005-03-02文章:

无觅

By eygle on 2010-03-02 08:29 | Comments (5) | Backup&Recovery | Case | 2509 |

5 Comments

我以前也遇到过这种问题,但一直没想到解决方案,现在了解了,回去试试!!

对这个真的不是很懂 我是来凑凑热闹的 很羡慕做技术的人!!

都看不懂,太专业了!

有时候放弃也是一种恢复!
呵呵,有点味道的一句话。。。

ORA-00600: internal error code, arguments: [kohdtf048], [], [], [], [], [], [], []
Wed Mar 23 12:42:55 2011
ORA-600 encountered when generating server alert SMG-3000


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com