RMAN备份概念_关于备份集(Backup Set)

当在RMAN中执行BACKUP命令时,可以创建一个或多个备份集或映像拷贝。缺省情况下,RMAN创建备份集,不管目的地是磁盘还是介质管理器。


1.关于备份集和备份片

RMAN可以存储备份数据在称为备份集的逻辑结构中,它是RMAN备份的最小单元。

备份集包含来自一个或多个数据文件,归档redo日志,控制文件或服务器参数文件的数据。备份集只能通过RMAN来创建和访问,是RMAN可以写备份到介质管理器比如磁带驱动器和磁带库的唯一形式。

备份集包含一个或多个RMAN专用格式的二进制文件,这些文件称为备份片(Backup Piece)。备份集可以包含多个数据文件。例如,可以备份10个数据文件到一个包含一个备份片的备份集。在这种情况中,RMAN作为输出创建一个备份片。备份集只包含这个备份片。

如果在BACKUP命令中指定SECTION SIZE参数,那么RMAN产生一个多段(multisection)备份。这是一个大文件的备份,由多个通道并行产生,每个产生一个备份片。每个备份片包含备份的文件的一部分。

对于非多段备份,RMAN只记录成功完成的备份集到恢复目录,不存在部分的备份集这种情况。这与不成功的多段备份不同,多段备份的RMAN元数据可能包含部分备份集的记录。在后面这种情况中,必须使用DELETE命令来删除部分的备份集。

注:RMAN从不将部分备份视为还原和恢复的候选者。


2.备份集的RMAN块压缩

当创建备份集时,RMAN可以使用块压缩。

存在以下块压缩类型:
1) 未使用的块压缩(支持磁盘备份和Oracle Secure Backup磁带备份)
2) 空块压缩(支持所有备份)

RMAN块压缩不是传统的二进制压缩,而是总共使用一系列技术来避免备份某些不需要的块到备份中。


未使用的块压缩(Unused Block Compresision)
当使用未使用的块压缩时,RMAN跳过读取和备份任何当前没有分配给数据库对象的数据库块。这不管那些块之前是否分配过。

因此,如果数据库表被清空,RMAN将不会备份那个表占用的空间直到新的对象在空间中创建为止。

当以下条件满足时,会自动使用未使用的块压缩:
1) COMPATIBLE初始化参数设置为10.2或更高。
2) 当前没有为数据库定义保证还原点。
3) 数据文件是本地管理的。
4) 数据文件作为完全备份或级别0的增量备份的一部分被备份到备份集。
5) 在磁盘上创建备份集或Oracle Secure Backup是介质管理器。


空块压缩(Null Block Compression)
当使用空块压缩时,RMAN从它的输出中忽略任何不包含数据的块。

空块压缩总是在以备份集格式创建级别0或完全备份的时候使用。


3.备份集的二进制压缩

RMAN支持备份集的二进制压缩。只有当在BACKUP命令中指定AS COMPRESSED BACKUPSET或使用CONFIGURE DEVICE TYPE [DISK|SBT] BACKUP TYPE TO COMPRESSED BACKUPSET一次性命令时启用二进制压缩。

有两种二进制压缩选项:
1) 可以使用BASIC压缩算法,它不要求Oracle高级压缩选项。这个设置提供了可以与MEDIUM相比的压缩率,但需要消耗额外的CPU。
2) 如果启用高级压缩选项,可以选择章节“配置RMAN环境中的配置压缩选项”中的描述的压缩级别。


4.RMAN备份undo优化

在备份undo优化中,RMAN把不需要用来备份恢复即已经提交的事务的undo排除在外。

备份undo优化对于磁盘备份和Oracle Secure Backup磁带备份有效。不像备份优化,备份undo优化不是可配置的。


5.RMAN备份片的文件名称

可以让RMAN决定备份片的唯一名称或使用FORMAT子语句为备份片指定一个名称。

如果不指定FORMAT参数,RMAN使用%U替换变量在缺省的备份位置自动生成一个唯一的文件名称。

RMAN通过%U生成的一个SBT备份片名称示例:
2i1nk47_1_1

在磁盘上的OMF备份片的示例:
/backups/TEST/2i1nk47_1_1

FORMAT子语句支持除了%U之外的替换变量来生成唯一的文件名称。例如,可以使用%d来生成数据库的名称,%I代表DBID,%t代表时间戳等等。

可以指定多达4个FORMAT参数。如果指定多个FORMAT参数,那么只有当指定多个拷贝时RMAN才使用多个FORMAT参数。可以使用BACKUP … COPIES,SET BACKUP COPIES或CONFIGURE … BACKUP COPIES命令创建多个拷贝。


6.RMAN备份片的数量和大小

缺省情况下,备份集只包含一个备份片。为了限制每个备份片的大小,指定CONFIGURE CHANNEL或ALLOCATE CHANNEL命令的MAXPIECESIZE选项。

MAXPIECESIZE选项限制每个备份片的大小为指定的数量(bytes)。如果备份集的总大小大于指定的备份片大小,那么RMAN创建多个物理片来保存备份集内容。

可以为不能管理备份片跨多个磁带的介质管理器使用这个选项。例如,如果磁带可以容纳10GB,但创建的备份集必须保存80G数据,那么可以指示RMAN创建10GB的备份片,足够小来适应介质管理器使用的磁带。在这个情况中,备份集介质包含8个磁带。支持SBT 2.0的介质管理器可以返回一个值给RMAN,指示可支持的最大备份片大小,RMAN可以用它来规划备份活动。

如果在BACKUP命令中指定SECTION SIZE参数,那么RMAN可以创建一个多段备份。在这个情况中,一个备份集可以包含多个备份片,每个包含文件的一部分多段备份的目的是启用多个通道来并行备份一个大的文件


7.RMAN备份集的数量和大小

可以使用BACKUP命令的backupSpec子语句来指定备份的对象。每个backupSpec子语句产生至少一个备份集。

备份集的数量和大小主要取决于内部的RMAN算法。然而,可以使用CONFIGURE或BACKUP命令的MAXSETSIZE参数影响RMAN的行为。通过限制备份集的大小,参数间接限制备份集中的文件数量 ,可能可以强制RMAN创建额外的备份集。同时,也可以指定BACKUP … FILESPERSET来指定在每个备份集中最大的文件数量


8.多路(Multiplexed)RMAN备份集

当创建备份集时,RMAN可以同时从磁盘读取多个文件,然后将它们的块写到相同的备份集。例如,RMAN可以同时从两个数据文件中读取,然后合并这些数据文件的块到一个备份集。来自多个文件中的块的合并称为备份多路(multiplexing)。

映像拷贝,相反,从来不会是多路的。

注:如果RMAN创建数据文件的多段备份,那么数据文件不会和其它任何数据文件或文件的一部分多路备份。

如下图所示,RMAN可以备份3个数据文件到一个只包含一个备份片的备份集。这个备份片包含3个输入数据文件的混合的数据块。
在这里插入图片描述

RMAN多路由几个因素决定。例如,BACKUP命令的FILESPERSET参数决定了在每个备份集放入多少个数据文件。ALLOCATE CHANNEL或CONFIGURE CHANNEL的MAXOPENFILES参数定义RMAN可以同时读取多少个数据文件。基本的多路算法如下:
1) 每个备份集的文件数量。这个数量是FILESPERSET设置和每个通道读取的文件数量的最小值。FILESPERSET的缺省值是64。
2) 多路的级别。这是同时读取的输入文件数量,它们被写入到相同的备份片。多路的级别是MAXOPENFILES和每个备份集中的文件数量的最小值。MAXOPENFILES的缺省值是8。

假设使用1个通道来备份12个数据文件,FILESPERSET设置为4,多路的级别是这个值和8的较小值。因此通道同时写来自4个数据文件的块到每个备份片。

假设使用1个通道来备份50个数据文件,FILESPERSET设置为50,多路的级别是这个值和8的较小值。因此,通道同时写来自8个数据文件的块到每个备份片。

RMAN的多路备份集与介质管理器多路不同。介质管理器多路的一种类型是介质管理器写来自多个RMAN通道的并行输出到一个顺序设备,另外一种是备份混合数据库文件和非数据库文件到相同的磁带上。

注:Oracle建议决不使用介质管理器多路(mdeia manager multiplexing)来做RMAN备份。



来源:《Oracle Database Backup and Recovery User’s Guide,19c》

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值