在Oracle数据库开启了归档日志模式的情况下,归档日志会不断积累,如果不定时关注维护,可能会让归档日志把磁盘空间撑爆,并且若把归档目录设置在快速恢复区里,可在短时间内把该区撑爆,从而让数据库无法归档,数据库会挂起无法响应,影响严重!下面方案是部署自动化作业,定时清理历史归档日志,从而避免上述的归档日志撑爆的隐患。
LINUX下自动清理归档脚本(自动清理7天前的历史归档日志):
#/bin/sh
source ~/.bash_profile
rman target / log /home/oracle/rman.log <
如实现每天记录一个执行日志文件,可用下面的详细版:
#!/bin/bash
source ~/.bash_profile
LOGDIR=$HOME/delete_archivelog
LOGFILE=$LOGDIR/delete_$(date +%Y-%m-%d).log
if [ ! -d $LOGDIR ]
then
mkdir -p $LOGDIR
fi
delete archivelog in 3 days
$ORACLE_HOME/bin/rman target / <