自动清理Oracle归档日志
自动清理Oracle归档日志
tonglei0429 发表于2年前
自动清理Oracle归档日志
  • 发表于 2年前
  • 阅读 81
  • 收藏 5
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

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

清理归档日志的脚本

rmanclear.sh:

#!/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

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

clear.sh

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

定时任务:

[root]# crontab -e

输入:

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

(每天6点执行一次)

保存退出后执行:

[root]# /sbin/service crond restart 

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 37
码字总数 15228
×
tonglei0429
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: