#!/usr/bin/env bash                         
# INTRO : The script for delete physical standby applied archivelog.
#         Please set ur environment variables before use it.
#         Please execute the script on physical standby site.
#
# USAGE : ./del_archivelog.sh                                                            
#                                                                     
# TEST  : This script has been successfully tested on these platforms:                                                                     
#         Linux 
#         Physical standby
#         Oracle Database 10gR2,11gR2,Include RAC                            
#                                                       
# NOTE  : Please test this script in ur development environment 
#         before attempting to run it in production.                                     
# =================================================================================
 
#----------------------------------------------------------------------------------
###setup environment variables
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
export ORACLE_SID=standby
export PATH=$ORACLE_HOME/bin:$PATH
#export ARCHIVE_DIR=+DATA/standby/archivelog
export LOG_FILE=$HOME/scripts/logs/del_archive.log
#----------------------------------------------------------------------------------
 
###determine user 
if [ `whoami` != 'oracle' ];then
echo "Warning: Please use oracle execute.">>$LOG_FILE
exit 99
fi
 
###define archivelog sequence will be deleted
sqlplus -s / as sysdba << EOF > tmp.log
set lines 100 feedback off echo off heading off;
select thread#,max(sequence#) from v\$archived_log where applied='YES' group by thread# order by thread#;
EOF
 
MAXLINE=`cat tmp.log|wc -l`
 
for (( i=1;i<$MAXLINE;i++ )); do
 
i=$(( i + 1 ))
THREAD=`sed -n "$i,$i"p tmp.log|awk -F' ' '{print $1}'`
MAXSEQ=`sed -n "$i,$i"p tmp.log|awk -F' ' '{print $2}'`
 
###Retains the most recent five Archive
MAXSEQ=$(( $MAXSEQ - 5 ))
 
###Delete physical standby applied archivelog
echo "****************************************************************************" >> $LOG_FILE
echo ">>> Begin deleting applied archivelogs : `date` <<<">>$LOG_FILE
 
i=$(( i - 1 ))
 
rman target / <<EOF >> $LOG_FILE
##catalog start with '$ARCHIVE_DIR' noprompt;
delete noprompt archivelog until sequence $MAXSEQ thread $THREAD;
EOF
 
echo >> $LOG_FILE
echo ">>> End delete applied archivelogs : `date` <<<">>$LOG_FILE
 
echo "****************************************************************************" >> $LOG_FILE
echo >> $LOG_FILE
 
done
 
rm -f tmp.log

del_archivelog的更多相关文章

随机推荐

  1. 实现一个类似360的button

    通过改写一个buttonst类,实现360效果的button. 主要可以完成:frame,hover,face效果,并且支持menu,tooltips 1)派生新的类QButton.添加虚函数,设置自 ...

  2. 转js resplace方法使用

    作者: hezhiwu5#163.com    时间:2007-3-22 大家好!!今晚在华软G43*宿舍没什么事做,把javascript中replace方法讲解一下,如果讲得不对或不合理是情理之中 ...

  3. H5中 input消除默认,取消在手机上的点击高亮效果

    input消除默认,代码如下    input{             -webkit-tap-highlight-color: rgba(255, 255, 255, 0);            ...

  4. swift语言点评十五-$0

    import UIKitimport XCPlayground class ViewController: UIViewController { func action() { print(" ...

  5. js效果之导航中英文转换

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. PyQuery使用

    PyQuery库是一个非常强大的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严格实现. ...

  7. 前端那些事之----jQuery

    1.jquery是什么     一个js的框架,可以方便的使用js 2 什么是jQuery对象     是由jQuery封装后的DOM对象     注意:与DOM对象的方法不同,不可以混用,但是可以相 ...

  8. POJ-1062 昂贵的聘礼 有限制的最短路

    题目链接:https://cn.vjudge.net/problem/POJ-1062 题意 虽然是中文题,还是简单复述一下吧 我们想要酋长的女儿作为老婆.作为交换,酋长想要点钱. 酋长提出可以用其他 ...

  9. oracle数据库回滚

    线下测试数据误操作,回滚攻略--把数据捞出来,这个时间自己设置--表名一定要是:xx_tbd日期 CREATE TABLE user_tbd0718ASselect * from user as of ...

  10. 斗地主算法的设计与实现(一)--项目介绍&如何定义和构造一张牌

    大学期间,我在别人的基础上,写了一个简易的斗地主程序. 主要实现了面向对象设计,洗牌.发牌.判断牌型.比较牌的大小.游戏规则等算法. 通过这个斗地主小项目的练习,提高了我的面向对象设计能力,加深了对算 ...