但oracle依然在正常运行着,通过复制这三个控制文件到别的分区发现其他两个复制成功,第一个控制文件不能复制,这种情况是证明控制文件1有损坏吗?既然三个控制文件一样大小,第一个有损坏,其他两个还可以正常写吗?另外引起控制文件损坏的原因到底有哪些?只是硬盘故障吗?既然硬盘有损坏,是不是其他文件也可能被损坏了(包括数据文件),这样的话,问题是不是更严重了。如果只是可能是控制文件损坏,那为什么控制文件那么容易损坏?一连串的问题,很想得到解答,先谢谢了。

解决方案 »

  1.   

    ctl 不能复制,报什么错误,具体要看,另外数据库正常运行着,你怎么怀疑数据库坏了?
      

  2.   

    因为在rman里用list archivelog all报错,读取控制文件ctl01失败
      

  3.   

    必须一组三个控制文件同时在线可读可写才行,如果有一个不行,那运行的时候日志文件会报错,你现在在alter日志里可以看到吗,如果把数据库停了再启,就启不起来了,理由是第一个控制文件有问题,我一般是申请个停机时间,正常关数据库,shutdown immediate(不要用abort或kill杀),然后把所有控制文件备份,把后两个正常的控制文件随便挑一个,复制到第一个 控制文件并覆盖,启服务器,就应该可以,如果不行,那就要改一个参数,在控制文件路径里把第一个控制文件位置去掉,然后再启就正常了