Home  >  Article  >  Database  >  RMAN的备份集增量备份

RMAN的备份集增量备份

WBOY
WBOYOriginal
2016-06-07 17:09:49856browse

在做传统的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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn