• Oracle 12c RMAN备份文档


    创建备份目录,查看剩余空间

    [cistest@cistest ~]$ df -h
    df: ‘/home/oratest/.gvfs’: Permission denied
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root  450G   27G  423G   6% /
    devtmpfs                 5.8G     0  5.8G   0% /dev
    tmpfs                    5.8G  2.9G  3.0G  50% /dev/shm
    tmpfs                    5.8G   34M  5.8G   1% /run
    tmpfs                    5.8G     0  5.8G   0% /sys/fs/cgroup
    /dev/sda1                497M  128M  370M  26% /boot

    创建目录,并且更改权限为数据库用户

    sudo mkdir -p /rman_backup/bak_data  /rman_backup/scripts
    
    [sa@cis ~]$ sudo chgrp -R dba /rman_backup/
    [sa@cis ~]$ sudo chown -R oracle /rman_backup/

    rman参数配置

    CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS ;

    全备脚本 BackupFull.sh

    # script .:BackupFull.sh
    
    # creater:wangshengzhuang
    
    # date:2016/01/05
    
    # desc: backup full database datafile in archive with rman
    
    # connect database
    
    
    
    export ORACLE_BASE=/home/oratest/app/oratest
    
    export ORACLE_HOME=/home/oratest/app/oratest/product/12.1.0/dbhome_1
    
    export ORACLE_SID=CISTEST
    
    export PATH=$ORACLE_HOME/bin:$PATH
    
    rman target/ << EOF
    
    Run{
           Allocate channel c1 type disk;
    
           Backup incremental level 0 tag 'db0'    format  '/rman_backup/bak_data/db0_%d_%T_%s' database  
           include current controlfile       
           plus archivelog filesperset 20         format  '/rman_backup/bak_data/arc0_%d_%T_%s'  ;
    
           Delete noprompt obsolete;
           Release channel c1;
    }
    
    EOF
    #

    增量备份BackupIncr1.sh

    # script .:BackupFull.sh
    
    # creater:wangshengzhuang
    
    # date:2016/01/05
    
    # desc: backup incremental database datafile in archive with rman
    
    # connect database
    
    
    
    export ORACLE_BASE=/home/oratest/app/oratest
    
    export ORACLE_HOME=/home/oratest/app/oratest/product/12.1.0/dbhome_1
    
    export ORACLE_SID=CISTEST
    
    export PATH=$ORACLE_HOME/bin:$PATH
    
    rman target/ << EOF
    
    Run{
           Allocate channel c1 type disk;
    
           Backup incremental level 1 tag 'db1'    format  '/rman_backup/bak_data/db1_%d_%T_%s' database  
           include current controlfile       
           plus archivelog filesperset 20         format  '/rman_backup/bak_data/arc1_%d_%T_%s'  ;
    
           Delete noprompt obsolete;
           Release channel c1;
    }
    
    EOF
    #

    配置定时调度

    周日和周三凌晨1:00执行0级全库备份,周一、二、四、五六凌晨1:00执行1级增量备份

    [oratest@cistest scripts]$ crontab -e
    0 1 * * 0 /rman_backup/scripts/BackupFull.sh  >>/rman_backup/BackupFull.log
    0 1 * * 3 /rman_backup/scripts/BackupFull.sh  >>/rman_backup/BackupFull.log
    0 1 * * 1-2 /rman_backup/scripts/BackupIncr1.sh  >>/rman_backup/BackupIncr.log
    0 1 * * 4-6 /rman_backup/scripts/BackupIncr1.sh  >>/rman_backup/BackupIncr.log

    reload调度

    [sa@cistest cistest]$ sudo /sbin/service crond reload
    Redirecting to /bin/systemctl reload  crond.service
  • 相关阅读:
    Redis源码解析:07压缩列表
    Redis源码解析:06整数集合
    Redis源码解析:05跳跃表
    Laravel中的路由管理
    jquery登录的异步验证
    ThinkPHP3.2.3中,配置文件里配置项的读取
    ThinkPHP3.2.3中,查询语句中in的使用方法。
    Fatal error: Maximum function nesting level of '100' reached, aborting!
    无限级分类的收缩与展开功能
    mysql添加DATETIME类型字段导致Invalid default value错误的问题
  • 原文地址:https://www.cnblogs.com/xqzt/p/5103805.html
Copyright © 2020-2023  润新知