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

Backup and DR 工作流在应用管理器中定义。Backup and DR 工作流使用备份生产数据作为生成来源数据。

  • 直接装载:当应用数据在装载并提供给用户之前无需清理时,使用直接装载。应用数据可以采用标准挂载方式挂载为仅数据、虚拟应用,或同时挂载为数据和虚拟应用。 直接装载可使备份数据几乎立即可用,而无需实际移动数据。
  • LiveClones:当应用包含敏感数据时,通常会在备份和灾难恢复工作流中使用 LiveClone,以便在装载应用并向用户提供应用之前清除敏感数据。应用数据可以采用标准挂载方式挂载为仅包含数据或仅包含虚拟应用,也可以同时包含数据和虚拟应用。LiveClone、清理和装载的更新可以自动完成,无论是按时间表还是按需进行。

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

如果应用映像不包含敏感数据,则使用直接挂载备份和灾难恢复工作流。这样一来,备份和灾难恢复工作流便可将应用的数据装载为虚拟应用或仅装载为应用数据,而无需先定义 LiveClone,然后再清理 LiveClone。直连装载可让应用数据和虚拟应用几乎立即可用。

在此示例中,您将定义一个 Backup and DR 工作流,该工作流将执行以下操作:

  • 从单个选定的正式版映像生成或更新已挂载的应用数据。
  • 定义使用最新生产数据更新应用数据的时间安排。预定的 Backup and DR 工作流也可以按需运行。
  • 装载应用数据。
  • 让您使用数据创建虚拟应用。

按照以下说明为 Oracle 数据库定义 Backup and DR 工作流:

  1. 在备份和灾难恢复服务管理控制台中,依次点击应用管理器 > 工作流

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

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

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

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

  5. 选择已安排,然后为备份和 DR 工作流分配运行频率(时间表类型)。时间选择器采用 24 小时制。预定的 Backup and DR 工作流也可以按需运行。

  6. 源映像直接挂载设置中,选择要运行 Backup and DR 工作流的快照映像,并为挂载提供可识别的标签。

  7. 主机部分,选择数据所挂载到的服务器。运行 Backup and DR 工作流的用户可以选择根据需要将数据装载到其他服务器。

  8. 映射选项中,添加挂载位置。如果您未指定装载点,Backup and DR 代理会选择一个装载位置。

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

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

  11. 根据需要指定预脚本。预脚本用于在挂载或卸载应用之前配置环境。此脚本必须位于装载映像所托管的服务器上名为 /act/scripts 的文件夹中。如需了解脚本编写详情,请参阅备份和 DR 工作流的脚本(前脚本和后脚本)

  12. 根据需要指定 Post Script。后脚本用于在数据装载或卸载后对数据执行操作。此脚本必须位于装载映像所托管的服务器上名为 /act/scripts 的文件夹中。如需了解脚本编写详情,请参阅备份和 DR 工作流的脚本(前脚本和后脚本)

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

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

  15. 从以下选项中进行选择:

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

  17. 在提供的空白处,输入与 Oracle 相关的选项。点击问号 ?旁边的相应选项。

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

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

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

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

使用 LiveClone 和遮盖工具创建清理后的数据或虚拟应用

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

在以下示例中,Backup and DR 工作流可以执行以下操作:

  • 从标记为敏感的所选生产映像生成新的 LiveClone 或更新现有 LiveClone。
  • 定义一个时间表,用于使用最新的生产数据更新 LiveClone。预定的 Backup and DR 工作流也可以按需运行。
  • 使用脚本清理 LiveClone 中的敏感数据。
  • 将清理后的虚拟应用标记为非敏感。
  • 将清理后的映像作为虚拟应用(应用感知型装载)装载到指定主机。

按照以下说明定义此 Backup and DR 工作流:

  1. 打开管理控制台,依次选择应用管理器 > 工作流
  2. 点击右上角的 Add Workflow
  3. 添加工作流:选择应用页面中,右键点击要清除敏感数据的应用,然后选择下一步

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

  4. 为 Backup and DR 工作流指定名称。Backup and DR 工作流名称不得包含特殊字符。

  5. 对于工作流类型,选择 LiveClone

    系统会打开 LiveClone 设置

  6. 安排类型部分,选择已安排按需。 预定的 Backup and DR 工作流也可以按需运行。

  7. 如果您选择了已安排,请定义运行 Backup and DR 工作流的时间表。

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

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

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

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

    启用装载以进行预处理,然后您可以在以下界面中将 LiveClone 装载到主机,然后清除装载的映像中的敏感数据。

  11. 只有当所选应用被标记为包含敏感数据时,才会显示将数据标记为非敏感数据选项。如果应用在清理后不包含敏感数据,请选中此选项。 这样,无法访问敏感数据的用户也能访问 Backup and DR Workflow 并配置其工作环境。

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

  13. 映射选项中,如果您希望将映像装载到非默认位置,请添加装载位置。如果您未指定装载位置,Backup and DR 代理会分配一个装载位置。

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

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

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

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

    如果您需要此 LiveClone 的虚拟应用,请继续操作。

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

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

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

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

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

  23. 点击添加

使用 Backup and DR 工作流刷新 Oracle 数据库架构

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

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

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

本部分包含以下内容:

工作原理:使用可传输表空间的 Backup and DR 虚拟副本

您可以在单个目标 Oracle 实例下创建和刷新多个虚拟副本,这些副本可以来自同一源实例,也可以来自多个源实例。

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

准备工作

在开始之前,请按照以下说明操作。

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

    1. 以根用户身份登录数据库服务器。运行以下命令,将目录更改为 /act 并创建 /act/scripts 目录(如果该目录不存在)。

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

    3. act_<schema>_refresh.conf 移至 act_testuser_refresh.conf,以实现目标架构名称为 testuser(其中 <schema> 为 testuser)。

      其中:

      • SOURCE_SCHEMA_NAME:要呈现给目标系统的源数据库架构。
      • TARGET_SID:目标数据库 SID,用于刷新架构。
      • TARGET_SCHEMA_NAME:要使用源架构刷新的目标数据库架构。

创建 Backup and DR 工作流

按照以下说明创建 Backup and DR 工作流以执行架构刷新。

  1. 依次打开管理控制台中的应用管理器 > 工作流,然后选择添加工作流
  2. 添加工作流:选择应用列表中,右键点击要使用的数据库,然后点击下一步
  3. 系统会显示添加工作流:配置页面:

    • 为 Backup and DR 工作流提供一个唯一的名称。Backup and DR 工作流名称不得包含特殊字符。
    • 选择直接装载
    • 选择运行 Backup and DR 工作流的备份/恢复设备。
    • 对于安排类型,选择按需
    • 选择来源映像,可以是最新快照,也可以是正式版中的最新 snap。
    • 装载标签中,提供一个唯一标识符,以便在查看有效装载时,帮助您识别来自此 Backup and DR 工作流的装载。
    • 主机列表中选择目标主机
  4. 映射选项中,完成以下操作:

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

  6. 填写后处理脚本字段: ttswfpost.sh actSCHEMArefresh.conf 其中 actSCHEMA_refresh.conf 是根据第 1 步创建的文件。

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

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

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

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

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

  12. 点击箭头,打开高级选项。在目标机器上提供 TNS ADMIN 目录路径,并指定临时实例的最小 SGA%。点击字段标签可获取帮助。

  13. 选择独立非 RAC

  14. 点击添加

运行 Backup and DR 工作流

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

  1. 右键点击“Backup and DR Workflow”,然后点击立即运行
  2. 选择 Initiate Scheduled Workflow Now,然后点击 Submit

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

  3. 当“Backup and DR 工作流”显示成功状态时,目标数据库上的架构会刷新。

    1. 如果目标数据库中不存在 TARGET_SCHEMA_NAME,Backup and DR 会首次创建用户,默认用户密码为 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. 以根用户身份登录数据库服务器。
  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. 应用管理器工作流页面中,点击添加工作流
  2. 右键点击 Oracle 数据库,然后选择下一步
  3. 输入 Backup and DR 工作流的名称,然后选择直接挂载按需

  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 目录,并指定临时实例的最小 SGA。

  13. 选择独立非 RAC

  14. 点击页面底部的添加

运行 Backup and DR 工作流

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

  1. 依次点击应用管理器 > 工作流,然后右键点击“备份和 DR 工作流”,并点击立即运行
  2. 选择 Provision New Virtual Application,填写详细信息,然后点击 Submit
  3. 可以在目标主机上的 /var/act/log 中监控日志。

    当 Backup and DR 工作流达到成功状态时,系统会克隆目标数据库上的 PDB。

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

卸载已装载的映像

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

  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. 依次点击应用管理器 > 有效装载列表,右键点击要卸载的映像,然后选择卸载并删除,接着提交作业。

Oracle DBA 指南