ORA-00600: 内部错误代码, 参数: [4194], [24], [22], [], [], [], [], []

2014-11-24 18:34:52 · 作者: · 浏览: 0

由于电脑经常非法关机,导致数据关闭时,出现以下错误。


经在网上查询4194错误通常说明UNDO段出现问题,但我的oracle数据库版本为10.1.0.2。由于这个版本己经没有undo 段,用undo表空间进行管理,所以网上有说undo段,那都是针对oracle 9i的。这里只是采用新建undo表空间进行替换进行的,这种方法也用undo表空间不回收时使用。
SQL>shutdown immediate; -- 正常关不掉


ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [24], [22], [], [], [], [], []
SQL> shutdown abort -- 强制关
SQL> startup
SQL> create undo tablespace undotbs2 datafile 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' size 200m;
SQL> alter system set undo_tablespace=undotbs2; -- 修改数据库的undo表空间
SQL> shutdown immediate --正常关库


-- 手动改初始化文件,


###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS2

###########################################



SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup pfile='C:\oracle\product\10.1.0\admin\orcl\pfile\init.ora.10152011101227';
ORACLE 例程已经启动。


Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 144964076 bytes
Database Buffers 25165824 bytes
Redo Buffers 1048576 bytes
数据库装载完毕。
数据库已经打开。


--恢复原来的表空间


SQL> drop tablespace undotbs1 including contents;


表空间已删除。


SQL>create undo tablespace undotbs1 datafile 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS01.DBF' size 200m;


表空间已创建。.


SQL> alter system set undo_tablespace=undotbs1;
系统已更改。


SQL> shutdown immediate; -- 关库
--修改参数文件,变更undo表空间回原来的值 .undo_tablespace=undotbs1


SQL> startup pfile='C:\oracle\product\10.1.0\admin\orcl\pfile\init.ora.10152011101227';



ORACLE 例程已经启动。


Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 144964076 bytes
Database Buffers 25165824 bytes
Redo Buffers 1048576 bytes
数据库装载完毕。
数据库已经打开。


SQL> drop tablespace uundotbs2 including contents;


表空间已删除。