DataGuard备库删除已经应用的日志

2014-11-24 17:15:09 · 作者: · 浏览: 0

前言:公司搭建了DataGuard,刚开始没有注意备库归档日志的管理,系统运行了一段时间之后,发现备库的空间被归档日志给撑爆了。


查看归档日志的运用脚本:select sequence#,applied from v$archived_log order by sequence#;


以下是我配置的操作系统的定时删除脚本:


#!/bin/sh


export PATH


ORACLE_SID=orcl


TABLE='v$archived_log'


export ORACLE_BASE ORACLE_SID


export ORACLE_HOME=/u01/app/oracle/product/OraDb11g_home1


export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch


$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" < /home/oracle/deleteorclarch.sh

set heading off;


set pagesize 0;


set term off;


set feedback off;


set linesize 32767;


select 'rm -rf '||name from ${TABLE} where DELETED='NO' and APPLIED='YES';


exit;


EOF


sh /home/oracle/deleteorclarch.sh


rman target /<

crosscheck archivelog all;


delete noprompt expired archivelog all;


exit;


END


通过crontab每天定时运行脚本即可;