欢迎投稿

今日深度:

【rman,1】经典的增量备份案例,rman增量备份案

【rman,1】经典的增量备份案例,rman增量备份案例


一.备份策略:

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)

ORACLE rman增量备份中的备份分级是为何?比如什1级备份2级备份的

先说增量备份,分差异和累积两种
总的来说就是先备份一次,然后以后备份就只备份改变过的数据
0级备份就是全备,可以做级增量备份的基础
增量备份的level1是从上次0或者1至今的变化,而level2是从上传备份至今的增量,0,1,2都可以
累积备份的level1是从上次0至今的累积变化,而level2是从上传0或者1至今的累积增量,包括期间2都可以
 

问一个RMAN增量备份的问题

rman是把数据备份到文件系统。
要做镜像系统,推荐使用DATAGRID,可基本做到实时备份,比rman适合。
你可以百度一下 “[三思笔记]一步一步学DataGuard”,里面有具体操作
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2911.html NewsArticle 【rman,1】经典的增量备份案例,rman增量备份案例 一.备份策略: 1.星期天晚上 -level 0 backup performed(全备份)2.星期一晚上 -level 2 backup performed3.星期二晚上 -level 2 backup performed4.星期三晚上...
评论暂时关闭