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