处理一个600的错误!

日志里不断有错误出来。

Tue Jan 19 06:55:24 2010
Stopping Job queue slave processes
Tue Jan 19 06:55:24 2010
Process OS id : 16917 alive after kill
Errors in file /opt/app/oracle/admin/RPTS/udump/rpts3_ora_15760.trc
Tue Jan 19 06:55:27 2010
Waiting for Job queue slaves to complete
Tue Jan 19 06:55:27 2010
Job queue slave processes stopped
Tue Jan 19 06:55:31 2010
Errors in file /opt/app/oracle/admin/RPTS/bdump/rpts3_smon_15690.trc:
ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []
All dispatchers and shared servers shutdown
Tue Jan 19 06:55:32 2010
Process OS id : 16894 alive after kill
Errors in file /opt/app/oracle/admin/RPTS/udump/rpts3_ora_15760.trc
Tue Jan 19 06:55:34 2010
ORACLE Instance RPTS3 (pid = 14) - Error 600 encountered while recovering transaction (119, 22).
Tue Jan 19 06:55:34 2010
Errors in file /opt/app/oracle/admin/RPTS/bdump/rpts3_smon_15690.trc:
ORA-00600: internal error code, arguments: [4137], [], [], [], [], [], [], []

查询发现有一个rollback segment 的状态是 NEEDS RECOVERY

SELECT segment_name,tablespace_name,owner,status
FROM dba_rollback_segs;

_SYSSMU119$ UNDOTBS3 NEEDS RECOVERY
在初始化参数里加

_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU119$)

然后重启DB。

drop tablespace UNDOTBS3 including contents 。

错误消除了。

原来这个回滚段被一个需要恢复的事务占用了。但文件已经损坏了,所以只有清理掉这个文件。

你可能感兴趣的:(错误)