RMAN的备份集增量备份 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    在做传统的Oracle备份的时候,是使用操作系统的文件拷贝对数据库的文件进行备份,备份的粒度是数据文件,数据文件可能很大,但里面都是空块,没有Oracle的数据,但由于是文件拷贝,所以需要备份整个文件.

    RAMN的备份集备份值备份已经用过的数据块,而且能够进行增量备份.

    一般用到的增量备份有三种形式:

    0级增量备份,包含所有已经用到的数据块.

    差异备份,包含从上一次备份(可以是0级增量备份,差异备份,累计备份)到目前的改动过的数据块.

    累计备份,包含从上一次0级增量备份到目前的改动过的数据块.

    每次0级备份形成一个新的备份周期.

    例如下面的一个备份策略,每个周日晚上0级增量备份,周三晚上1级累计备份,其他晚上1级差异备份.

    备份集中包含的块如下所示:

   

    下面模拟一下这个步骤 www.2cto.com

    对于基础的RMAN操作,请参照:www.2cto.com/database/201201/117276.html

    1,在周日做0级备份

    RMAN> run{

    2> allocate channel c1 type disk;

    3> backup incremental level 0 database format 'D:\oracle\rmanrep\butdblv0%U.dmp';

    4> }

    2,周日到周一数据库中数据变化:insert into test values(1,'monday lv1D');

    RMAN> run{

    2> allocate channel c1 type disk;

    3> backup incremental level 1 database format 'D:\oracle\rmanrep\butdblv2d1%U.dmp';

    4> }

    3,周一到周二数据库中数据变化:insert into test values(2,'Tuesday lv1D');

    RMAN> run{

    2> allocate channel c1 type disk;

    3> backup incremental level 1 database format 'D:\oracle\rmanrep\butdblv2d2%U.dmp';

    4> }

    4,周二到周三数据库中数据变化:insert into test values(3,'Wednesday lv1C');

    RMAN> run{

    2> allocate channel c1 type disk;

    3> backup incremental level 1 cumulative database format 'D:\oracle\rmanrep\butdblv1d3%U.dmp';

    4> }

    周四,周五,周六和上面2,3步类似.

    在下一个周日的时候,做0级备份,一个新的备份周期开始.

    * 在OCP的书上说的1级差异备份的语法为backup incremental level 1 differential database,我在操作过程中

    RMAN提示语法错误: RMAN-01008: the bad identifier was: differential

    印象副本的"假增量备份"

    印象副本(incarnation)是最快速的还原方式,其原因是是印象副本是数据文件的完整备份,在还原的时候只需要将数据文件restore,再利用redo log就可以还原数据库.不像备份集,需要从备份集中"抽取"文件.但是正因为印象副本是完整的数据文件如此,它不能像数据集那样做增量备份.

    但是RMAN提供了一种对印象副本进行"增量更新"的方法:

    1,备份一个印象副本的0级增量备份.

    run{

    allocate channel c1 type disk;

    backup as copy incremental level 0 database tag lv0copy format 'D:\oracle\rmanrep\butdblv0Copy%U.dmp';

    }

    2,定期做增量更新:

    run{

    allocate channel c1 type disk;

    backup incremental level 1

    for recover of copy with tag lv0copy

    database tag db_copy_update;

    recover copy of database with tag lv0copy;

    delete backupset tag db_copy_update;

    }

    作者 kkdelta

最新文章