您的位置:首页 > 其它

rman备份方法之-增量备份

2014-10-09 16:05 176 查看
使用类型:系统负载集中在某那个时间段,如白天8小时,晚上基本很闲,所以在晚上就可以对数据进行备份

与之相对应的是全库备份:

http://blog.csdn.net/jacson_bai/article/details/39636915

1、ENV:

IP: 10.244.171.180/181

Oracle database  Oracle 11.2.0.3

OS RHEL 5.5

Backup Toos:RMAN,shell,crontab

2、备份计划(增量计划)

Sunday   :execute level 0 incremental back

Monday   :execute level 2 incremental back

Tuesday  :execute level 2 incremental back

Wednesday:execute level 1 incremental back

Thursday :execute level 2 incremental back

Friday   :execute level 2 incremental back

Saturday :execute level 2 incremental back

  

3、在Node2规划backup 目录

--先创建保存备份脚本的目录

$mkdir -p /Data/scripts/rman/

--创建备份数据的目录

$mkdir -p /Data/rmandata/ --存放备份的数据目录

3、制定*.sql和rman_backup.sh脚本

 --全备lv0级:

$cd /Data/scripts/rman/

$vi backup_lv0.sql

  run{

  allocate channel c1 type disk;

  allocate channel c2 type disk;

  allocate channel c3 type disk;

  allocate channel c4 type disk;

  backup incremental level 0 database

  include current controlfile format '/Data/rmandata/backup_%T_%s_%U_%t.lv0'

  plus archivelog delete all input format '/Data/arch/backup_%T_%s_%p_%t.arc';

  release channel c1;

  release channel c2;

  release channel c3;

  release channel c4;

  }

--增量备lv1级:

vi backup_lv1.sql

  run{

  allocate channel c1 type disk;

  backup incremental level 1 database include current controlfile

  format '/Data/rmandata/backup_%T_%s_%p.lv1';

  release channel c1;

  }

--累计备lv2级:

$vi backup_lv2.sql

  run{

  allocate channel c1 type disk;

  backup incremental level 2 database include current controlfile

  format '/Data/rmandata/backup_%T_%s_%p.lv2';

  release channel c1;

  }

4、编写shell脚本

--脚本要实现的功能:

1.正确判断星期

2.记录每个rman备份运行的时间

#!/bin/bash

source /home/oracle/.bash_profile

myweek=`date +%a`

mydate=`date +%Y%m%d`

mydir=/Data/

#Monday

if [ "$myweek" == "Mon" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql

fi

#Tuesday

if [ "$myweek" == "Tue" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql

fi

#Wednesday

if [ "$myweek" == "Wed" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv1.sql

fi

#Thursday

if [ "$myweek" == "Thu" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql

fi

#Friday

if [ "$myweek" == "Fri" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql

fi

#Saturday

if [ "$myweek" == "Sat" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv2.sql

fi

#Sunday

if [ "$myweek" == "Sun" ]; then

rman target sys/oracle msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/scripts/rman/backup_lv0.sql

fi

5、crontab脚本指定

$crontab -e

30 20 * * * sh /Data/script/rman/rman_backup.sh;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: