oracle 日志自动删除,Oracle 10g rac standby 归档日志自动删除脚本

Oracle 10g rac standby 归档日志自动删除脚本

#!/bin/bash

export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1

export ORACLE_SID=standby1

export ARCHIVE_DIR=/log/archivelog

export LOG_FILE=/home/oracle/logs/del_archive.log

if [ ! $1 ]

then

sn=200

else

sn=$1

fi

echo "begin delete archivelog: `date`.......">>$LOG_FILE

if [ `whoami` != 'oracle' ]

then

echo "Error: You must be oracle to execute.">>$LOG_FILE

exit 99

fi

echo "delete archivelog thread 1">>$LOG_FILE

del_seq=`ls -tr $ARCHIVE_DIR/|grep -v stdarch |grep arch_1 | head -1|cut -f3 -d_`

$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" </home/oracle/logs/tmp1.log

set pagesize 0 feedback off verify off heading off echo off

select max(sequence#) from v\$ARCHIVED_LOG where THREAD#=1 and APPLIED='YES';

exit;

XFF

max_sn=`cat /home/oracle/logs/tmp1.log`

rm /home/oracle/logs/tmp1.log -f

max_sn=$(( $max_sn - $sn ))

while [[ ${del_seq} -lt ${max_sn} ]]

do

echo "${ARCHIVE_DIR}/arch_1_${del_seq}_794450242.arc">>$LOG_FILE

rm ${ARCHIVE_DIR}/arch_1_${del_seq}_794450242.arc -f

del_seq=$(( $del_seq + 1 ))

done

echo "delete archivelog thread 2">>$LOG_FILE

del_seq=`ls -tr $ARCHIVE_DIR/|grep -v stdarch |grep arch_2 | head -1|cut -f3 -d_`

$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" </home/oracle/logs/tmp2.log

set pagesize 0 feedback off verify off heading off echo off

select max(sequence#) from v\$ARCHIVED_LOG where THREAD#=2 and APPLIED='YES';

exit;

XFF

max_sn=`cat /home/oracle/logs/tmp2.log`

rm /home/oracle/logs/tmp2.log -f

max_sn=$(( $max_sn - $sn ))

while [[ ${del_seq} -lt ${max_sn} ]]

do

echo "${ARCHIVE_DIR}/arch_2_${del_seq}_794450242.arc">>$LOG_FILE

rm ${ARCHIVE_DIR}/arch_2_${del_seq}_794450242.arc -f

del_seq=$(( $del_seq + 1 ))

done

echo "end delete archivelog: `date`....">>$LOG_FILE

$ORACLE_HOME/bin/rman target / <>$LOG_FILE

crosscheck archivelog all;

delete noprompt expired archivelog all;

exit;

EOF

echo "....................................">>$LOG_FILE

0b1331709591d260c1c78e86d0c51c18.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值