oracle因为删除归档日志导致备份失败的两种情况的解决方法

先说明一下,目前碰到两种情况因为归档日志被删除,导致备份失败。 第一种情况,是普遍遇到的因为磁盘空间不够将归档日志rm删除后,备份报错失败的情况。 第二种情况,是主动在RMAN下删…

  • 先说明一下,目前碰到两种情况因为归档日志被删除,导致备份失败。

    第一种情况,是普遍遇到的因为磁盘空间不够将归档日志rm删除后,备份报错失败的情况。

    第二种情况,是主动在RMAN下删除归档日志后,执行备份脚本闪退的问题(当然是windows系统下)。

    下面重点来了,解决方法奉上  哈哈
    针对情况一:
    网上也讲的很详细了。
    进行归档日志的校验;
    RMAN>crosscheck archivelog all;
    删除失效的归档日志;

    RMAN>delete expired archivelog all;
    删除废弃的备份;(可不执行)
    RMAN> delete obsolete;

    原因分析:

    数据库的archivelog文件被手工删除,但是控制文件仍然记录了归档日志的备份信息,rman做归档备份时还是要备份被无意删除的文件,但文件已经被物理删除,磁盘上找不到就会报错,通过rman crosscheck archivelog all也可以看到文件已经失效,所以备份之前先将归档文件从控制文件中删除,然后备份就会成功;
    针对情况二:
    因为空间不够,或者日志过大,手动在RMAN下delete archivelog all,然后在windows环境执行备份脚本,出现闪退情况,无法执行。
    执行过情况一的语句后,还是不行。
    尝试了一下直接在rman下先用语句备份库,然后再执行备份脚本,好用了。
    RMAN>backup database; 
    备库成功,再执行之前写好的备份脚本,也可以了。
    事后想了下也有可能是执行完情况一的语句后,需要等待一会10分钟以上,再执行备份脚本就会好。
    如果想要马上好用,就在rman执行备份语句后,再执行备份脚本。
    如果时间充裕,可以等待一段时间执行备份脚本即可。

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29578568/viewspace-2154163/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/29578568/viewspace-2154163/

作者: admin

为您推荐

发表评论

返回顶部