Oracle 登录产生了01033错误(二)

2014-11-24 17:45:23 · 作者: · 浏览: 4
TIVE


3 3 YES INACTIVE


3、发现clear不成功


SQL> alter database clear unarchived logfile group 1;


alter database clear unarchived logfile group 1


*


ERROR at line 1:


ORA-01624: log 1 needed for crash recovery of thread 1


ORA-00312: online log 1 thread 1: 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'


4、把数据库down掉


SQL>shutdown immediate


5、在init.ora中加入如下参数


_allow_resetlogs_corruption=TRUE


6、重新启动数据库,利用until cancel恢复


SQL>recover database until cancel;


Cancel


如果出错,不再理会,发出


SQL>alter database open resetlogs;


7、数据库被打开后,马上执行一个full export


8、shutdown数据库,去掉_all_resetlogs_corrupt参数


9、重建库


10、import并完成恢复


11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;


说明:


  1、该恢复方法是没有办法之后的恢复方法,一般情况下建议不要采用,因为该方法可能导致数据库的不一致


  2、该方法也丢失数据,但是丢失的数据没有上一种方法的数据多,主要是未写入数据文件的已提交或未提交数据。


  3、建议成功后严格执行以上的7到11步,完成数据库的检查与分析


  4、全部完成后做一次数据库的全备份


  5、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容 的。