非法断电后,数据启动报错
一 跳过文件一致性检查
SQL> alter system set "_allow_resetlogs_corruption"=false scope=spfile;
二 此时打开数据库报job在跑,undo报错,停止job
SQL> alter system set job_queue_processes =0 scope=both;
三 此时打开数据库报 ORA-600[4194] 跳过undo tablespace
SQL> alter system set undo_tablespace=system scope=spfile;
System altered.
SQL>alter system set undo_management=manual scope=spfile;
再启动数据库,如果运气好,可以起起来,再恢得更改的参数就可以了。
SQL>create undo tablespace undotbs2 datafile '/oracle/oradata/orcl/undotbs2.dbf' size 200M;
SQL>ALTER SYSTEM SET undo_tablespace='UNDOTBS2' SCOPE=SPFILE;
SQL> alter system set "_allow_resetlogs_corruption"=false scope=spfile;
SQL> alter system set undo_management=auto scope=spfile;
SQL> alter system set job_queue_processes =10 scope=both;
如果不好可能需要
如果出现极端的情况可能需要做如下处理:
1.使用_offline_rollback_segments和_corrupted_rollback_segments屏蔽掉有问题的undo segment
2.继续可能出现ora-600[2662],需要推进scn