自动清理Oracle归档日志

Oracle的归档模式( ARCHIVELOG ) 通常用于数据库的复制和备份,相对重要的企业应用都会打开该模式,每当执行了增删改的操做,Oracle就会自动归档,当归档分区剩余空间不足90%时,Oracle的服务将不可用,这时就须要清理归档日志。数据库

清理归档日志的脚本bash

rmanclear.sh:oracle

#!/bin/bash     
if [ -f ~/.bash_profile ]; then   
. ~/.bash_profile    
fi    

ORACLE_SID=$1;                 
export  ORACLE_SID=$ORACLE_SID  
$ORACLE_HOME/bin/rman log=/users/oracle/log/rman.log <<EOF       
connect target /    
run{    
crosscheck archivelog all;    
delete noprompt expired archivelog all;    
delete noprompt archivelog all completed before 'sysdate - 1';    
}    
exit;    
EOF

执行脚本(用于定时任务):spa

clear.shrest

#!/bin/bash  
su - oracle -c  "/users/oracle/scripts/rmanclear.sh orcl " > /dev/null 2>&1

定时任务:日志

[root]# crontab -e

输入:code

0 6 * * * /users/oracle/clear.sh

(天天6点执行一次)crontab

保存退出后执行:ip

[root]# /sbin/service crond restart