您的当前位置:首页正文

RMAN的备份集增量备份

2020-11-09 来源:步旅网

在做传统的Oracle备份的时候,是使用操作系统的文件拷贝对数据库的文件进行备份,备份的粒度是数据文件,数据文件可能很大,但里面都

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

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

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

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

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

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

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

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

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



下面模拟一下这个步骤

对于基础的RMAN操作,请参照

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

linux

显示全文