ORA9由于停电造成的开机ORA-01589问题我进行了如下操作
1.  select group#,sequence#,archived,status from v$log;
2.  alter database clear logfile group 3;
    alter database clear unarchived logfile group 3;
还是不行然后又进行了
 alter database open resetlogs
 recover database using backup controlfile;
     指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
     ....
出现了如下信息:
    ORA-00283: 恢复会话因错误而取消
    ORA-00368: 重做日志块中的校验和错误
    ORA-00353: 日志损坏接近块 48768 更改 40458167 时间 07/22/2009 15:20:13
    ORA-00334: 归档日志: 'E:\APPLICATION DATA\ORACLEDATA\APDB\CTL\REDO03.LOG'请问我应该怎么办呢?

解决方案 »

  1.   

    到mount状态,查查logfile的状态先,看看current的redo file是不是第3个,或者试试recover database using backup controlfile; 
    运行到
    指定日志: { <RET>=suggested | filename | AUTO | CANCEL} 
    输入redo 2的路径试试。如果不行的话,就修改隐含参数_allow_resetlogs_corruption后试试,注意一定要先冷备数据库,恢复前。修改的具体方法可以看这个帖子的后面
    http://topic.csdn.net/u/20090611/11/ccf29f8a-b8a5-4491-9bf6-98f404b07e7b.html如果有做归档的话,可以做基于时间点和scn的不完全恢复。
      

  2.   

    我已经尝试了redo1,redo2,都不行。另外,我使用create pfile='d:\init.ora' from spfile;  加入_allow_resetlogs_corruption=true 然后 startup pfile='d:\init.ora';
    还是出现如下信息:SQL> startup pfile='d:\init.ora'
    ORACLE 例程已经启动。Total System Global Area  126950220 bytes
    Fixed Size                   453452 bytes
    Variable Size             109051904 bytes
    Database Buffers           16777216 bytes
    Redo Buffers                 667648 bytes
    数据库装载完毕。
    ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
    哎,我在网上找了一些类似的方法,都不行。 好郁闷啊!
      

  3.   

    sqlplus "/ as sysdba"
    recover database until cancel;
    alter database open resetlogs;
    shutdown database immediate;
    startup;
      

  4.   

    sqlplus "/ as sysdba"
    recover database until cancel;
    alter database open resetlogs; 然后,exp出你的数据。重建数据库