Home >Database >Mysql Tutorial >Oracle 10g rac standby 归档日志自动删除脚本

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

WBOY
WBOYOriginal
2016-06-07 17:28:421283browse

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号

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn