千家信息网

数据库中因删除归档日志导致备份失败怎么办

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章将为大家详细讲解有关数据库中因删除归档日志导致备份失败怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先说明一下,目前碰到两种情况因为归档日志被删除,导
千家信息网最后更新 2024年11月27日数据库中因删除归档日志导致备份失败怎么办

这篇文章将为大家详细讲解有关数据库中因删除归档日志导致备份失败怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

先说明一下,目前碰到两种情况因为归档日志被删除,导致备份失败。
第一种情况,是普遍遇到的因为磁盘空间不够将归档日志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执行备份语句后,再执行备份脚本。
如果时间充裕,可以等待一段时间执行备份脚本即可。

关于"数据库中因删除归档日志导致备份失败怎么办"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0