首页 > 数据库 > Oracle > 因为删除归档日志导致备份失败的两种情况的解决方法
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博客 ” ,链接:https://blog.itpub.net/29578568/viewspace-2154163/ ,如需转载,请注明出处,否则将追究法律责任。