zoukankan      html  css  js  c++  java
  • oracle全量、增量备份

    采用0221222增量备份策略,7天一个轮回

    也就是周日0级备份,周1 2 4 5 6 采用2级增量备份,周3采用1级增量备份

    打开控制文件自动备份

    CONFIGURE CONTROLFILE AUTOBACKUP ON; 

    配置控制文件备份路径

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/file/backup/rman/controlfile_%F'; 

    将过期天数设为7天

    RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 

    ---全备

    vim rman_bak_level0.sh    

    #! /bin/bash  

    export ORACLE_BASE=/u01/oracle 

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 

    export PATH=$ORACLE_HOME/bin:$PATH 

    export ORACLE_SID=neal    --数据库ORACLE_SID 

    export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'   --字符集 

    rman target / <<EOF    run{    allocate channel d1 type disk;   --分配通道d1,类型备份到磁盘 

    allocate channel d2 type disk;   --分配通道d2,类型备份到磁盘 

    backup incremental level 0 database format '/file/backup/rman/level0_%d_%s_%p_%u.bkp';   --备份级别、输出格式、路径 

    sql 'alter system archive log current';    --对当前redo日志进行归档 

    backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp';  --备份归档日志并删除 

    crosscheck backup;   --检查备份 

    delete noprompt obsolete;  --静默删除过期备份 

    release channel d1;  --释放通道d1 

    release channel d2;  --释放通道d2  }   

    EOF  

    ---0级备份脚本

    vim rman_bak_level0.sh 

    #! /bin/bash 

    export ORACLE_BASE=/u01/oracle 

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 

    export PATH=$ORACLE_HOME/bin:$PATH 

    export ORACLE_SID=neal 

    export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' 

    rman target / <<EOF 

    run{  allocate channel d1 type disk; 

    allocate channel d2 type disk; 

    backup incremental level 0 database format '/file/backup/rman/level0_%d_%s_%p_%u.bkp'; 

    sql 'alter system archive log current';  backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp'; 

    crosscheck backup; 

    delete noprompt obsolete; 

    release channel d1; 

    release channel d2;  } 

    EOF 

    --1级备份脚本

    vim rman_bak_level1.sh 

    #! /bin/bash 

    export ORACLE_BASE=/u01/oracle 

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 

    export PATH=$ORACLE_HOME/bin:$PATH 

    export ORACLE_SID=neal 

    export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' 

    rman target / <<EOF 

    run{  allocate channel d1 type disk; 

    allocate channel d2 type disk; 

    backup incremental level 1 database format '/file/backup/rman/level1_%d_%s_%p_%u.bkp'; 

    sql 'alter system archive log current';  backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp'; 

    crosscheck backup; 

    delete noprompt obsolete; 

    release channel d1; 

    release channel d2;  } 

    EOF 

    --2级备份脚本

    vim rman_bak_level2.sh 

    #! /bin/bash  export ORACLE_SID=neal 

    export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK' 

    /u01/oracle/product/11.2.0/db_1/bin/rman target / <<EOF 

    run{  allocate channel d1 type disk; 

    allocate channel d2 type disk;  backup incremental level 2 database format '/file/backup/rman/level2_%d_%s_%p_%u.bkp'; 

    sql 'alter system archive log current'; 

    backup archivelog all delete input format '/file/backup/rman/archivelog_%d_%s_%p_%u.bkp'; 

    crosscheck backup; 

    delete noprompt obsolete; 

    release channel d1; 

    release channel d2;  } 

    EOF 

    --加入到crontab中

    crontab -e 

    #周日0级备份  00 23 * * 0 /server/scripts/rman_bak_level0.sh 

    #周一、二、四、五、六2级增量备份  00 23 * * 1,2,4,5,6 /server/scripts/rman_bak_level2.sh 

    #周三1级增量备份  00 23 * * 3 /server/scripts/rman_bak_level1.sh 

  • 相关阅读:
    js-数组的原型拓展
    java-单例模式的java连接池
    java-基本数据类型值范围
    rabbitmq
    从哪跌倒从哪爬起,千里之行始于足下
    create python project steps
    常用代码片段
    shell脚本常用(记)
    shell学习
    maven工具使用
  • 原文地址:https://www.cnblogs.com/ss-33/p/8707663.html
Copyright © 2011-2022 走看看