zoukankan      html  css  js  c++  java
  • ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT

    近期做个DG的归档日志删除,

    [oracle@.local logs]crontab -l
    * 8 * * * sh /home/oracle/dbscripts/del_arc.sh
    
    该脚本分别调用 生成 删除 校验 三个脚本
    cat del_arc.sh
    #! /bin/bash
    source /home/oracle/.bash_profile
    sh /home/oracle/dbscripts/build_del_archivelog.sh >> /home/oracle/dbscripts/del_arch`date +%F_%H`.sh
    sleep 5
    sh /home/oracle/dbscripts/del_arch`date +%F_%H`.sh >> /home/oracle/dbscripts/logs/del_arch`date +%F_%H`.log
    sleep 5
    sh /home/oracle/dbscripts/crosscheck_archivelog.sh >> /home/oracle/dbscripts/logs/cross_check`date +%F_%H`.log
    

    先看生成的

    cat build_del_archivelog.sh 
    sqlplus -s shark/235619<<EOF
    set heading  off
    set linesize 1000
    set echo off
    set feedback off
    set timing  off
    set termout on
    set trimout off
    set trimspool on
    set newpage none
    
    
    select 'rm -f '||name  from  v$archived_log where applied='YES' and deleted='NO' and completion_time < trunc(sysdate);
    
    EOF
    


    主要是生成物理删除 已经应用的归档日志 从V$archived_log中获取 , 注意ASM磁盘管理中的NAME 不包括路径.

    另外 生成的每行间距太大了,望各位不吝赐教下.


    生成的删除脚本

    ]head del_arch2014-05-07_08.sh 
    rm -f /arch_backup/1_24144_831167377.log                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    rm -f /arch_backup/2_22765_831167377.log       


    就是Y的太大行间距了.

    ]cat crosscheck_archivelog.sh 
    #! /bin/bash
    source /home/oracle/.bash_profile
    exec >> /home/oracle/dbscripts/logs/del_arch`date +%F_%H`.log
    $ORACLE_HOME/bin/rman target / <<EOF
    crosscheck archivelog all;
    delete noprompt expired archivelog all;
    #delete noprompt archivelog until time 'sysdate-1';
    exit;
    EOF
    

    这是最后个脚本 为 检验! 原本通过它来删除归档日志的 从注解中可知.

    这个校验脚本主要是为了清理下归档信息. 假设该信息存放在控制文件里DG是删除不了的




  • 相关阅读:
    查找——图文翔解HashTree(哈希树)
    比較JS合并数组的各种方法及其优劣
    PTA 是否同一棵二叉搜索树(25 分)
    PTA 最大子列和问题(10 分)
    PTA PAT排名汇总(25 分)
    PTA PAT排名汇总(25 分)
    PTA 说反话-加强版(20 分)(字符串处理)
    PTA 说反话-加强版(20 分)(字符串处理)
    Tarjan模版(链式向前星表示方法)
    Tarjan模版(链式向前星表示方法)
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6791493.html
Copyright © 2011-2022 走看看