自动删除指定日期之前的归档日志

 背景:

         最近遇到一个很BT的项目,通过数据库的镜像盘阵进行RMAN备份,生产环境中产生的归档日志需要定时清除。而且,由于镜像盘阵是在备份时才进行同步,所以在生产环境中删归档时,还需要至少保留最近1天的归档。操作系统为AIX5.3和AIX6.1。

解决方案:

        1、如果归档日志是放在文件系统下,可采用下述方法:

             find . -mtime +20 -mtime -30 -exec rm -fr {} \;      (找出当前目录下,前20至30天之间生成的文件,并删除之;

        2、本次项目使用ASM作为归档存放地,该命令在asmcmd中无法使用,遂有更通用的解决方案:

            通过RMAN 登陆:

       DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';(指定删除7天前的归档日志)

            或者

       delete archivelog until time "sysdate - 7";

            由于这两条语句在执行时,先列出符合条件的归档日志,然后询问是否需要删除,所以自动删除的脚本(autoDelArchive.sh)为:

       export ORACLE_SID=testdb

       rman target  /  > delarchive.log << EOF

       delete archivelog until time "sysdate - 7";

        YES

        exit

        EOF

 

接下来,制定执行计划,放到crontab中,over。

 

 

           

 

 

 

       

       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值