断电后回退段损坏引起的ora-00600错误修复

一用户的817的库启动时出现如下错误:

Recovery of Online Redo Log: Thread 1 Group 3 Seq 1608 Reading mem 0
Mem# 0 errs 0: D:ORACLEORADATAORACLEREDO01.LOG
Tue Feb 24 15:46:59 2009
Errors in file D:oracleadminoraclebdumporacleSMON.TRC:
ORA-01595: error freeing extent (6) of rollback segment (3))
ORA-00600: internal error code, arguments: [4193], [291], [299], [], [], [], [], []

Tue Feb 24 15:47:17 2009
Completed: alter database open

可以看到,数据库已经正确打开,但由于2号回退段损坏,导致了ora-01600 [4193]错误。

先看看当前系统中的回退段:
SQL> connect / as sysdba;
已连接。
SQL> select usn,name from v$rollname;

USN NAME
---------- ------------------------------
0 SYSTEM
1 RBS0
3 RBS2
4 RBS3
5 RBS4
6 RBS5
7 RBS6
8 RBS_ZLTOOLS

已选择8行。

由于是3号回退段损坏,直接offline并且drop损坏的回退段

SQL> alter rollback segment rbs2 offline;

重算段已修改。

SQL> drop rollback segment rbs2 ;

重算段已丢掉。

SQL>

删除损坏回退段后,还发现5号回退段也损坏了,也删除重建;之后经测试数据库恢复正常。幸好数据库还能正常打开,否则处理起来就麻烦很多了。


下面是metalink上 ora-00600 [4093]错误的解释

Note: For additional ORA-600 related information please read Note 146580.1

PURPOSE:
This article discusses the internal error "ORA-600 [4193]", what
it means and possible actions. The information here is only applicable
to the versions listed and is provided only for guidance.

ERROR:
ORA-600 [4193] [a] [b]

VERSIONS:
versions 6.0 to 10.1

DESCRIPTION:

A mismatch has been detected between Redo records and Rollback (Undo)
records.

We are validating the Undo block sequence number in the undo block against
the Redo block sequence number relating to the change being applied.

This error is reported when this validation fails.

ARGUMENTS:
Arg [a] Undo record seq number
Arg [b] Redo record seq number

FUNCTIONALITY:
KERNEL TRANSACTION UNDO

IMPACT:
PROCESS FAILURE
POSSIBLE ROLLBACK SEGMENT CORRUPTION

SUGGESTIONS:

This error may indicate a rollback segment corruption.

This may require a recovery from a database backup depending on
the situation.

For further analysis, please submit the trace files and alert.log to
Oracle Support Services.

Known Issues:

你可能感兴趣的:(职场,休闲,ORA-00600,断电)