您的位置:首页 > 数据库 > Oracle

oracle rman 增量备份

2015-05-08 10:24 477 查看
采用0112111增量备份策略,7天一个轮回

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

配置控制文件备份路径

RMAN > CONFIGURE CONTROLFILE AUTOBACKUP
FORMAT FOR DEVICE
TYPE DISK TO
'/u01/backup/rmanbk/ccontrolfile_%F';

数据备份目录

$ mkdir -p /u01/backup/rmanbk

首先将过期天数设为7天

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

下面开始创建0级 1级 2级备份脚本

0级备份脚本

vim rman_bk_level0.sh

------0级备份----------------

#! /bin/bash

export ORACLE_SID=orcl

export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'

/u01/app/oracle/11.2.0/dbhome_1/bin/rman
target / <<EOF

run{

allocate channel d1 type disk;

allocate channel d2 type disk;

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

sql 'alter system archive log current';

backup archivelog all
delete input
format '/u01/backup/rmanbk/log_%d_%s_%p_u%.bkp';

}

crosscheck backup;

delete noprompt obsolete;

exit;

<<EOF
------------------

1级备份脚本

vim rman_bk_level1.sh

---------1级增量备份---------------

#! /bin/bash

export ORACLE_SID=orcl

export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'

/u01/app/oracle/11.2.0/dbhome_1/bin/rman
target / <<EOF

run{

allocate channel d1 type disk;

allocate channel d2 type disk;

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

sql 'alter system archive log current';

backup archivelog all
delete input
format '/u01/backup/rmanbk/log_%d_%s_%p_u%.bkp';

}

crosscheck backup;

delete noprompt obsolete;

exit;

<<EOF

2级备份脚本

vim rman_bk_level2.sh

---------2级增量备份---------------

#! /bin/bash

export ORACLE_SID=orcl

export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'

/u01/app/oracle/11.2.0/dbhome_1/bin/rman
target / <<EOF

run{

allocate channel d1 type disk;

allocate channel d2 type disk;

backup incremental level 2
database format
'/u01/backup/rmanbk/level2_%d_%s_%p_%u.bkp';

sql 'alter system archive log current';

backup archivelog all
delete input
format '/u01/backup/rmanbk/log_%d_%s_%p_u%.bkp';

}

crosscheck backup;

delete noprompt obsolete;

release d1;

exit;

<<EOF

加入到crontab中

crontab -e
-----------
#周日0级备份
00 23 * * 0 /u01/backup_shell/rman_bk_level0.sh
#周一、二、四、五、六2级增量备份
00 23 * * 1,2,4,5,6 /u01/backup_shell/rman_bk_level2.sh
#周三1级增量备份
00 23 * * 3 /u01/backup_shell/rman_bk_level1.sh
-------------

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