今天碰到ORA-600错误

作者:vogts | 分类: 大话技术 | 标签: | 日期:2008-02-13

今天在standby上碰到ORA-600错误。在陈栋的帮助下,顺利饶过错误。事情过程大致如下:

当时STANDBY的空间是满的,且standby_file_management为AUTO

Primary:

我给UNDO TBS加了几个数据文件。

Standby:

发现日志无法恢复,提示ORA-600。

@>recover standby database;

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ORA-00283: recovery session canceled due to errors

ORA-01670: new datafile 25 needed for standby database recoveryORA-01157: cannot identify/lock data file 25 - see DBWR trace fileORA-01110: data file 25: ‘/disk2/oradata/crmcn/undotbs06.dbf’

@>alter database create datafile ‘/disk2/oradata/crmcn/undotbs06.dbf’ as ‘/backup/crmcn_wt/undotbs06.dbf’;Database altered.

此时undotbs06.dbf文件是过了,可以继续恢复。

@>recover standby database;Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ORA-00283: recovery session canceled due to errorsORA-01670: new datafile 26 needed for standby database recoveryORA-01157: cannot identify/lock data file 26 - see DBWR trace fileORA-01110: data file 26: ‘/disk2/oradata/crmcn/undotbs07.dbf’ORA-01112: media recovery not started

@>alter database create datafile ‘/disk2/oradata/crmcn/undotbs07.dbf’ as ‘/backup/crmcn_wt/undotbs07.dbf’;

Database altered.

UNDOTBS07.DBF文件像UNDOTBS06.DBF一样操作了一把,怎么过都过不去。报下面的错。

@>recover standby database;

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ORA-00283: recovery session canceled due to errors

ORA-00600: internal error code, arguments: [3020], [109051908], [1], [3852], [495631], [88], [], []

ORA-10567: Redo is inconsistent with data block (file# 26, block# 4)

ORA-10564: tablespace UNDOTBS1ORA-01110: data file 26: ‘/backup/crmcn_wt/undotbs07.dbf’

ORA-10560: block type ‘KTFB Bitmapped File Space Bitmap’ 

查了下网上资料,9204确实有这个BUG。 

后来我是在主库上做了如下操作:

(理由:由于undotbs07文件不可用,所以我们想绕过去,不恢复这个文件。直到现在这个时间点上再恢复。因为我此时的undotbs07的SCN远远比STANDBY新)

>ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;

Tablespace altered.

SCP到备库。

STANDBY又能继续恢复啦~··· 

表情:<( ̄︶ ̄)> | (⊙ˍ⊙) | >﹏< | b( ̄▽ ̄)d | (─.─||) | (^_-)

[ Ctrl+Enter提交 ]

阿里巴巴DBA出品