Oracle 10g rac standby 归档日志自动删除脚本
Oracle 10g rac standby 归档日志自动删除脚本
首页 → 数据库技术
背景:
阅读新闻
Oracle 10g rac standby 归档日志自动删除脚本
[日期:2013-05-06] 来源:Linux社区 作者:calvin_kang [字体:]
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
上一篇: mongodb的原子性
下一篇: you一天天的
推荐阅读
-
Linux下Oracle归档日志自动清理脚本代码(sh)
-
win平台oracle rman备份和删除dg备库归档日志脚本
-
Oracle 10g rac standby 归档日志自动删除脚本
-
Linux下Oracle归档日志自动清理脚本代码(sh)
-
Oracle Data Guard (RAC+DG) 归档删除策略及脚本
-
Oracle Data Guard (RAC+DG) 归档删除策略及脚本
-
批处理自动执行rman删除归档日志 oracle脚本rmanarchivelog
-
Oracle RAC集群环境下删除归档日志
-
oracle 10g RAC 添加日志组和成员以及删除日志成员
-
Oracle RAC集群环境下删除归档日志