为 Oracle 数据库创建备份和灾难恢复工作流

备份和灾难恢复工作流在 App Manager 中定义。备份和灾难恢复工作流会使用备份生产数据作为生成源数据。

  • 直接挂载:在应用数据无需在挂载并提供给用户之前进行清理的情况下,可以使用直接挂载。应用数据可以通过标准挂载方式挂载为仅包含数据的虚拟应用,也可以挂载为同时包含数据和虚拟应用的虚拟应用。通过直接挂载,备份数据几乎可以立即使用,而无需实际移动数据。
  • LiveClones:当应用包含必须在挂载并提供给用户之前进行清理敏感数据时,通常会在备份和灾难恢复工作流中使用 LiveClone。应用数据可以通过标准挂载方式挂载为仅包含数据的虚拟应用,也可以挂载为同时包含数据和虚拟应用的虚拟应用。您可以自动更新 LiveClone、清除和挂载,也可以按计划或按需进行更新。

将 Oracle 数据直接作为虚拟应用装载

当应用映像不包含敏感数据时,请使用直接挂载备份和灾难恢复工作流。这样,备份和灾难恢复工作流程就可以将应用的数据作为虚拟应用或仅作为应用数据挂载,而无需先定义 LiveClone,然后再对 LiveClone 进行清理。借助直接挂载,应用数据和虚拟应用几乎可立即使用。

在此示例中,您将定义一个执行以下操作的备份和灾难恢复工作流:

  • 从单个选定的正式版映像生成或更新已挂载的应用数据。
  • 定义使用最新的生产数据更新应用数据的时间安排。您还可以按需运行安排的备份和灾难恢复工作流。
  • 挂载应用数据。
  • 让您可以使用数据创建虚拟应用。

按照以下说明为 Oracle 数据库定义备份和灾难恢复工作流:

  1. 依次点击 App Manager(应用管理器)> Workflows(工作流)。

  2. 点击页面右上角的工作流

    系统随即会打开添加工作流:选择应用页面。

  3. 右键点击某个托管式数据库,然后点击下一步

  4. 添加工作流:配置页面上,为备份和灾难恢复工作流指定名称,然后选择直接挂载,并选择用于管理备份和灾难恢复工作流的设备。备份和灾难恢复工作流名称不得包含特殊字符。

  5. 选择定期,然后为时间表类型分配备份和灾难恢复工作流的运行频率。时间选择器使用 24 小时制。您还可以按需运行安排的备份和灾难恢复工作流。

  6. 来源映像直接挂载设置中,选择要运行备份和灾难恢复工作流的快照映像,并为挂载点提供可识别的标签。

  7. 主机部分,选择要将数据挂载到的服务器。运行备份和灾难恢复工作流的用户可以选择根据需要将数据挂载到其他服务器。

  8. 映射选项中,添加挂载位置。如果您未指定挂载点,备份和灾难恢复代理会选择挂载位置。

  9. 根据需要输入首选磁盘组名称

  10. 根据需要,以英文冒号分隔的 IP 地址列表形式输入 RAC 节点列表

  11. 根据需要指定预处理脚本。预处理脚本用于在挂载或卸载应用之前配置环境。此脚本必须位于托管已挂载映像的服务器上名为 /act/scripts 的文件夹中。如需了解脚本详情,请参阅 Backup and DR Workflow pre and post scripts

  12. 根据需要指定脚本。该后置脚本用于在数据挂载或卸载后对其执行操作。此脚本必须位于托管已挂载映像的服务器上名为 /act/scripts 的文件夹中。如需了解脚本详情,请参阅 Backup and DR Workflow pre and post scripts

  13. 如果您指定了脚本,请指定足够长的超时时间,以便脚本能够完成。

  14. 当您使用脚本处理已挂载的数据时,通常会使用处理后移除已挂载映像复选框。脚本完成任务后,此选项会卸载并删除虚拟应用。

  15. 在以下选项之间做出选择:

    • 如果您只需要数据,请点击完成,系统会按计划运行备份和灾难恢复工作流。具有适当访问权限的用户还可以按需运行此备份和灾难恢复工作流,以使用应用数据预配和重新预配其环境。
    • 如果您想创建虚拟应用,请继续执行以下步骤。
  16. 选中 Perform application aware mount 复选框,系统会显示用于执行应用感知挂载的应用专用选项。

  17. 在提供的空格中,输入 Oracle 相关选项。点击问号图标 ?旁边的复选框。

  18. 点击黑色箭头以打开高级选项,并根据需要完成其余选项。

  19. 勾选使用恢复功能恢复。这样一来,数据库就会处于一种状态,如果有日志可用,则可以应用这些日志,将数据库恢复到特定时间点。

  20. 至此,您可以完成以下任务:

    • 勾选保护新应用选项。这样,您就可以应用备份计划政策模板和资源配置文件,以便将虚拟应用作为新应用进行保护。如需了解详情,请参阅备份方案政策模板配置文件
    • 点击完成,Backup and DR 工作流将按计划运行。具有适当访问权限的用户还可以按需运行此备份和灾难恢复工作流,以使用虚拟应用预配和重新预配其环境。

使用 LiveClone 和遮盖工具创建经过脱敏处理的数据或虚拟应用

当生产数据包含敏感信息时,通常会使用 LiveClone 备份和灾难恢复工作流。借助 LiveClone 备份和灾难恢复工作流,您可以根据生产数据定义 LiveClone,然后在挂载 LiveClone 之前对其数据进行清理。

在以下示例中,备份和灾难恢复工作流可以执行以下操作:

  • 根据标记为敏感的所选生产映像生成新的 LiveClone 或更新现有 LiveClone。
  • 定义一个时间表,以便使用最新的生产数据更新 LiveClone。您还可以按需运行安排的备份和灾难恢复工作流。
  • 使用脚本清理敏感数据的 LiveClone。
  • 将经过去标识化处理的虚拟应用标记为非敏感应用。
  • 将经过清除的映像作为虚拟应用(应用感知型挂载)挂载到指定的主机。

按照以下说明定义此备份和灾难恢复工作流:

  1. 打开管理控制台,依次选择 App Manager(应用管理器)> Workflows(工作流)。
  2. 点击右上角的添加工作流
  3. Add Workflow: Select an Application 页面中,右键点击要从其中清除敏感数据的应用,然后选择 Next

    系统随即会打开添加工作流:配置页面。

  4. 为备份和灾难恢复工作流指定名称。Backup and DR 工作流名称不得包含特殊字符。

  5. 工作流类型中,选择 LiveClone

    系统随即会打开 LiveClone 设置

  6. 对于时间表类型,请选择定时发布按需发布。您还可以按需运行安排的备份和灾难恢复工作流。

  7. 如果您选择了按计划,请定义运行备份和灾难恢复工作流的时间安排。

    时间选择器使用 24 小时制。

  8. 对于来源映像,从生成要清除的映像的政策中选择最新的快照映像。

  9. 为 LiveClone 提供可识别的标签。

  10. 选择 LiveClone 所在的快照池。 确保分配足够的存储空间来容纳 LiveClone。

    启用挂载以进行预处理,然后在下一个屏幕中将 LiveClone 挂载到主机,然后清理已挂载的映像以查找敏感数据。

  11. 只有当所选应用被标记为包含敏感数据时,将数据标记为非敏感选项才会显示。如果应用在清除后不包含敏感数据,请选中此选项。这样,无权访问敏感数据的用户便可访问备份和灾难恢复工作流程,并预配其工作环境。

  12. 选择要将 LiveClone 挂载到的主机

  13. 如果您希望将映像挂载到默认位置以外的位置,请在映射选项中添加挂载位置。如果您未指定挂载位置,则备份和灾难恢复代理会分配一个挂载位置。

  14. 根据需要输入首选磁盘组名称

  15. 根据需要,在以英文冒号分隔的 IP 地址列表中输入 RAC 节点列表

  16. 您可以使用 Optim 数据隐私保护功能,也可以使用自己的自定义脚本:

    • 如果您使用 Optim 数据隐私保护功能,请输入服务集超时值(以分钟为单位)。
    • 如果您使用自定义脚本,请根据需要指定预处理脚本。预处理脚本用于在挂载或卸载应用之前配置环境。然后,根据需要指定脚本。此示例中的后置脚本会在敏感信息挂载后清除应用中的敏感信息。指定足够长的时间来让脚本完成。
  17. 如果您不需要虚拟应用,请点击 Add(添加),然后备份和灾难恢复工作流程将按计划运行。具有适当访问权限的用户可以按需运行此备份和灾难恢复工作流,并预配和重新预配他们有权访问的任何服务器以及应用数据。

    如果您需要此 LiveClone 的虚拟应用,请点击此处继续。

  18. 启用创建新虚拟应用,然后点击下一步。 系统会显示其他 Oracle 设置选项,以便完成该过程。

  19. 如果您希望 Backup and DR 保护该应用,请启用管理新应用。 如果您选择此选项,则必须选择要应用的政策模板和资源配置文件。

  20. 点击箭头以打开高级选项。 选中使用恢复功能恢复,以应用可用日志,将数据库恢复到特定时间点。

  21. 根据需要继续输入此数据库的 Oracle 设置。点击每个标签可获取帮助。

  22. 最后,选中完成后移除已挂载的映像复选框。当您使用脚本处理已挂载的数据时,通常会选择此选项。脚本完成任务后,此选项会卸载,您可以删除虚拟应用。

  23. 点击添加

使用备份和灾难恢复工作流刷新 Oracle 数据库架构

如果您使用的是 Oracle 12c 或更高版本,请参阅将 Oracle 12c 数据库 PDB 作为虚拟 PDB 呈现给目标上的现有数据库容器

如果您的源数据库实例包含多个应用,并且每个应用都有自己的架构,请执行以下操作:

  • 在架构级别创建和刷新虚拟副本,并将每个架构分别刷新到同一目标或不同的目标。
  • 在不同的架构下将单个架构的多个虚拟副本创建并刷新到单个目标,每个副本都有自己的刷新时间表。

此部分包括以下内容:

运作方式:使用可传输的表空间进行备份和灾难恢复虚拟复制

您可以从一个或多个源实例在单个目标 Oracle 实例下创建和刷新多个虚拟副本。

  1. 设置应用感知型挂载 Backup and DR 工作流,以使用临时实例创建应用感知型挂载。
  2. 设置要在目标实例上离线运行的预处理脚本,并在目标实例上删除要刷新的表空间。
  3. 设置要在临时实例和目标实例上运行的后续脚本。
  4. 在临时实例上,完成以下操作:
    1. 重命名表空间
    2. 将表空间更改为只读
    3. 对于 EXPDP,请导出表空间元数据。
    4. 关闭临时实例。
  5. 在目标实例上:
    1. 对于 IMPDP,请导入表空间元数据(将 TRANSPORT_DATAFILES 与重新映射架构导入目标实例
    2. 将表空间更改为读写

准备工作

请先按照以下说明操作。

  1. 确保数据库备份正在按照备份方案政策运行。
  2. 在目标服务器上设置脚本:

    1. 以 root 用户身份登录数据库服务器。运行以下命令,切换到 /act 目录并创建 /act/scripts 目录(如果不存在)。

        cd /act
        mkdir -p /act/scripts
        cd /act/scripts
      
    2. 复制 /act/act_scripts/objectrefresh/ 中的所有文件

    3. 对于目标架构名称为 testuser 的测试,将 act_<schema>_refresh.conf 移至 act_testuser_refresh.conf,其中 <schema> 为 testuser。

      其中:

      • SOURCE_SCHEMA_NAME:要向目标数据库呈现的源数据库架构。
      • TARGET_SID:目标数据库 SID,其中会刷新架构。
      • TARGET_SCHEMA_NAME:要使用源架构刷新的目标数据库架构。

创建备份和灾难恢复工作流

请按照以下说明创建备份和灾难恢复工作流,以执行架构刷新。

  1. 打开管理控制台,依次选择 App Manager > Workflows(工作流),然后选择 Add Workflow(添加工作流)。
  2. 添加工作流:选择应用列表中,右键点击要使用的相应数据库,然后点击下一步
  3. 系统会显示 Add Workflow: Configure 页面:

    • 为备份和灾难恢复工作流提供一个唯一的名称。Backup and DR 工作流名称不得包含特殊字符。
    • 选择直接挂载
    • 选择运行 Backup and DR 工作流的备份/恢复设备。
    • 播出时间表类型部分,选择点播
    • 选择来源映像,即最新的快照或来自生产环境的最新快照。
    • 挂载标签中,提供一个唯一标识符,以便在查看有效挂载时从此备份和灾难恢复工作流中识别挂载。
    • 主机列表中选择目标主机
  4. 映射选项中,完成以下操作:

    • 输入已装载驱动器的位置,例如M:、D:\testdb1 或 /oracledata/db1data(如果临时副本将位于非 ASM 上)。
    • 添加首选磁盘组名称
    • 对于 RAC 节点列表,请输入以英文冒号分隔的 IP 地址列表。
  5. 填写预脚本字段: act_ttswfpre.sh actSCHEMArefresh.conf 其中 actSCHEMA_refresh.conf 是通过第 1 步创建的文件。

  6. 填写“post-script”字段: ttswfpost.sh actSCHEMArefresh.conf 其中 actSCHEMA_refresh.conf 是通过第 1 步创建的文件。

  7. 输入 1800 秒或更长的超时值。

  8. 选择创建新的虚拟应用

  9. 填写目标数据库 SID(这是一个临时 SID)。

  10. 提供目标机器上 Oracle 软件二进制文件的所有者操作系统用户名

  11. 提供配置文件中指定的 ORACLE_HOME

  12. 点击箭头打开高级选项。在目标计算机上提供 TNS ADMIN Directory Path,并为临时实例指定 SGA% 下限。点击字段标签可获取帮助。

  13. 选择独立非 RAC

  14. 点击添加

运行备份和灾难恢复工作流

创建备份和灾难恢复工作流程后,请按照以下步骤运行该工作流程。

  1. 右键点击“Backup and DR Workflow”(备份和灾难恢复工作流),然后点击 Run Now(立即运行)。
  2. 选择立即启动定时工作流,然后点击提交

    您可以在目标主机上的以下位置监控日志:/var/act/log

  3. 当备份和灾难恢复工作流显示成功状态时,目标数据库上的架构会刷新。

    1. 如果目标数据库中不存在 TARGET_SCHEMA_NAME,则备份和灾难恢复功能会首次创建用户,默认用户密码为 abc#1234。
    2. 目标数据库中刷新的架构的表空间会以架构名称作为前缀显示给目标:(Schema)_(Source_Tablespace_Name)

卸载已挂载的映像

请按照以下说明卸载已挂载的映像。

  1. 在目标数据库上删除表空间和数据文件。

    ```sql
    SQL>alter tablespace <TBS_NAME> offline immediate;
    SQL>drop tablespace <TBS_NAME> including contents and datafiles;
    ```
    
  2. 依次打开应用管理器 > 活跃装载页面。右键点击要卸载的映像,然后依次选择卸载并删除提交作业。

将 Oracle 12c 或更高版本的数据库 PDB 作为虚拟 PDB 呈现给目标上的现有数据库容器

如果您使用的是低于 12c 的 Oracle 版本,请参阅使用备份和灾难恢复工作流刷新 Oracle 数据库架构

例如,您有一个包含多个应用的源数据库实例,并且每个应用都有自己的 PDB。您可以在架构级创建和刷新虚拟副本,并将每个 PDB 分别刷新到同一目标或不同的目标。请按以下步骤操作。

准备工作

开始之前,请在目标服务器上设置脚本:

  1. 从 /act/act_scripts/pdbrefresh 获取脚本 ZIP 文件。
  2. 以 root 用户身份登录数据库服务器。
  3. 前往 /act 并创建 /act/scripts 目录(如果不存在):

    cd /act
    mkdir -p /act/scripts
    cd /act/scripts
    
  4. 提取文件。

  5. 将脚本文件复制到 /act/scripts:

    cp /act/act_scripts/pdbrefresh/act_pdbclone_pre.sh /act/scripts/
    cp /act/act_scripts/pdbrefresh/act_pdbclone_post.sh /act/scripts/
    

创建 Backup and DR 工作流以执行 PDB 克隆作业

  1. App Manager 工作流页面中,点击添加工作流
  2. 右键点击 Oracle 数据库,然后选择下一步
  3. 为备份和灾难恢复工作流输入名称,然后选择直接挂载按需

  4. 选中“目标主机”复选框。

  5. 如果临时副本将位于非 ASM 上,请在映射选项下,选择指定挂载位置作为挂载操作,然后提供挂载位置。

  6. 填写 pre-script 字段和 post-script 字段: act_pdbclonepre.sh "TARGET_DB_SIDSOURCE_PDB_NAME-TARGET_PDB_NAME" act_pdbclonepost.sh "TARGET_DB_SIDSOURCE_PDB_NAME-TARGET_PDB_NAME" 其中: TARGET_DB_SID = 应附加 PDB 的目标数据库 SID SOURCE_PDB_NAME = 需要附加到目标容器的源 PDB 名称。 TARGET_PDB_NAME = 要重命名为源代码的目标 PDB 名称。

  7. 将这两个脚本的超时设置为 18000。

  8. 选择创建新的虚拟应用

  9. 填写目标数据库 SID,这是 act_pdb_config.conf 文件中定义的临时 SID。

  10. 提供目标计算机上拥有 Oracle 软件二进制文件的操作系统用户名。

  11. 提供配置文件中指定的 ORACLE_HOME。

  12. 点击箭头打开高级选项。在目标机器上提供 TNS ADMIN Directory,并为临时实例指定 SGA 下限。

  13. 选择独立非 RAC

  14. 点击页面底部的添加

运行备份和灾难恢复工作流

创建备份和灾难恢复工作流后,请按照以下说明运行该工作流。

  1. 依次点击 App Manager(应用管理器)> Workflows(工作流),然后右键点击“Backup and DR Workflow”(备份和灾难恢复工作流),然后点击 Run Now(立即运行)。
  2. 选择预配新的虚拟应用,填写详细信息,然后点击提交
  3. 您可以在目标主机上的 /var/act/log 位置监控日志。

    备份和灾难恢复工作流达到成功状态后,系统会克隆目标数据库上的 PDB。

    如果必须使用最新或旧版源数据再次刷新目标 PDB,请点击“备份和灾难恢复工作流”的立即运行按钮,选择刷新现有虚拟应用,然后点击完成

卸载已挂载的映像

请按照以下说明卸载所有已挂载的映像:

  1. 恢复标签页中,选择要卸载的映像。
  2. 在目标数据库上删除可插拔数据库和数据文件。

    SQL>alter pluggable database <PDB_NAME> close immediate;
    SQL>drop pluggable database <PDB_NAME> including datafiles;
    

    或者,执行预处理脚本:

    cd /act/scripts
    ./ act_pdbclone_pre.sh
    
  3. 依次点击 App Manager > Active Mounts 列表,右键点击要卸载的映像,然后选择 Unmount and Delete,最后提交作业。

Oracle DBA 指南