背景:
最近遇到一个很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。
本文发布于:2024-02-04 19:46:13,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170715088558978.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |