oracle删除归档日志
一.手动删除归档:
cd /dbfile //归档路径 find -mtime +7 -name "*963928319.arc" //查询7天前的归档日志 find -mtime +7 -name "*963928319.arc" -exec rm -f {} \; //刪除7天前的归档日志
以上归档日志删除后再执行以下语句删除掉动态性能视图中的已占用空间的信息
[oracle@NODE6 ~]$ rman target / RMAN> list archivelog all; RMAN> crosscheck archivelog all; --检查所有归档日志的状态,并把遗失的标记为expired,也就是说,expired 表示已经被操作系统中被删除的归档日志 RMAN> list expired archivelog all; RMAN> delete expired archivelog all; --删除expired的归档日志 RMAN> list expired archivelog all;
二.自动删除归档脚本:(删除5天前归档)
vim archiveclear.sh
#!/bin/bash source /home/oracle/.bash_profile rman target / <<EOF delete force noprompt archivelog all completed before 'sysdate-5'; exit; EOF
赋予执行权限:
chmod +x archiveclear.sh
定时执行(每周星期天上午六点半):
crontab -e 30 6 * * 0 /home/oracle/archiveclear.sh > /tmp/archiveclear.log 2>&1
创建日志记录:
touch /tmp/archiveclear.log