备份选项让你可以控制比如备份大小,备份压缩和备份加密等各个方面。
1. 配置备份集的最大大小
RMAN可以使用称为备份集的专用格式来创建备份。备份集包含来自一个或多个数据文件,归档redo日志文件,控制文件或服务器参数文件的数据。
命令CONFIGURE MAXSETSIZE限制在通道上创建的备份集的大小。当使用BACKUP命令来创建备份集时,CONFIGURE设置应用到所有的不管是手动分配还是配置的通道。缺省的值的单位是Byte,向下舍入到最低的KB值。
在磁带备份中,多路复用(multiplex)的备份集可能会跨多个磁带,这意味着在备份集中的每个数据文件的数据块会写到多个磁带上。如果多卷备份集的一个磁带故障,那么就会丢失所有磁带而不只是一个磁带上的数据。如果备份不是多段备份(multisection),那么备份集总是包含整个数据文件而不是一部分数据文件。可以使用MAXSETSIZE来指定每个备份集适合在(fit on)在一个磁带而不是跨多个磁带。
通过命令CONFIGURE MAXSETSIZE来设置的值是给定通道的缺省值。可以为单独的BACKUP命令指定MAXSETSIZE选项来覆盖配置的MAXSETSIZE值。
假设在RMAN提示符中执行以下命令:
CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE CHANNEL DEVICE TYPE sbt PARMS
‘ENV=(OB_MEDIA_FAMILY=first_pool)’;
CONFIGURE MAXSETSIZE TO 7500K;
BACKUP TABLESPACE users;
BACKUP TABLESPACE tools MAXSETSIZE 5G;
结果如下:
1) 表空间users的备份使用配置的SBT通道,配置的缺省MAXSETSIZE设置为7500K。
2) 表空间tools的备份使用在BACKUP命令中指定的MAXSETSIZE 5G设置。
2. 配置备份片的最大大小
备份集的最小单元是二进制的文件称为备份片。
当超过文件系统或介质管理软件允许的最大文件大小时,备份片的大小是一个问题。可以使用CONFIGURE CHANNEL或ALLOCATE CHANNEL的MAXPIECESIZE参数来限制备份片的大小。
例如,限制备份片的大小为2GB或更少,如下所示:
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2G;
BACKUP DATABASE;
3. 配置双重备份(Backup Duplexing)
使用CONFIGURE … BACKUP COPIES命令指定特定的文件类型的每个备份片的多少个拷贝会在指定的设备类型上创建。这种类型的备份称为双重(duplexed)备份集。
RMAN可以双重备份到磁盘或磁带,但不能同时双重备份到磁盘和磁带。当备份到磁带时,确保拷贝的数量不会超过可用的磁带设备。双重备份的CONFIGURE设置只影响备份数据文件,控制文件和归档日志的到备份集,不会影响映像复制。
注:控制文件的自动备份不会双重备份。
缺省的情况下,每个设备类型的CONFIGURE … BACKUP COPIES设置为1。
以下示例显示可能的双路复用配置:
# Makes 2 disk copies of each data file and control file backup set
# (autobackups excluded)
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
# Makes 3 copies of every archived redo log backup to tape
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE sbt TO 3;
还原BACKUP COPIES的配置到它的缺省值,运行相同的CONFIGURE命令和CLEAR选项,如下例所示:
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE sbt CLEAR;
注:如果不想创建持久的拷贝配置,那么可以使用BACKUP COPIES和SET BACKUP COPIES命令指定拷贝。
4. 配置从整个数据库备份中排除的表空间
有时可能想从日常的备份计划中忽略某个特定的表空间的备份。使用CONFIGURE命令来配置排除表空间。
以下是一些可能要考虑使用的场景:
1) 表空间很容易重建,因此重建比每天备份更合算。
2) 表空间包含临时表空间或不需要备份的测试数据
3) 表空间不经常更改和因此应该按与其它备份不同的计划表来备份。
可以运行CONFIGURE EXCLUDE FOR TABLESPACE从BACKUP DATABASE命令中排除指定的表空间。排除的条件应用到任何将来增加到这个表空间的数据文件。
例如,可以如下所示从整个数据库备份中排除测试表空间cwmlite和example:
CONFIGURE EXCLUDE FOR TABLESPACE cwmlite;
CONFIGURE EXCLUDE FOR TABLESPACE example;
如果运行以下命令,那么RMAN备份除cwmlite和example之外的所有表空间:
BACKUP DATABASE;
可以通过在BACKUP命令中明确指定它们或在BACKUP DATABASE命令中指定NOEXCLUDE选项来仍然备份配置的表空间。例如,可以使用以下的其中一个命令:
BACKUP DATABASE NOEXCLUDE; #backs up database, including cwmlite and example
BACKUP TABLESPACE cwmlite, example; # backs up only cwmlite and example
可以像如下例所示为cwmlite和example禁用排除选项:
CONFIGURE EXCLUDE FOR TABLESPACE cwmlite CLEAR;
CONFIGURE EXCLUDE FOR TABLESPACE example CLEAR;
RMAN在将来整个数据库备份中包含这些表空间。
5. 配置压缩选项
RMAN支持预压缩处理和备份集的二进制压缩。CONFIGURE COMPRESSION ALGORITHM命令让你可以配置压缩选项。
5.1.关于RMAN预压缩块处理
通过合并每个数据块的空闲空间可以获得更好的备份压缩率。这个预压缩处理阶段对于是大量删除和插入操作的主体的数据块有很大的用处。反之,它对仍然处于初始化加载状态的数据块没有效果。
选项OPTIMIZE FOR LOAD控制预压缩处理过程。通过指定缺省的OPTIMIZE FOR LOAD TRUE,确保RMAN优化CPU使用和避免预压缩块处理。通过指定OPTIMIZE FOR LOAD FALSE,RMAN使用额外的CPU资源来执行预压缩块处理。
5.2.关于RMAN支持的压缩级别
Oracle数据块提供两种类别的压缩算法:缺省的压缩算法和Oracle高级压缩选项的一组可用的压缩算法。
缺省的算法是Oracle数据库的标准特性,而Oracle高级压缩选项是一个分开的采购选项。
使用CONFIGURE命令配置缺省的压缩算法,它不要求高级的压缩选项。
以下示例为RMAN备份配置基本的压缩:
CONFIGURE COMPRESSION ALGORITHM ‘BASIC’;
如果启用了Oracle高级压缩选项,可以选择下表中列出的压缩级别。
压缩级别 | 性能好处和平衡 |
---|---|
HIGH | 最适合通过较慢的网络进行和限制因素是网络速度的备份 |
MEDIUM | 推荐在大部分环境中的备份。很好的组合了压缩率和速度。 |
LOW | 对备份吞吐量有最少的影响。 |
压缩率通常从低增长到高,平衡潜在的更多的CPU资源消耗。
因为各种压缩级别的性能取决于数据库中的数据的性质,网络配置,系统资源,计算机系统的类型和它的性能,Oracle无法记录普遍适用的性能统计数字。哪个级别更适合实际环境取决于如何平衡系统,将带宽考虑到CPU和CPU的实际速度中。强烈建议在环境中使用不同的压缩级别对数据进行测试。基于实际环境,网络流量特征(负载)和数据集选择一个压缩级别,这是唯一的方式来确保备份集压缩级别可以满足性能要求和适用的服务级别协定。
注:还原压缩的备份是内部执行的,不需要解压缩。
如果备份到磁带和磁盘设备执行它自己的压缩,那么不要同时使用RMAN备份集压缩和介质管理器的第三方压缩。
来源:《Oracle Database Backup and Recovery User’s Guide,19c》