ITPub博客

首页 > 数据库 > Oracle > Oracle备份之RMAN工具(三)

Oracle备份之RMAN工具(三)

原创 Oracle 作者:fengpinDBA 时间:2013-11-25 00:16:29 0 删除 编辑

三、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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-11-22

  • 博文量
    22
  • 访问量
    923804