• 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64


    在ORACLE用户下的定时器设置

    [oracle@SHARKDB dbscripts]$ crontab -l
    # minute hour day month week
    15 1  * * 0  sh /home/oracle/dbscripts/backup_full.sh
    05 3  * * *  sh /home/oracle/dbscripts/del_arc.sh

     全备脚本 先配置保留时间窗口,配置备份目录和格式,然后交叉检查所有备份集.

    删除无效备份集,删除过期对象,进行全备份并压缩..

    [oracle@SHARKDB dbscripts]$ cat backup_full.sh

    #!/bin/ksh
    source ~/.bash_profile
    echo "------------------Start------------------";date
    #backup start
    $ORACLE_HOME/bin/rman log=/home/oracle/dbscripts/logs/rman_full_backup.log << EOF
    connect target /
    run{
    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
    CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/arch/full_%d_%s_%T_%t.bak';
    crosscheck backupset;
    delete noprompt expired backupset;
    delete noprompt obsoleted;
    backup full  AS COMPRESSED BACKUPSET DATABASE include current controlfile  plus archivelog;
    }
    exit;
    EOF
    echo "-------------------End-------------------";date

    删除归档日志先检查归档日志把物理删除的信息从控制文件删除,然后执行物理删除 2天前的.

    [oracle@SHARKDB dbscripts]$ cat del_arc.sh

    #! /bin/bash
    source ~/.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-2';
    exit;
    EOF


    如果没有SO 彼此 语句 -- source ~/.bash_profile 那么要在ROOT下执行定时器 切换用户 执行脚本

    03 04 * * * su - oracle -c '/home/oracle/del_arc.sh'

  • 相关阅读:
    ThinkPHP函数详解:C方法
    ThinkPHP函数详解:A方法
    php中的中文字符串长度计算以及截取
    JQ $("#form1 :input" ).length 与 $("#form1input").length有什么区别?
    php中的isset和empty的区别与认识
    谈谈ACM带来的一些东西
    HDU 4374--F(x)
    奖学金
    数字排序
    查找数字
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3397995.html
Copyright © 2020-2023  润新知