linux shell rman删除归档_记录一次奇怪的现象--ASM的归档自动备份7天但却只保留最后一天?...

概述

今天主要是记录一个比较奇怪的地方,之前ASM归档目录会保留几天,有一次全清空后导致后面ASM归档目录每次都只保留最后一天归档,看是不是因为RMAN在删除归档日志的同时删除空目录导致。


1、删除ASM所存归档

之前因为归档空间满,在删除归档的时候同事执行了命令:

delete archivelog until time 'sysdate-1'; 

删除之前ASM上是保留有几天的归档的,删除后只剩最后一天保留。

2、编写定期归档脚本

后来写了个自动删除5天以前的归档脚本(本来是3天,然后改成5天)

c30c9b794b69406759d76b9216bd60cf.png

3、奇怪地方

观察了几天发现ASM都只保留了当天的归档,之前的归档不做保存。

4ddc3b6b658d126c034d08db7d056d71.png
05967a935a096c4710eb110bd664b046.png

这里我后来停了定期删除归档的脚本,但是还是有这情况,每天ASM上只保留最后一天归档。

4、查看实际备份情况

list backup of archivelog all completed before 'sysdate-7';

这个是在22号执行的,可以看到实际上是有备份的,但是备份路径为/backup,而不是在ASM上。而控制文件会自动备份在ASM上,即使/backup每天有自动备份。

96049493dea98586842b12a84b8497c3.png

可以看到归档不备份在ASM上,备份在本地/backup目录,控制文件备份在ASM上。

6e29312a95f202fb54ac3fe285e6bfb3.png

5、查看定时备份脚本

这里可以看到之前同事用了delete input的用法。

57aace1ff571f92b01258dd1abf29bd7.png

注意:

delete input 只备份一个路径下的archivelog,只删除备份的目标路径下的archivelog;

delete all input 只备份一个路径下的archivelog,删除所有路径下的archivelog;

6、考虑是否触发bug:RMAN在删除归档日志的同时删除空目录。

查询了metalink文档,发现有可能是Oracle的bug,metalink文档Bug No. 4431215描述了这个问题。

如果在ASM上建立的目录名称和SID前缀相同,则这个目录下的所有目录一旦为空,就会被ASM实例自动删除,不管这个目录是ASM自动建立,还是用户手工建立的。

解决这个问题的办法倒是很多,比如将归档目录设置到日志文件的目录中,或者改变主目录的名称使其和ORACLE_SID有所区别。还有更简单的办法,在归档目录下拷贝一个小文件,使得归档被删除后,归档目录不为空,从而避免路径被清除。

这里我复制了spfile文件,等23号再观察下情况。

82bca3e19ccf92dd0e1d0ccb9702f0a6.png

7、测试验证

检查发现ASM上只保留了23号的归档文件,22号的自动删除了。不是因为bug(低版本才有可能,我的版本是11.2.0.4)导致。

ed02fd4fbaf002c36557fc53dc5ea199.png

总结:

delete input删除已备份的归档日志,因为我只有一个fra归档路径(ASM上),应该是检测到/backup已经备份归档日志了,所以删除了ASM那边。后面会分享更多DBA方面的内容,感兴趣的朋友可以关注一下~

80bc32de2dbaddc0715dc22f030ee0e7.gif
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值