ORA-00600: internal error code, arguments: [4194], [#], [#], [], [], [], [], []

客户的数据库出现问题,启动后过会自动关闭掉。

查看alert 日志,发现大量600的错误,

类似: ORA-00600: internal error code, arguments: [4194], [#], [#], [], [], [], [], []

由于内网环境无法将具体将alert信息贴出来,只好大概描述一番。

实例被dbwn进程中止。

类似:DBW0:terminating instance due to error 471

            instance terminated by DBW0,pid=7070


查看了最近的alert日志情况,发现在上周五的时候,数据库自动重启过,然后看了下当天的操作系统日志,发现系统断电重启。

所以推断大致原因应该是由于断掉导致数据库意外崩溃,然后来电重启后出现故障。


ora-600 [4194] 这个错误和undo表空间相关,metalink上有相关文档对此问题的解释:

This error indicates that a mismatch has been detected between redo records and rollback (undo) records.


意思是数据库崩溃后重启,oracle要做前滚和回滚,发现redo和undo记录的信息不匹配,undo记录出现错误,导致抛出ora-600 [4194]的错误,应该是DBWn进程发现undo坏块的情况,于是中止了数据库。

推断应该不是很准确,但大概流程应该是如此的。

对于这个问题,oracle给出的解决方案是建一个新的undo表空间来替换原有的。我也是这么做的,ora-600 [4194]的错误可以解决掉。


大致步骤:



1、创建新的UNDO表空间,如undo_01
create undo tablespace 'undo_01' 
DATAFILE 'undo_01.dbf' SIZE 100m;


2、修改default undo表空间
alter system set undo_tablespace='undo_01';


3、修改参数文件init.ora 中的表空间项:
    undo_tablespace='undo_01'


4、重起数据库


5、删除旧undo表空间


drop tablespace undo


-----------------------------------------------------------------------------------------

后来其他库也出现类似情况,也是数据库启动后,一会儿自动关闭,抛出的是ora-600 [4193]的错误,也是和undo相关,用上面方法同样解决掉。


ora-600 [4193] [4194] 错误,参考metalink相关文档: Doc ID 1428786.1     ID 281429.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值