Exadata快照 概述
传统上,要在生产系统中克隆数据库,您需要在非 Exadata 系统上创建测试主数据库和快照数据库(图 9-1)。在某些情况下,这些数据库是完整副本,其消耗的存储空间与源数据库一样多(图 9-2)。
如果克隆是生产数据库的完整副本,那么从存储消耗量和创建克隆所需的时间来看,这非常昂贵。想象一下为一个多 TB 的数据库创建十个克隆,很容易看出为什么这种方法无法扩展。
这种方法的另一个缺点是,Oracle Exadata 系统软件的功能(例如智能扫描、智能日志记录和智能闪存)在非 Exadata 系统上不可用。
为了解决这些问题,您可以使用Exadata Snapshot。Exadata Snapshot非常适合创建节省空间的 Oracle 数据库只读或读写克隆,可用于开发、测试或其他非生产用途,以及在因节省磁盘空间和时间而需要多个克隆时。下图描述了Exadata Snapshot所需的空间。
笔记:
Exadata Snapshot仅应用于开发和测试目的。不应在生产环境中使用。
Exadata 快照基于测试主数据库,它是源数据库的完整克隆。测试主数据库是源数据库的唯一完整副本。从单个测试主数据库,您可以创建多个Exadata 快照,同时只需最少的额外存储空间和最少的工作量。每个Exadata 快照仅使用测试主数据库所需磁盘空间的一小部分,并且可以在几秒钟内创建或删除。每个Exadata 快照都是测试主数据库的逻辑副本。
在从测试主服务器创建Exadata 快照之前,您可以根据需要修改测试主服务器中的数据。例如,您可以在将测试主服务器中的敏感数据提供给非特权用户之前删除或屏蔽这些数据。
从测试主服务器创建Exadata 快照非常简单,只需在子文件头中记录父文件名即可,此操作可在几秒钟内完成,并且所需的磁盘空间极小。只有当快照用户开始更改数据时,才会占用额外的磁盘空间。只有新数据才会写入在写入时分配给快照的数据块。所有对未更改数据的请求都由测试主服务器的数据块提供服务。
多个用户可以从同一个测试主服务器创建独立的快照。这使得多个开发和测试环境可以共享空间,同时为每个用户维护独立的数据库。下图显示了一个 Exadata 环境,其中有三个Exadata Snapshot使用同一个测试主服务器。
分层和读写快照
Oracle Exadata 系统软件版本 12.2.1.1.0 引入了分层和读写快照。分层快照使您能够从快照创建快照。如果您正在处理快照并希望在对其进行其他更改之前保存一份副本,则可能需要执行此操作。在分层快照中,您可以在测试主服务器的任何级别创建快照。Exadata快照是可写的。快照指向父级的数据块。如果您编辑快照,则快照将指向新数据。对于未更改的数据,它将指向父级的块。
如果您从快照拍摄了快照,并且编辑了父快照,则必须删除所有依赖于该快照的快照。
- Exadata 快照概念创建和使用Exadata 快照
时需要各种对象。 - Exadata 快照支持 Exadata 功能
除了节省空间和时间之外,Exadata 快照还在Oracle Exadata上提供经济高效的开发、质量保证和测试环境。 - 分离测试/开发和生产环境
Oracle 建议将测试和开发环境托管在与托管生产数据库的机架 不同的物理Oracle Exadata 机架上。 - Exadata 快照的类型
您可以创建两种类型的Exadata 快照,具体取决于您环境的当前设置。 - 分层快照数据库
分层快照使您能够从其他快照数据库创建快照数据库。 - 稀疏测试主控
通过引入分层快照,您现在可以创建稀疏测试主控。
Exadata 快照概念
创建和使用Exadata Snapshot时需要各种对象。
- 稀疏网格磁盘
稀疏网格磁盘具有虚拟大小属性和物理大小。 - 稀疏磁盘组
Exadata Snapshot利用Oracle ASM稀疏磁盘组。 - 稀疏数据库和稀疏文件
在稀疏数据库(例如Exadata Snapshot数据库)中,其数据文件是稀疏文件。
稀疏网格磁盘
稀疏网格磁盘具有虚拟大小属性和物理大小。
稀疏Oracle ASM磁盘组由稀疏网格磁盘组成。
单个单元磁盘可分配给稀疏网格磁盘的最大物理大小为 4 TB。允许的最大虚拟大小为 100 TB。
在创建稀疏Oracle ASM磁盘组之前,请先创建稀疏网格磁盘。如果您要部署新系统或重新部署现有系统,请从每个单元磁盘中留出一些空间供磁盘组使用,就像您对任何其他磁盘组所做的那样。
如果您想要使用现有系统而不重新映像,请参阅My Oracle Support说明 1467056.1,了解有关调整现有网格磁盘大小的说明。
稀疏磁盘组
Exadata Snapshot利用Oracle ASM稀疏磁盘组。
稀疏数据文件只能在Oracle Automatic Storage Management(Oracle ASM)稀疏磁盘组中创建。下图显示了一个包含三个Exadata Snapshot的稀疏磁盘组。
稀疏磁盘组具有以下属性:
compatible.asm必须设置为12.1.0.2或更高。compatible.rdbms必须设置为12.1.0.2或更高。cell.smart_scan_capable必须设置为true。cell.sparse_dg必须设置为。此属性向Oracle ASMallsparse标识磁盘组由稀疏网格磁盘组成。- 与 Exadata 上的所有Oracle ASM磁盘组一样,建议的分配单元 (AU) 大小为
4M。
例如,以下 SQL 命令创建稀疏磁盘组:
SQL> CREATE DISKGROUP SPARSE NORMAL REDUNDANCY DISK 'o/*/SPARSE_*' ATTRIBUTE 'compatible.asm' = '12.1.0.2', 'compatible.rdbms' = '12.1.0.2', 'cell.smart_scan_capable' = 'true', 'cell.sparse_dg' = 'allsparse', 'au_size' = '4M';
稀疏Oracle ASM磁盘组可以存储稀疏文件和非稀疏文件,因此可以将测试主数据库和Exadata Snapshot存储在同一个磁盘组中。但是,由于稀疏网格磁盘的大小有限(单元磁盘上的最大大小为 4 TB),并且将非稀疏文件放在稀疏磁盘组中没有任何好处,因此您应该在稀疏磁盘组中为与Exadata Snapshot关联的稀疏文件保留空间,并将测试主数据库放在常规(非稀疏)磁盘组中。
稀疏数据库和稀疏文件
在稀疏数据库(例如Exadata Snapshot数据库)中,其数据文件是稀疏文件。
数据库由以下文件组成:
- 控制文件
- 联机重做日志
- 临时文件
- 数据文件
稀疏文件仅包含对父文件的块所做的更改(父文件保持不变)并维护指向父文件的指针以访问未更改的数据。
Exadata Snapshot拥有其他数据库文件(控制文件、在线重做日志和临时文件)的副本。这些其他数据库文件不是稀疏文件。









