Oracle数据库联机备份
在备份模式下保护和恢复Oracle数据库需要两组数据。请注意、这不是唯一的Oracle备份选项、但最常见。
-
备份模式下数据文件的快照
-
数据文件处于备份模式时创建的归档日志
如果需要完全恢复(包括所有已提交的事务)、则需要第三项:
-
一组当前的重做日志
可以通过多种方法恢复联机备份。许多客户使用ONTAP命令行界面还原快照、然后使用Oracle RMAN或sqlplus完成恢复。在大型生产环境中、这种情况尤为常见、在这些环境中、数据库还原的概率和频率极低、任何还原操作步骤都由技能娴熟的数据库管理人员来处理。为了实现完全自动化、NetApp SnapCenter等解决方案包括一个具有命令行和图形界面的Oracle插件。
一些大型客户采用了一种更简单的方法、即在主机上配置基本脚本、以便在特定时间将数据库置于备份模式、以便为计划的快照做准备。例如、计划命令 alter database begin backup
23:58时、 alter database end backup
00:02、然后将快照直接计划在午夜在存储系统上。这样、便形成了一个简单、高度可扩展的备份策略、无需外部软件或许可证。
数据布局
最简单的布局是将数据文件隔离到一个或多个专用卷中。它们必须未受任何其他文件类型的污染。这是为了确保数据文件卷可以通过SnapRestore操作快速还原、而不会销毁重要的重做日志、控制文件或归档日志。
SAN对专用卷中的数据文件隔离具有类似要求。对于Microsoft Windows等操作系统、一个卷可能包含多个数据文件LUN、每个LUN都具有一个NTFS文件系统。对于其他操作系统、通常会有一个逻辑卷管理器。例如、对于Oracle ASM、最简单的选择是将ASM磁盘组的LUN限制为一个可作为一个单元进行备份和还原的卷。如果出于性能或容量管理原因需要更多卷、则在新卷上创建更多磁盘组可简化管理。
如果遵循这些准则、则可以直接在存储系统上计划快照、而无需执行一致性组快照。原因是Oracle备份不需要同时备份数据文件。联机备份操作步骤旨在使数据文件能够持续更新、因为它们会在数小时内缓慢流式传输到磁带。
如果使用分布在卷之间的ASM磁盘组、则会出现复杂情况。在这些情况下、必须执行cG-Snapshot、以确保ASM元数据在所有成分卷之间保持一致。
*注意:*验证ASM spfile
和 passwd
文件不在托管数据文件的磁盘组中。这会影响有选择地还原数据文件和仅还原数据文件的能力。
本地恢复过程—NFS
此操作步骤可以手动驱动、也可以通过SnapCenter等应用程序驱动。基本操作步骤如下所示:
-
关闭数据库。
-
将数据文件卷恢复到所需还原点之前的快照。
-
将归档日志重放至所需位置。
-
如果需要完全恢复、则重放当前重做日志。
此操作步骤假定所需的归档日志仍存在于活动文件系统中。否则、必须还原归档日志、或者可以将RMAN/sqlplus定向到快照目录中的数据。
此外、对于较小的数据库、最终用户可以直接从中恢复数据文件 .snapshot
目录、而无需自动化工具或存储管理员协助即可执行 snaprestore
命令:
本地恢复过程—SAN
此操作步骤可以手动驱动、也可以通过SnapCenter等应用程序驱动。基本操作步骤如下所示:
-
关闭数据库。
-
将托管数据文件的磁盘组静置。操作步骤因所选的逻辑卷管理器而异。使用ASM时、此过程需要卸载磁盘组。对于Linux、必须卸载文件系统、并且必须停用逻辑卷和卷组。目标是停止要还原的目标卷组上的所有更新。
-
将数据文件磁盘组还原到所需还原点之前的快照。
-
重新激活新还原的磁盘组。
-
将归档日志重放至所需位置。
-
如果需要完全恢复、请重放所有重做日志。
此操作步骤假定所需的归档日志仍存在于活动文件系统中。否则、必须通过使归档日志LUN脱机并执行还原来还原归档日志。这也是一个将归档日志划分为专用卷非常有用的示例。如果归档日志与重做日志共享一个卷组、则必须先将重做日志复制到其他位置、然后才能还原整个一组LUN。此步骤可防止丢失这些最终记录的事务。