ORA-00600: internal error code, arguments: [4194] 问题处理

服务器异常断电后,

错误一:日志文件有错,即启动时报错redo03.log文件不存在,

网上一堆教程,如:1,修改数据库不使用此日志文件,2,如果开着归档的话,可以恢复此日志文件,

过程繁琐,最后找到以下方法可解决。

直接修改参数,强制不去检测日志文件,

语句如下:

SQL>ALTER SYSTEM SET _allow_resetlogs_corruption=TRUE SCOPE=SPFILE; 

SQL>startup;

 

错误二:数据库正常启动,但客户端连接时报错   ORA-00600: internal error code, arguments: [4194] 

解决方法如下:

1,查看alertlog日志目录

SQL> show parameter dump;

2,查找到alert目录下的log文件后,查看报错

结果如下:

<txt>Doing block recovery for file 3 block 272
</txt>

3,查找损坏的数据文件

SQL>  select * from dba_data_files where file_id=3;

结果为:即此表空间的数据库文件损坏。

 undotbs01  /URP/oracle/oradata/urpjw/undotbs01.dbf

4,开始修复:

a,设置undo表空间的管理方式为:手工,

b,缺省undotbs 为空,

c,新建undotbs02表空间,新建数据文件。

d,设置undo表空间的管理方式为:自动,

e,缺省undotbs 为新建的undo表空间,

语句如下:

SQL> alter system set undo_management = manual scope=spfile;

系统已更改。

SQL> alter system set undo_tablespace='' scope=spfile;

系统已更改。

SQL> create undo tablespace undotbs2 datafile '/URP/oracle/oradata/urpjw/undotbs02.dbf' size 1000M;

表空间已创建。

SQL> alter system set undo_management =auto scope=spfile;

系统已更改。

SQL> alter system set undo_tablespace = undotbs2 scope=spfile;

系统已更改。

SQL> 

SQL> startup;
ORACLE 例程已经启动。

Total System Global Area 1.3429E+10 bytes
Fixed Size 2217992 bytes
Variable Size 1.0402E+10 bytes
Database Buffers 2952790016 bytes
Redo Buffers 71770112 bytes
数据库装载完毕。
数据库已经打开。

 

posted @ 2015-04-22 21:31  一剑百万兵  阅读(769)  评论(0编辑  收藏  举报