先mount数据库,然后再目录下建同名文件redo01.log、redo02.log、redo03.log
然后执行alter databse clear logfile group n
对于current的group,执行alter databse clear unarchived logfile group n
然后,再open,就ok了

解决方案 »

  1.   

    我按照你的步骤做了,在alter database open resetlogs;
    时出现错误,信息如下:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'还是启动不了,咋办
      

  2.   

    '/users/oracle/oracle8/oradata/auth/system01.dbf'
    需要恢复,可以系统数据文件啊,很是还好办。
    有备份没有,没有备份我先替你哀悼!
      

  3.   

    我没有备份啊,我是在做数据转换时,突然停电了,所以没有备份,
    penitent(只取一瓢) ,我现在有什么高招吗?
      

  4.   

    如果仅仅是联机日志坏了, luckysxn方法就可以。
    但是你的系统数据文件还需要媒体恢复,没有备份是不可能恢复的。
    如果是别的数据文件,倒还可以删除掉,这个不能删啊。
    没有好办法.
      

  5.   

    My GOD,我要被炒了,5555555555555555~~~~~~~~~~~~~~~~~~~~~~`````
      

  6.   

    如你是归档的情况下,那可容易多了,如果不是可以采用以下的办法。
    1、可以先设法把数据库起来,然后把数据导出来,然后重建库,因你的system也在报错。
    2、在init<sid>.ora 中加入
       _allow_resetlogs_corruption=true
       偿试起动数据库,如报错,可以做如下修定:
     a、把init<sid>.ora 中的rollback_segments参数注释掉,偿试起库,如仍不能打开库,则转入b.
      b、加入_corrupted_rollback_segments=(rbs01,rbs02,..)
        我相信一定可以打开库了。
    3、把数据导出来,重建库,数据导回。
      

  7.   

    please visit it:
    http://www11.brinkster.com/sahxinyu/
      

  8.   

    我是在alter database open ;时,提示以下错误:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'
      

  9.   

    根据楼上的步骤后
    alter database open resetlogs
      

  10.   

    alter database open resetlogs
    也是一样的提示
      

  11.   

    我看还是去找oracle的技术支持吧
      

  12.   

    http://www.itpub.net/showthread.php?s=876bcbeef00d582bd3d56096e19c3a10&threadid=74167
      

  13.   

    作好的办法就是让你们知道备份的重要性与DBA的重要性。
    再次哀悼
      

  14.   

    你先把数据库备份,然后照这篇文章做:
    http://www11.brinkster.com/sahxinyu/oracle/expe1.htm
      

  15.   

    按我的办法来吧,加入 _allow_resetlogs_corruption=true后就可以使用resetlog操作了。
    也可以请求Oracle的技术支持吗!
      

  16.   

    你为什么不做呢?这种情况我和wxhakhz(星空守夜人) 一起做的,非常成功!
      

  17.   

    sahxinyu(心语)
    你们的情况仅仅是联机日志毁坏,如果仅仅是联机日志毁坏,恢复的办法是非常多的。
    你现在搞清楚,他是系统表空间需要恢复,假定你把系统数据文件删除了,也是返回的这样的错误,你能通过你的办法打开吗?那就奇怪了???
      

  18.   

    对于联机日志错误
    也不用你们那么麻烦
    connect internal
    startup mount
    recover database until cancel ;
    选择CANCEL
    alter database open resetlogs ;
    alter database open ;
    我试了无数次都可以。
      

  19.   

    看人家贴的吧,兄弟:
    服务器上突然断电后,oracle8i数据库无法启动,用svrmgrl进去管理后,过程如下:
    >connect internal/oracle
    >startup
     ora-00314: log 2 of thread 1, expected sequenec# 22199 doesn't match 22268
     ora-00312: online log 2 thread 1: c:\oracle\oradata\orcl\redo02.log'重做日志出错,没有提到系统表空间,而且人家用了上面的方法后,也没有成功啊!
    我现在还不敢乱讲,毕竟人家没有讲清楚具体情况,比如数据库是否处于归档模式?如果处于非归档模式,那就和我的情形一样,并非系统表空间问题,而是由于重做日志redo02.log发生介质错误,无法恢复,所以才导致数据库启动时,提示系统表空间需要恢复.这一点也和我遇到的报错一致.我建议你做做实验,在非归档模式下强行删除重做日志,然后再做恢复.还有一点,我建议恢复的时候最好备份,然后重建控制文件,重建控制文件时,将日志组2注释掉,再试用我的方法.祝你成功.
      

  20.   

    sahxinyu(心语)
    你要弄清楚,那是表面。
    第一个错误一样,但还有里层的错误。
    他是在联机日志恢复后又发现
    ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'错误
    看表面抱错不能断言
    还要查看
    v$recover_file,看看是否有需要媒体恢复的数据文件。如果没有,情形才与你一样,现在他的情况是,在联机日志恢复了的情况下,发现有数据文件的媒体恢复需要,也就是说
    v$reocver_file是有需要恢复的数据文件的,恰好又是系统数据文件。没有备份是不可能恢复的。
      

  21.   

    看来,咱们两个是无谓的争的,毕竟人家没有贴出来具体情况.
    I 服了you,but it's true?
      

  22.   

    我的数据库不是运行在归档模式下,所以更糟糕。
    至于日志文件的介质失败,我已经解决了,但在重新
    启动数据库后,又出现ORA-01110: data file 1: '/users/oracle/oracle8/oradata/auth/system01.dbf'的错误,
    所以我断定是系统数据文件介质失败。to penitent(只取一瓢) ,数据库还没有open,能否查询v$recover_file
    对象?
      

  23.   

    v$recover_file在mount下就可以查询
    如果v$recover_file记录为空就好办
    但我觉得按你的说法,几乎不可能为空
      

  24.   

    试试不完全恢复:
    startup mount;
    recover database until chang 9999;
    选择auto呵呵,我才学,这种方法是我书上看到的,不知道有没用。我是用这种方法恢复成功过一次。
    startup mount;
    recover database until cancle;
    这也是不完全恢复,能不能用我不知道喽。