我单位的一台数据库原来是无人管理的,所以数据库是非归档模式的,并且三组重做日志组,每组中的成员只有一个。前段时间由于突然的断电,数据库可以到mount状态,但一直无法打开.应该是当前重做日志损坏,提示信息如下:
SQL> startup
ORACLE 例程已经启动。Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-00399: 重做日志中的更改说明已损坏
ORA-00353: 日志损坏接近块 3 更改 208213877 时间 02/14/2008 17:10:25
ORA-00312: 联机日志 1 线程 1: 'E:\ORACLE\ORADATA\ZJTJJ\REDO01.LOG'
然后我按照网上有些资料的提示进行介质恢复,步骤如下:
4、把数据库down掉
SQL>shutdown immediate5、在init<sid>.ora中加入如下参数
_allow_resetlogs_corruption=TRUE6、重新启动数据库,利用until cancel恢复
SQL>recover database until cancel; 
Cancel
如果出错,不再理会,发出 
SQL>alter database open resetlogs;7、数据库被打开后,马上执行一个full export8、shutdown数据库,去掉_all_resetlogs_corrupt参数 9、重建库10、import并完成恢复11、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;
但是在执行到地8步时出现日下的错误提示:
SQL> recover database until cancel;
ORA-00279: 更改 208213875 (在 02/28/2008 15:03:17 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:\ORACLE\ORA92\RDBMS\ARC00001.001
ORA-00280: 更改 208213875 对于线程 1 是按序列 # 1 进行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'E:\ORACLE\ORADATA\ZJTJJ\SYSTEM01.DBF'
ORA-01112: 未启动介质恢复
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-00603: ORACLE 服务器会话因致命错误而终止
请大家帮忙看看问题出在哪里啊,在这种情况下,原来无任何备份文件,如何才能开发数据库进行全库备份,或者应该怎么样恢复啊???

解决方案 »

  1.   

    我觉得要恢复数据库前,先shutdown immediate;
    然后启动startup mount然后再按数据库的报错提示恢复数据的哪一个数据文件\日志文件...
      

  2.   

    实在不行就咨询oracle的数据库专家
      

  3.   

    指定日志:   { <RET> =suggested   ¦   filename   ¦   AUTO   ¦   CANCEL} 
    CANCEL 
    ========================================================================
    直接回车 或者 输入 suggested, 使用归档日志  E:\ORACLE\ORA92\RDBMS\ARC00001.001 恢复。