如何管理standby上的归档日志?

[复制链接]
查看11 | 回复2 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
1)定期删除我用定时执行脚本 rman :delete copy of archivedlog all ,或是rman :delete archivelog all
2)但似乎不能帮我判断哪些已经applied(可以删除),和没有applied(不作删除)
[ 本帖最后由 xutoa 于 2010-10-18 11:23 编辑 ]
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
自己写个脚本,判断,定期执行。
grep "Media Recovery Log" /opt/oracle/admin/ aa/bdump/alert_aa.log |awk '{print $4}'|sed -e 's/^/rm /'>$ORACLE_BASE/standby/rmarchlog.sh
chmod +x $ORACLE_BASE/standby/rmarchlog.sh
$ORACLE_BASE/standby/rmarchlog.sh
cd $ORACLE_BASE/admin/$ORACLE_SID/bdump

cat alert_aa.log>> alert_aa.log
echo ''>alert_aa.log
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
hehe
我也用了 F3107530同样原理的方式
#!/bin/sh
source /etc/profile
source /home/oracle/.bash_profile
cd /home/oracle
vararchivelog=`cat $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_${ORACLE_SID}.log |grep "Media Recovery Log" |awk '{print $4}'`
echo "############# `date` begin rm archive log" >> /home/oracle/stdrmarch.log;
for rmvararchivelog in $vararchivelog;
do
echo "## `date` rm standby log file####################################" >> /home/oracle/stdrmarch.log
echo ${rmvararchivelog} >> /home/oracle/stdrmarch.log;
rm -f ${rmvararchivelog};
echo "@@ `date` rm primary log file####################################" >> /home/oracle/stdrmarch.log
done;
cp $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_${ORACLE_SID}.log $ORACLE_BASE/admin/$ORACLE_SID/bdump/`date +%Y%m%d`alert_${ORACLE_SID}.log
> $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_${ORACLE_SID}.log

然后每天晚上执行一次每天对alert log 进行一次清除,这样获得出来的archive log列表都是没有删除过的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行