再次重启登录:
/home/oracle$sqlplus / as sysdba
SQL> startup
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/system01.dbf'
SQL> recover database;
Media recovery complete.
SQL> alter database open;
alter database open
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
检查日志如下:又出现了ORA-00600 中的4194错误,
Database Characterset is UTF8
Fri Jan 18 16:00:14 2008
Errors in file /oracle/admin/szxdb/udump/szxdb_ora_10443.trc:
ORA-00600: internal error code, arguments: [4194], [38], [34], [], [], [], [], []
Doing block recovery for file 2 block 1135
Block recovery from logseq 2, block 43 to scn 2453192
Recovery of Online Redo Log: Thread 1 Group 1 Seq 2 Reading mem 0
Mem# 0 errs 0: /opt/oracle/oradata/oradb/redo01.log
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [4194], [59], [57], [], [], [], [], []
4149错误一般根undo有关系,因为当前redo损坏,undo数据也大都不一致了。
设置隐含参数:
将undo改变成手工管理的,然后重启数据库。
/home/oracle$sqlplus / as sysdba
SQL> startup mount
Database mounted.
SQL> alter system set undo_management='manual' scope=spfile;
System altered.
然后重启数据库
SQL> shutdown immediate
SQL> quit
$sqlplus / as sysdba
SQL> startup mount
SQL> alter database open;
Database altered.
SQL> exit
成功!