oracle 删除standby_log,asm下如何自动删除standby上已经applied过的归档日志

由于是asm,所以和文件系统处理起来可能还不太一样,这要完全依赖rman了,不能依赖os了,当然我的这些脚本适合db是文件系统。[@more@]

首先先写了一个脚本purge_archlog_sql_.sh,内容如下:

ORACLE_BASE=/oracle

ORACLE_HOME=/oracle/product/11.1.0/db_1

ORACLE_SID=lnmsadg

export ORACLE_BASE ORACLE_HOME ORACLE_SID

applied_days=3

cat /dev/null>applied_arch.lst

chmod +x applied_arch.lst

sqlplus -s "/ as sysdba"

set feedback off

set pages 0

set head off

set timing off

set echo off

spool applied_arch.lst

select 'run{' from dual;

select 'delete noprompt archivelog sequence '||sequence#||' ;' from v$archived_log where DEST_ID=1 and name like '%.dbf' and status='A'

and SEQUENCE#and COMPLETION_TIME<=sysdate-${applied_days}

order by COMPLETION_TIME;

select '}' from dual;

spool off;

exit

EOF

--================================

以上脚本用来生成文件applied_arch.lst,applied_arch.lst的内容就是rman要调用的删除归档日志的脚本,内容大致如下:

$ more applied_arch.lst

run{

delete noprompt archivelog sequence 14254 ;

delete noprompt archivelog sequence 14255 ;

delete noprompt archivelog sequence 14256 ;

delete noprompt archivelog sequence 14257 ;

delete noprompt archivelog sequence 14258 ;

..................

delete noprompt archivelog sequence 14268 ;

delete noprompt archivelog sequence 14269 ;

delete noprompt archivelog sequence 14270 ;

delete noprompt archivelog sequence 14271 ;

delete noprompt archivelog sequence 14272 ;

delete noprompt archivelog sequence 14273 ;

}

--===============================

最后在脚本purge_archlog.sh里调用就可以了,purge_archlog.sh的内容如下:

$ more purge_archlog.sh

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.

export PATH

export ORACLE_BASE=/oracle

export ORACLE_HOME=/oracle/product/11.1.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=lnmsadg

rman target / cmdfile='/home/oracle/purge_archlog/applied_arch.lst' log='/home/o

racle/purge_archlog/purge_archlog.log' append

最后通过crontab自动执行就可以了,crontab -l的结果如下:

$ crontab -l

10 22 * * * purge_archlog_sql.sh >/dev/null 2>&1

20 22 * * * purge_archlog.sh >/dev/null 2>&1

$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值