新删除data guard归档日志shell脚本

联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

标题:新删除data guard归档日志shell脚本

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

以前写过删除dataguard归档日志的方法(删除data guard归档日志),但是以前的方法确实不够灵活也不够简便,现在提供最新的一次在客户现场部署的dg删除归档日志的shell脚本

#!/bin/sh
source ~/.bash_profile

grep "Media Recovery Log" $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_${ORACLE_SID}.log|
\ awk '{print $4}'|sed -e 's/^/rm /' >/tmp/rmarchlog.sh
chmod +x /tmp/rmarchlog.sh

/tmp/rmarchlog.sh
cd $ORACLE_BASE/admin/$ORACLE_SID/bdump

cat alert_${ORACLE_SID}.log >>alert_${ORACLE_SID}.log.bak
echo ''>alert_${ORACLE_SID}.log

rm -f /tmp/rmarchlog.sh


$ORACLE_HOME/bin/rman target / <<XIFENFEI
crosscheck archivelog all;
delete expired archivelog all;
YES
exit;
XIFENFEI

根据alert日志中dg应用日志的信息”Media Recovery Log”信息来删除掉相关的归档日志,可以保证应用过的归档日志都被删除,而没有应用的归档日志都保留.

此条目发表在 Data Guard, Linux 分类目录。将固定链接加入收藏夹。

新删除data guard归档日志shell脚本》有 2 条评论

  1. 不了峰 说:

    用这个”Media Recovery Log”条件来判断删除备库归档日志,可能会存在漏删的情况

    因为,当备份处在Real Time apply的模式下
    应用日志,有时会产生”Recovery of Oline redo log”的输出,而没有”Media Recovery Log”这个的输出,所以会出现漏删的情况

  2. Fung920 说:

    咦,怎么跟我用的一样