问题现象:
数据库意外断电后启动到OPEN状态时失败,警告日志报以下错误
ORA-00600: internal error code, arguments: [4194], [56], [4], [], [], [], [], []
问题分析:
对于这种断电意外重启DB的现象,如警告日志出现ORA600 【4194】提示,说明回滚表空间出错,处于不一致状态,如数据库处于非归档并且无备份状态,可用以下方面重建UNDO 表空间打开。
解决方案:
可以先使用手功管理的回滚表空间的方式将数据库打开
首先创建PFILE:
SQL> create pfile from spfile;
File created.
设置PFILE如下参数
undo_tablespace='SYSTEM'
undo_management='MANUAL'
并把UNDO自动管理屏蔽
#*.undo_management='AUTO'
创建回spfile
SQL> create spfile from pfile;
File created.
创建完成后启动数据库
SQL> startup
ORACLE instance started.
DB打开后然后创建新的回滚表空间
SQL> create undo tablespace undotbs02 datafile '/oradata/test/undotbs02.dbf' size 5G;
Tablespace created.
删除原来的回滚表空间
SQL> drop tablespace undotbs1;
Tablespace dropped.
将回滚表空间设置为新创建的回滚表空间
SQL> alter system set undo_tablespace="undotbs02" scope=spfile;
System altered.
将回滚表空间管理方式设置为自动
SQL> alter system set undo_management=auto scope=spfile;
System altered.
最后重新启动数据库即可!