Rman 定时删除归档日志



1、下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的:  
crosscheck archivelog all;                                        --->校验日志的可用性
list expired archivelog all;                                      --->列出所有失效的归档日志 
delete archivelog until sequence 16;                              --->删除log sequence为16及16之前的所有归档日志
delete archivelog all completed before 'sysdate-7';               --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志
delete archivelog all completed before 'sysdate - 1';             --->同上,1天以前的
delete archivelog from time 'sysdate-1';                          --->注意这个命令,删除系统时间1天以内到现在的归档日志
delete noprompt archivelog all completed before 'sysdate';        --->该命令清除所有的归档日志
           
2、删除归档脚本
########################################################
#Author : Jianjun Zhang
#DATE   : 2017/03/23 
########################################################
#!/bin/bash
DATE=`date +%Y%m%d%H`
source /home/oracle/.bash_profile
$ORACLE_HOME/bin/rman log=/u01/log/rman_${DATE}.log < connect target/
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before 'sysdate-1'; 
}
exit;
EOF
exit


注意:在无法清除以前的归档日志的情况,可以先手工删除,然后在执行上面的shell脚本

3、定时任务,每小时执行一次
[oracle@rac1 ~]$ crontab -e
01 * * * * sh /u01/archivelog_delete.sh > /u01/log/delete_arch_log20 2>&1 &


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15489979/viewspace-2135960/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15489979/viewspace-2135960/

你可能感兴趣的:(Rman 定时删除归档日志)