zoukankan      html  css  js  c++  java
  • 使用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'

  • 相关阅读:
    jdk动态代理底层实现
    SpringMvc执行流程及底层代码流程
    JavaWeb02-JSP数据交互
    JavaWeb01-动态网页
    异常总结
    优雅代码
    flask 脚本迁移语句
    git 拉取分支合并master&&回滚
    创建型设计模式
    基于mybatis的一个分表插件
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3397995.html
Copyright © 2011-2022 走看看