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

先说明一下,目前碰到两种情况因为归档日志被删除,导致备份失败。
第一种情况,是普遍遇到的因为磁盘空间不够将归档日志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/

你可能感兴趣的:(因为删除归档日志导致备份失败的两种情况的解决方法)