三、RMAN的备份介质
RMAN的备份介质分为两类:镜像拷贝和备份集,镜像拷贝是对文件的直接拷贝,而备份集是一种只有RMAN才能识别的备份转储文件(镜像拷贝不能存放在磁带中)。使用备份集可以充分利用RMAN的增量备份、压缩备份、加密备份、并行备份等特性。
1. 备份集与备份片
一个备份集包含一个或多个数据文件、归档Redo日志文件、控制文件或者服务器参数文件的数据(备份集是使用RMAN写备份到串行磁带设备上的唯一格式)。当发出BACKUP命令的时候,RMAN将创建一个完整的备份,包含一个或多个备份集。备份集是一个逻辑结构,包含一组物理文件,这些文理文件是备份片,它是RMAN备份最基本的物理结构。
有关备份集与备份片有如下规定:
? 一个数据文件不能跨越一个备份集,但是能跨越备份片。
? 数据文件、控制文件能保存到相同的备份集上,但是它们不能和归档日志保存在相同的备份集上。
注意:通道决定的是并行度和备份集个数,而filesperset决定了每个备份集中包含的文件个数。
2. 镜像拷贝
镜像拷贝是位对位(bit-for-bit)拷贝,在RMAN中可以非常方便的完成数据文件的拷贝:
RMAN> copy datafile ‘datafile name’ to ‘new file name’;
或者
RMAN> backup device type disk format ‘new file name’ as copy datafile ‘file_id’;
使用镜像拷贝是将数据文件包含的所有块都拷贝出来,包括数据文件中为使用的空块。
四、RMAN的备份方式
1. 完全备份
完全备份是对整个数据库、数据文件或者表空间进行一次全备份(在传统的物理备份恢复过程中,至少需要有一个对整个数据库的全库备份)。
全库备份的几种方法:
方法一 数据库全库备份:
RMAN> backup database;
方法二 数据库全库镜像拷贝:
RMAN> backup as copy database;
方法三 增量备份中的0级备份,也是一种全库备份:
RMAN> backup incremental level 0 database;
2. 增量备份
差异增量备份:
差异增量备份就是备份自上次(全库备份和增量备份)以来发生的块改变,差异增量备份是默认的增量备份方式。如下是0级和1级的备份命令:
? 0级备份
RMAN> backup incremental level 0 database;
? 1级备份
RMAN> backup incremental level 1 database;
累计增量备份:
累计增量备份是指自上次0级备份以来发生的块改变,如下是0级累计增量备份和1级累计增量备份的命令:
? 0级备份
RMAN> backup incremental level 0 cumulative database;
注意:差异增量备份和累计增量备份的0级备份命令是不同的。
? 1级备份
RMAN> backup incremental level 1 cumulative database;
注意:0级备份与全库备份的不同之处在于0级备份可以作为其他增量备份的基础备份,而全备份不能作为增量备份的基础备份。如果不存在0级备份,可以直接进行1级备份,这样1级备份将是一个全库备份。
块变更追踪:
在默认情况下使用增量备份,需要对备份文件的数据块同数据文件的数据块进行对比,判断是否需要对数据块进行增量备份。由于增量部分毕竟是少部分块,这样的对比会导致大量不必要的块读写和时间上的话费,为了解决这个问题,可以通过块变更追踪获取更好的增量备份性能。
启动块变更追踪就类似于创建一个记录上次备份后的数据块改变,在增量备份的时候,只需要直接对这部分发生改变的块进行备份,从而可以提高备份的效率,减少不必要的读写工作。以下为块变更追踪的操作步骤:
步骤 1 启动块变更追踪:
SQL> alter database enable block change tracking;
步骤2 指定块变更追踪文件:
SQL> alter database enable block change tracking using file ‘/dir/blck_change_file’;
步骤3 关闭块变更追踪文件:
SQL> alter database disable block change tracking;
步骤4 查看块变更追踪路径、状态及文件大小:
SQL> select status,filename,bytes from v$block_change_tracking;
3. 合并备份
增量备份的合并首先需要产生一个完全的数据文件镜像拷贝,之后每次把增量备份部分合并到这个镜像拷贝上。最终在还原的时候,只需要从镜像拷贝中还原,在恢复的时候,只需要应用最后一次增量备份之后的归档Redo日志和联机Redo日志。以下是合并备份的操作步骤:
步骤1 创建0级增量全库备份:
RMAN> backup incremental level 0 tag ‘quan’ database;
步骤2 创建1级增量备份:
RMAN> backup incremental level 1 for recover of copy tag ‘quan’ database;
这里的1级备份是用于合并备份
步骤3 对tag为quan的备份进行合并:
RMAN> recover copy of database with tag ‘quan’;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29339097/viewspace-777460/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29339097/viewspace-777460/