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是删除不了的




  • 相关阅读:
    结巴分词 0.14 版发布,Python 中文分词库
    Lazarus 1.0.2 发布,Pascal 集成开发环境
    Android全屏 去除标题栏和状态栏
    服务器日志现 Android 4.2 传将添多项新特性
    Percona XtraBackup 2.0.3 发布
    长平狐 Android 强制设置横屏或竖屏 设置全屏
    NetBeans 7.3 Beta 发布,全新的 HTML5 支持
    CppDepend现在已经支持Linux
    GromJS 1.7.18 发布,服务器端的 JavaScript
    Apache OpenWebBeans 1.1.6 发布
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6791493.html
Copyright © 2011-2022 走看看