用户的数据库报错。里面都是ora-00600的错。数据库不能open,有一个数据文件报错误。需要使用归档日志文件recover,其中一个日志文件丢失。
经过了解情况,得知因为空间的问题,用户把一个数据文件不知道怎么弄来着,过了一天,晚上数据库自动备份任务备份归档日志后delete input。
感觉不难,恢复昨天的备份,recover了一下,不行,恢复到下午5点的日志的时候,报错。
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/25/2014 19:57:21
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '/u01/app/oracle/oradata/orcl
/archive/1_19590_808007255.dbf'
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], [1176970], [22148490], [], [], [], []
ORA-10567: Redo is inconsistent with data block (fil
搞不明白,没有办法,我用了个笨法子,恢复这个数据文件,然后recover试试。
恢复用了好长时间,还是不行还是到这里过不去。
正常restore,recover到那个日志的时候还是不行,报一样的错。
尝试加隐含参数也还是不行, 也许bbed可以,但是我没有那水平。最后然数据文件offline,数据库open。
我个人的认识是数据文件offline了,sga里面有要写这个数据文件的一些块,导致redo过不去,还可能是redo有坏块,用了好多的办法,依然不行。
因为数据库一直在往下走,就是不能open, 让用户把现有数据搞出去,然后删除数据库,重新restore。
因为控制文件没有问题,就直接使用现在的控制文件。
漫长的restore和recover。
然后我把整个数据库恢复到19589这个log。
这时我看数据文件时online。但使用下面的语句查
SQL> select checkpoint_change#,last_change# from v$datafile;
SQL> select CHECKPOINT_CHANGE# from v$datafile_header;
offline的数据文件和其它的数据文件不一致,后来才明白,可能是offline的原因,不受影响。
open的时候报错,加了Resetlogs了不行,说我不是一个全库的恢复。
可能和我用的控制文件有关
用了一下办法,都是不行,更换不同的控制文件了,什么的。
最后重建控制文件,成功。
经过了解情况,得知因为空间的问题,用户把一个数据文件不知道怎么弄来着,过了一天,晚上数据库自动备份任务备份归档日志后delete input。
感觉不难,恢复昨天的备份,recover了一下,不行,恢复到下午5点的日志的时候,报错。
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/25/2014 19:57:21
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '/u01/app/oracle/oradata/orcl
/archive/1_19590_808007255.dbf'
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], [1176970], [22148490], [], [], [], []
ORA-10567: Redo is inconsistent with data block (fil
搞不明白,没有办法,我用了个笨法子,恢复这个数据文件,然后recover试试。
恢复用了好长时间,还是不行还是到这里过不去。
正常restore,recover到那个日志的时候还是不行,报一样的错。
尝试加隐含参数也还是不行, 也许bbed可以,但是我没有那水平。最后然数据文件offline,数据库open。
我个人的认识是数据文件offline了,sga里面有要写这个数据文件的一些块,导致redo过不去,还可能是redo有坏块,用了好多的办法,依然不行。
因为数据库一直在往下走,就是不能open, 让用户把现有数据搞出去,然后删除数据库,重新restore。
因为控制文件没有问题,就直接使用现在的控制文件。
漫长的restore和recover。
然后我把整个数据库恢复到19589这个log。
这时我看数据文件时online。但使用下面的语句查
SQL> select checkpoint_change#,last_change# from v$datafile;
SQL> select CHECKPOINT_CHANGE# from v$datafile_header;
offline的数据文件和其它的数据文件不一致,后来才明白,可能是offline的原因,不受影响。
open的时候报错,加了Resetlogs了不行,说我不是一个全库的恢复。
可能和我用的控制文件有关
用了一下办法,都是不行,更换不同的控制文件了,什么的。
最后重建控制文件,成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13337857/viewspace-1098465/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13337857/viewspace-1098465/