错误提示:ORA-01033:Oracel initalization or shutdown in progress执行:alter database open;后发现日志文件有错误,和备份的文件比较发现丢失了2个日志文件。后来我用备份文件覆盖了原文件后,
再次执行:alter database open;
错误提示:file is more recent than controlfile - old controlfile.
后来发现备份的文件中缺少了3个数据文件,导致覆盖时这三个数据文件没有覆盖到。但是数据本身应该是完整的,因为从备份到处理这段时间内是没有人使用系统的。请高手指点一下,我该如何解决这个问题呢?很急!!

解决方案 »

  1.   

    怎么覆盖? restore 然后 recover?还是文件copy?
      

  2.   

    1 Oracle 报告你,正在关闭instance过程中,为啥要恢复? 你是怎么发现少了数据文件的?
    2 恢复的方式取决于平时是怎么做备份的?
    3 control 文件里面记录了数据文件的存放位置,可以重建一下control文件试试看,注意,如果control文件是多份的话,需要把所有的control文件都覆盖掉。操作之前,先备份!
      

  3.   

    通常看到这个错误
    1 查alert_(sid).log看具体什么错误,如日志满之类的错误也会引起数据库当下来。
    2 如果是在shutdown过程中,那么使用shutdown abort 关闭,有丢失数据的风险。
    3 重启instance。
      

  4.   

    非常感谢各位的热心回答,昨天处理这事,一直没能上线。终于解决了。使用的Copy覆盖方式,用了很多方法,重建控制文件也失败了,最后用通过日志文件恢复,竟然成功了,幸好还残留了一个日志文件。再次谢谢各位。