>  기사  >  데이터 베이스  >  Oracle教程:自动删除指定日期之前的归档日志

Oracle教程:自动删除指定日期之前的归档日志

WBOY
WBOY원래의
2016-06-07 17:03:001276검색

最近遇到一个很BT的项目,通过数据库的镜像盘阵进行RMAN备份,生产环境中产生的归档日志需要定时清除。而且,由于镜像盘阵是在备

背景:

最近遇到一个很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

delete archivelog until time "sysdate - 7";

YES

exit

EOF

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

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.