4.3 使用技术改进备份

在Oracle Database 12c中,RMAN有多种不同的方法可让备份更小、更快、更易于管理。例如,RMAN支持备份优化。换句话说,当一个或多个文件已经被备份到指定设备(如磁盘或磁带)以后,RMAN BACKUP命令会跳过这些文件。RMAN在判断特定文件是否存在足够的备份时,会考虑保留策略和多路复用备份能力。第3章介绍过备份优化。

另一种提高增量备份性能的方法是启用“块更改跟踪”。在传统的增量备份方法中,RMAN必须检查要备份的表空间或数据文件中的每个块,查看自上次备份以来相应的块是否发生了变化。如果数据库规模很大,那么扫描数据库中的块占用的时间很可能超过执行实际备份的时间。

启用块更改跟踪后,RMAN通过使用更改跟踪文件来了解数据文件中的哪些块发生了变化。虽然每次更改块时跟踪文件都会带来微小的空间使用和维护开销,但是,如果在数据库上频繁执行增量备份,更改跟踪的优点就会胜过缺点。

一旦启用了块更改跟踪,RMAN可以执行快速增量备份。另外,数据库恢复速度将加快,因为需要应用于已还原数据文件的更改块更少。下面几节说明块更改跟踪的工作方式,说明如何启用块更改跟踪和快速增量备份,并说明如何监视数据库中块更改跟踪的工作情况。

RMAN提供了许多选项,可同时制作备份的多个副本,创建已有备份集的备份,以及跳过只读表空间的多余的备份。接下来的小节中将分别介绍这些主题,并提供相应示例。

随着数据库的增长,不可避免地会有一些极大的数据文件,对其执行完全数据库备份时,由于将这种大数据文件作为一个整体备份,因此需要的备份时间很长。在Oracle Database 11g和12c之前的RMAN版本中,使用大文件表空间有一个很大的优点和一个很大的缺点。优点是,数据库的大小比在早先的Oracle版本中大得多(多达1022个大文件表空间,每个表空间128TB)。缺点是,备份一个大文件表空间需要很长的时间,因为RMAN只能使用一个通道备份大文件表空间。一般来说,并行备份4个32TB的数据文件所用的时间要少于备份一个128TB的数据文件所用的时间。结果,一些组织(具有大量数据)的大文件表空间的大小就受到了限制。因此,RMAN支持多段备份,使极大的数据文件能够被分段并行备份。

Oracle Database 11g中新增的归档备份十分灵活,允许获取数据库的快照,并无限期或者在指定时间段内维护该快照。后面将解释归档备份的工作原理,如何执行归档备份,以及如何使用CHANGE命令管理归档备份。

最后,需要知道如何使用多种压缩算法来压缩备份。选用哪种算法取决于可用的磁盘空间,以及在压缩和解压缩备份时可以使用的CPU资源。另外,还将介绍如何使用两种不同的方法来加密备份,以保证备份数据的隐私性。