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 <<EOF
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/