RMAN的备份集增量备份
在做传统的Oracle备份的时候,是使用操作系统的文件拷贝对数据库的文件进行备份,备份的粒度是数据文件,数据文件可能很大,但里面都
在做传统的Oracle备份的时候,是使用操作系统的文件拷贝对数据库的文件进行备份,备份的粒度是数据文件,数据文件可能很大,但里面都是空块,没有Oracle的数据,但由于是文件拷贝,所以需要备份整个文件.
RAMN的备份集备份值备份已经用过的数据块,而且能够进行增量备份.
一般用到的增量备份有三种形式:
0级增量备份,包含所有已经用到的数据块.
差异备份,包含从上一次备份(可以是0级增量备份,差异备份,累计备份)到目前的改动过的数据块.
累计备份,包含从上一次0级增量备份到目前的改动过的数据块.
每次0级备份形成一个新的备份周期.
例如下面的一个备份策略,每个周日晚上0级增量备份,周三晚上1级累计备份,其他晚上1级差异备份.
备份集中包含的块如下所示:
下面模拟一下这个步骤
对于基础的RMAN操作,请参照
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
,