为 Oracle 数据库定义还原和恢复策略
您必须在还原和恢复数据库之前定义策略,以便成功执行还原和恢复操作。
还原和恢复操作支持的备份类型
SnapCenter 支持还原和恢复不同类型的 Oracle 数据库备份。
-
联机数据备份
-
脱机关闭数据备份
-
脱机挂载数据备份
如果要还原脱机关闭或脱机挂载数据备份, SnapCenter 会使数据库处于脱机状态。您应手动恢复数据库并重置日志。 -
完整备份
-
脱机挂载 Data Guard 备用数据库的备份
-
Active Data Guard 备用数据库的纯数据联机备份
您无法恢复 Active Data Guard 备用数据库。 -
实时应用程序集群( RAC )配置中的联机数据备份,联机完整备份,脱机挂载备份和脱机关闭备份
-
自动存储管理( Automatic Storage Management , ASM )配置中的联机数据备份,联机完整备份,脱机挂载备份和脱机关闭备份
Oracle 数据库支持的还原方法类型
SnapCenter 支持对 Oracle 数据库进行连接和复制或原位还原。在还原操作期间, SnapCenter 会确定适用于在不丢失任何数据的情况下用于还原的文件系统的还原方法。
SnapCenter 不支持基于卷的 SnapRestore 。 |
连接和复制还原
如果数据库布局与备份不同,或者创建备份后有任何新文件,则会执行连接和复制还原。在连接和复制还原方法中,将执行以下任务:
-
步骤 *
-
此卷会从 Snapshot 副本克隆,而文件系统堆栈是在使用克隆的 LUN 或卷的主机上构建的。
-
这些文件将从克隆的文件系统复制到原始文件系统。
-
然后,克隆的文件系统将从主机中卸载,克隆的卷将从 ONTAP 中删除。
-
对于 FlexASM 设置(基数小于 RAC 集群中的节点数)或 VMDK 或 RDM 上的 ASM RAC 数据库,仅支持连接和复制还原方法。 |
即使您已强制启用原位还原, SnapCenter 也会在以下情况下执行连接和副本还原:
-
如果 Data ONTAP 早于 8.3 ,则从二级存储系统还原
-
还原 Oracle RAC 设置中未配置数据库实例的节点上的 ASM 磁盘组
-
在 Oracle RAC 设置中,如果 ASM 实例或集群实例未运行或对等节点已关闭,则在任何对等节点上
-
仅还原控制文件
-
还原驻留在 ASM 磁盘组上的部分表空间
-
磁盘组在数据文件, sp 文件和密码文件之间共享
-
在 RAC 环境中,远程节点上未安装或未运行 SnapCenter 插件加载程序( SPL )服务
-
新节点已添加到 Oracle RAC 中, SnapCenter 服务器无法识别新添加的节点
原位还原
如果数据库布局与备份类似,并且存储和数据库堆栈上未进行任何配置更改,则会执行原位还原,其中会在 ONTAP 上执行文件或 LUN 还原。SnapCenter 仅支持在原位还原方法中使用单个文件 SnapRestore ( SFSR )。
Data ONTAP 8.3 或更高版本支持从二级位置原位还原。 |
如果要对数据库执行原位还原,请确保 ASM 磁盘组上只有数据文件。在对 ASM 磁盘组或数据库的物理结构进行任何更改后,您必须创建备份。执行原位还原后,磁盘组将包含与备份时相同数量的数据文件。
如果磁盘组或挂载点符合以下条件,则会自动应用原位还原:
-
备份后未添加新数据文件(外部文件检查)
-
备份后不添加,删除或重新创建 ASM 磁盘或 LUN ( ASM 磁盘组结构更改检查)
-
不向 LVM 磁盘组添加,删除或重新创建 LUN ( LVM 磁盘组结构更改检查)
您还可以使用 GUI , SnapCenter 命令行界面或 PowerShell cmdlet 强制启用原位还原,以覆盖外部文件检查和 LVM 磁盘组结构更改检查。 |
在 ASM RAC 上执行原位还原
在 SnapCenter 中,执行还原的节点称为主节点, ASM 磁盘组所在 RAC 的所有其他节点称为对等节点。在执行存储还原操作之前, SnapCenter 会将 ASM 磁盘组的状态更改为在 ASM 磁盘组处于挂载状态的所有节点上卸载。存储还原完成后, SnapCenter 会更改 ASM 磁盘组的状态,就像还原操作之前一样。
在 SAN 环境中, SnapCenter 会从所有对等节点中删除设备,并在执行存储还原操作之前执行 LUN 取消映射操作。执行存储还原操作后, SnapCenter 将执行 LUN 映射操作并在所有对等节点上构建设备。在 SAN 环境中,如果 Oracle RAC ASM 布局驻留在 LUN 上,则在还原 SnapCenter 时,会对 ASM 磁盘组所在的 RAC 集群的所有节点执行 LUN 取消映射, LUN 还原和 LUN 映射操作。在还原之前,即使 RAC 节点的所有启动程序未用于 LUN ,还原 SnapCenter 之后,也会使用所有 RAC 节点的所有启动程序创建一个新的 iGroup 。
-
如果对等节点上的预存储活动期间发生任何故障, SnapCenter 会自动回滚 ASM 磁盘组状态,就像在已成功执行预存储操作的对等节点上执行还原之前一样。操作失败的主节点和对等节点不支持回滚。在尝试另一个还原之前,您必须手动修复对等节点上的问题描述,并将主节点上的 ASM 磁盘组恢复为挂载状态。
-
如果还原活动期间发生任何故障,则还原操作将失败,并且不会执行回滚。在尝试其他还原之前,您必须手动修复存储还原问题描述并将主节点上的 ASM 磁盘组恢复为挂载状态。
-
如果在任何对等节点的还原后活动期间发生任何故障, SnapCenter 将继续在其他对等节点上执行还原操作。您必须在对等节点上手动修复还原后问题描述。
Oracle 数据库支持的还原操作类型
通过 SnapCenter ,您可以对 Oracle 数据库执行不同类型的还原操作。
在还原数据库之前,系统会验证备份,以确定与实际数据库文件相比是否缺少任何文件。
完全还原
-
仅还原数据文件
-
仅还原控制文件
-
还原数据文件和控制文件
-
还原 Data Guard 备用数据库和 Active Data Guard 备用数据库中的数据文件,控制文件和重做日志文件
部分还原
-
仅还原选定表空间
-
仅还原选定的可插拔数据库( PDB )
-
仅还原 PDB 的选定表空间
Oracle 数据库支持的恢复操作类型
通过 SnapCenter ,您可以对 Oracle 数据库执行不同类型的恢复操作。
-
数据库直到最后一个事务(所有日志)
-
数据库,最多为特定系统更改编号( SCN )
-
数据库,直到指定日期和时间
您必须根据数据库主机的时区指定恢复的日期和时间。
SnapCenter 还为 Oracle 数据库提供了 " 无恢复 " 选项。
如果您使用以数据库角色为备用角色创建的备份进行还原,则适用于 Oracle 数据库的插件不支持恢复。您必须始终对物理备用数据库执行手动恢复。 |
与还原和恢复 Oracle 数据库相关的限制
在执行还原和恢复操作之前,您必须了解这些限制。
如果您使用的 Oracle 版本从 11.2.0.4 到 12.1.0.1 ,则在运行 renamedg 命令时,还原操作将处于挂起状态。您可以应用 Oracle 修补程序 19544733 来修复此问题描述。
不支持以下还原和恢复操作:
-
还原和恢复根容器数据库( CDB )的表空间
-
还原与 PDB 关联的临时表空间和临时表空间
-
同时从多个 PDB 还原和恢复表空间
-
还原日志备份
-
将备份还原到其他位置
-
在除 Data Guard 备用数据库或 Active Data Guard 备用数据库以外的任何配置中还原重做日志文件
-
还原 SPFILE 和密码文件
-
如果对使用同一主机上原有数据库名称重新创建的数据库执行还原操作,该数据库由 SnapCenter 管理并具有有效的备份,则还原操作将覆盖新创建的数据库文件,即使数据库 ID 不同也是如此。
可以通过执行以下任一操作来避免这种情况:
-
重新创建数据库后发现 SnapCenter 资源
-
为重新创建的数据库创建备份
-
与表空间的时间点恢复相关的限制
-
不支持系统, SYSAUX 和撤消表空间的时间点恢复( PITR )
-
表空间的 PITR 不能与其他类型的还原一起执行
-
如果已重命名表空间,而您希望将其恢复到重命名之前的某个位置,则应指定该表空间的早期名称
-
如果一个表空间中的表约束包含在另一个表空间中,则应同时恢复这两个表空间
-
如果表及其索引存储在不同的表空间中,则应先删除这些索引,然后再执行 PITR
-
PITR 不能用于恢复当前默认表空间
-
不能使用 PITR 恢复包含以下任何对象的表空间:
-
包含底层对象(如具体化视图)或包含对象(如分区表)的对象,除非所有底层或包含的对象都位于恢复集中
此外,如果分区表的分区存储在不同的表空间中,则应在执行 PITR 之前丢弃该表,或者在执行 PITR 之前将所有分区移动到同一个表空间。
-
撤消或回滚区块
-
与多个收件人兼容的 Oracle 8 高级队列
-
SYS 用户拥有的对象
此类对象的示例包括 PL/SQL , Java 类,标注程序,视图,同义词, 用户,权限,维度,目录和序列。
-
用于还原 Oracle 数据库的源和目标
您可以从主存储或二级存储上的备份副本还原 Oracle 数据库。您只能将数据库还原到同一数据库实例上的同一位置。但是,在 Real Application Cluster ( RAC )设置中,您可以将数据库还原到其他节点。
用于还原操作的源
您可以从主存储或二级存储上的备份还原数据库。如果要从多镜像配置中二级存储上的备份进行还原,则可以选择二级存储镜像作为源。
还原操作的目标
您只能将数据库还原到同一数据库实例上的同一位置。
在 RAC 设置中,您可以从集群中的任何节点还原 RAC 数据库。