首页 >数据库 >mysql教程 >Oracle 10g rac standby 归档日志自动删除脚本

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

WBOY
WBOY原创
2016-06-07 17:28:421282浏览

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

Linux公社

首页 → 数据库技术

背景:

阅读新闻

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

linux

  • 0
  • RMAN备份报错Message file RMAN.msb not found

    Oracle RAC SSH等价性配置

    相关资讯       Oracle 10g RAC 

    图片资讯      

    本文评论   查看全部评论 (0)

    评论声明

    最新资讯

    本周热门

    Linux公社简介 - 广告服务 - 网站地图 - 帮助信息 - 联系我们
    本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,,也不构成任何建议。


    Copyright © 2006-2011 Linux公社 All rights reserved 浙ICP备06018118号

    声明:
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn