移动了联机日志文件REDO01.LOG和REDO02.LOG,那加载控制文件时就找不到log file了,当然启动不了数据库.先备份,再
1. startup nomount
2. 重建control file
3. open database open resetlogs

解决方案 »

  1.   

    我现在已经将联机日志文件REDO01.LOG和REDO02.LOG拷回原来的目录,但启动数据库时还提示:
    ORA-00314:日志1(线程1),预计序号437与434不匹配
    ORA-00312:联机日志1线程1:'G:\ORACLE\ORADATA\ZHD\REDO01.LOG'无法启动数据库
      

  2.   

    你移动后序号在向上涨了,已经到437而你的还是434,所以不匹配.当然数据库不让你打开了,因为有不一致发生了.
    你只有让序号回到起始点,数据库文件才能都保持一致,所以有后两步
    2. 重建control file
    3. open database open resetlogs
      

  3.   

    非常感谢cenlmmx的解释分析,我刚刚接触Oracle数据库,不熟悉,你能否将具体的命令列出给我?谢谢!!
      

  4.   

    网上一大堆, google 重建控制文件
    注意一点,做之前一定先备份
      

  5.   

    老兄能否把QQ给我?
    我之前已将数据库导出来了——文件名为zhdb.dmp
    请问现在能否重新导入数据?导入之前需要删除旧的数据库吗?
      

  6.   

    不用啊,重建control file,再open数据库
      

  7.   


      先mount数据库,然后再目录下建同名文件redo01.log、redo02.log、redo03.log  
    然后执行alter  databse  clear  logfile  group  n  
    对于current的group,执行alter  databse  clear  unarchived  logfile  group  n  
    然后,再open,就ok了sqlplus /nolog
    sql>connect /as sysdba
    sql>startup mount
    sql>select group# from v$log;  --查看GROUP的号 就是上面的N
    sql>alter  databse  clear  logfile  group  n  ;(这里的N是上面查的GROUP#)
      

  8.   

    select group# from v$log;执行后有
      1
      2
      3
    3个号,要输入哪个? 
    最后是输入alter  databse  clear  logfile  group  n  ;(这里的N是上面查的GROUP#)
    还是输入alter  databse  clear  unarchived  logfile  group  n;呢???????
      

  9.   

    整个执行步骤是否如下
    sqlplus /nolog
    sql>connect /as sysdba
    sql>startup mount
    sql>select group# from v$log;
    sql>alter  databse  clear unarchived logfile  group  1;
    sql>alter  databse  clear unarchived logfile  group  2;
    sql>alter  databse  clear unarchived logfile  group  3;
    完毕!!!这样对吗?