oracle服务器断电后无法启动,提示内部错误ORA-00600: 内部错误代码, 参数: [4194], [28], [14], [], [], [], [], [] 。
1、查看alert日志中:
Errors in file d:\oracle\product\10.2.0\admin\orcl\bdump\orcl_smon_7448.trc:
ORA-01595: error freeing extent (2) of rollback segment (2))
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [28], [14], [], [], [], [], []
原因可能很多,但是通过错误信息ORA-01595,确定应该是Oracle非正常关闭导致回滚段出问题,新建undo表空间。
2、修改pfile
undo_management=MANUAL (将auto修改为MANUAL)
3、启动数据库:
SQL>startup; 数据库正常启动了
4、新建新的undo表空间
create undo tablespace undotbs02 datafile 'D:\ORACLE\PRODUCT\10.0.2\ORADATA\orcl\undotbs02.dbf' size 500M;
重定位到新的表空间:
SQL>alter system set undo_tablespace=undotbs2;
SQL>show parameter undo; 查看当前使用的undo表空间
删除旧的表空间:
drop tablespace undotbs1 including contents and datafiles cascade constraint;
5、修改pfile,将undo_management 由手动改回自动,修改undo_tablespace指向新的表空间
undo_management='AUTO'
undo_tablespace='UNDOTBS02'
6、重新创建spfile文件 (操作之前注意备份)
SQL>startup pfile=’D:\oracle\product\10.2.0\admin\orcl\orclpfile.xxxxxxxxxx'
SQL>create '...\DBS\SPFILEORCL.ORA' from pfile (注意备份)。
( spfile = E:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA)
SQL>shutdown immediate;
SQL>startup ; 正常启动