zoukankan      html  css  js  c++  java
  • 【rman,1】经典案例增量备份

    一.备份策略:

    1.星期天晚上      -level 0 backup performed(全备份)
    2.星期一晚上      -level 2 backup performed
    3.星期二晚上      -level 2 backup performed
    4.星期三晚上      -level 1 backup performed
    5.星期四晚上      -level 2 backup performed
    6.星期五晚上      -level 2 backup performed
    7.星期六晚上      -level 2 backup performed
     
    假设星期二须要恢复的话,仅仅须要1+2,
    假设星期四须要恢复的话,仅仅须要1+4,
    假设星期五须要恢复的话,仅仅须要1+4+5,
    假设星期六须要恢复的话,仅仅须要1+4+5+6.
     
    自己主动备份:备份脚本+crontab
     bakl0
     bakl1
     bakl2

    二.运行的脚本:

    1.运行脚本:
    rman target / msglog=bakl0.log cmdfile=bakl0 (/表示须要连接的目标数据库,msglog表示日志文件,cmdfile表示的是脚本文件)
    rman target / msglog=bakl1.log cmdfile=bakl1
    rman target / msglog=bakl2.log cmdfile=bakl2
    实例:rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

    完整的命令:/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0

    2.编写rman备份脚本:
     
    0级备份脚本:
    把备份脚本放到/u01/rmanbak/script文件夹以下,vi bakl0,bakl0的内容为:
    run{
        allocate channel cha1 type disk;
        backup
        incremental level  0
        format '/home/oracle/rmanbackup/inc0_%u_%T'(u表示唯一的ID,大T是日期。小t是时间)
        tag monday_inc0 //标签能够顺便起,没关系
        database plus archivelog delete input;
        release channel cha1;
        }
    1级备份脚本:
    run{
        allocate channel cha1 type disk;
        backup
        incremental level  1
        format '/home/oracle/rmanbackup/inc1_%u_%T'(u表示唯一的ID,大T是日期,小t是时间)
        tag monday_inc1 //标签能够顺便起,没关系
        database plus archivelog delete input;
        release channel cha1;
        }

    2级备份脚本:
      run{
        allocate channel cha1 type disk;
        backup
        incremental level  2
        format '/home/oracle/rmanbackup/inc2_%u_%T'(u表示唯一的ID,大T是日期,小t是时间)
        tag monday_inc2 //标签能够顺便起。没关系
        database plus archivelog delete input;
        release channel cha1;
        }

    3.编写调用rman脚本的shell脚本:

    调用0备份的shell脚本 rmanbak0.sh为:
    #!/bin/bash
    source /home/oracle/.bash_profile
    /u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl0  msglog=/home/oracle/bakl0.log

    调用1备份的shell脚本 rmanbak0.sh为:
    #!/bin/bash
    source /home/oracle/.bash_profile
    /u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl1  msglog=/home/oracle/bakl0.log
    调用2备份的shell脚本 rmanbak0.sh为:
    #!/bin/bash
    source /home/oracle/.bash_profile
    /u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl2  msglog=/home/oracle/bakl0.log
     
    4.编写Linux定时任务运行自己主动备份
    [root@gc2 ~]#crontab -e -u oracle(该命令的意思是编辑oracle用户的定时运行(-e,edit -u oracle,oracle用户))
    分  时  日 月 星期(0代表星期天)
    45 23  *  *    0    /home/oracle/script/rmanbak0.sh(星期天的23:45会以oracle用户的身份来运行命令)
    45 23  *  *    1    /home/oracle/script/rmanbak2.sh
    45 23  *  *    2    /home/oracle/script/rmanbak2.sh
    45 23  *  *    3    /home/oracle/script/rmanbak1.sh
    45 23  *  *    4    /home/oracle/script/rmanbak2.sh
    45 23  *  *    5    /home/oracle/script/rmanbak2.sh45 23  *  *    6    /home/oracle/script/rmanbak2.sh


    或者(用于測试):
    使用oracle用户加入例行任务:
    crontab -e
    新打开的窗体中加入一下内容:
    0 24 * * * /home/oracle/bin/rmanbak0.sh
    (*/3 * * * * /home/oracle/bin/rmanbak0.sh)
    注。括号内的能够是做測试的时候用的,每三分钟运行一次备份。例为每天凌晨24点运行备份

     
    #然后启动crontab ,启动crontab的命令:
    [root@gc2 ~]# service crond restart
    Stopping crond: [  OK  ]
    Starting crond: [  OK  ]
    #监控定时任务是否运行
    [root@gc2 ~]# tail -f /var/log/cron

    Mar 10 21:28:04 gc2 crond[4435]: (CRON) STARTUP (V5.0)
    Mar 10 21:30:01 gc2 crond[4445]: (root) CMD (/usr/lib/sa/sa1 1 1)
    Mar 10 21:39:08 gc2 crond[4486]: (CRON) STARTUP (V5.0)

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    mysql使用命令备份和导入导出数据
    jmeter中json提取器提取多个参数给下游接口传参
    jmeter使用正则提取器返回多个参数给下游接口入参使用
    linux下分布式部署jmeter
    使用java远程启动jmeter服务报错,报错内容:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
    Java中看今天是星期几,礼拜几
    java读取xml文件的四种方法
    Oracle 恢复删除的表
    重启Oracle命令
    Android 资源
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4629373.html
Copyright © 2011-2022 走看看