恢复和恢复 SAP HANA 横向扩容实例

本页介绍了如何从 Backup and DR Service 备份恢复 SAP HANA 横向扩容实例。

许可要求和对恢复的影响

  • SAP HANA 数据库的许可密钥基于系统 ID 和硬件 ID。恢复后,如果 SID 或硬件 ID 发生变化,SAP HANA 许可密钥将失效。
  • 在恢复过程中,如果用于恢复的备份具有有效的永久许可,系统会自动安装临时许可密钥。您最多可以使用自动安装的临时许可 90 天。在此期间,您需要向 SAP 申请将许可从源数据库转移到新的许可密钥。然后,您需要在新恢复的 SAP HANA 数据库中安装新的许可密钥。
  • 如果用于恢复的数据库备份仅具有临时许可,则数据库会在恢复后立即进入锁定模式。

使用临时许可的源数据库 这些是使用临时许可创建的备份。

  • 恢复到源代码。:从数据库创建之日起 90 天,且数据库处于锁定模式。
  • 恢复到新目标。由于 SAP 临时许可不允许恢复到新目标,因此会失败。

使用永久许可的来源数据库 这些是使用永久许可创建的备份。

  • 恢复为源代码。没问题。
  • 恢复到新目标平台。此目标平台提供 90 天的试用许可。备份成功,但无法使用备份进行恢复。

SAP 参考文档

预检检查

在恢复过程中,系统会通过预检检查来验证恢复。系统会检查以下必需的前提条件,以确保数据库成功恢复:

  • HANA SID:在目标节点上配置 HANA,使用相同的 HANA SID 名称。
  • 配置文件:配置文件 global.ini 配置正确
  • 日志备份路径:日志备份路径在 global.ini 下设置
  • BACKINT 配置
    • 从卷级映像:未为此数据库配置 Backint。
    • 从完整映像和增量映像恢复:如果目标服务器尚未配置 backint,则系统会在恢复期间配置 backint。
  • HANA 版本:目标 HANA 版本与源 HANA 版本相同。
  • USERSTOREKEY:提供目标端上存在的用户存储区密钥,或者指定备份时存在的有效特权用户名和密码。
  • 逻辑卷
    • 源节点和目标节点上的逻辑卷名称和卷组名称应相同。
    • 目标上的逻辑卷大小应与源逻辑卷相同或更大。
  • 节点状态
    • 纵向扩容和独立配置:目标节点已启动且可用
    • HANA HA (1+n) 配置:需要先停用复制,然后才能启动恢复。恢复后需要重新配置复制。将应用恢复到 HANA HA (1+n) 集群的任何节点都会在所选目标主机上创建一个独立应用。用户必须根据需要明确重新配置集群,并适当地发现应用

自动恢复 SAP HANA 数据库

准备工作

从卷级备份映像恢复到新映像

将 HANA 数据库从卷级备份映像自动恢复到新目标

  1. App Manager Applications 列表中,右键点击数据库,然后选择 Access
  2. 选择要恢复的最新快照,然后选择恢复
  3. 恢复页面上,选择恢复到新目标

    • 目标。对于所有配置,下拉菜单中都会显示符合条件的 HANA 节点供您选择。从下拉菜单中选择要恢复的节点。
    • 替换原始应用 ID。只有在将备份恢复到原始生成备份的同一设备上的新主机时,此选项才可用。

      • 是。这将替换原始应用,并具有与原始应用相同的应用 ID、作业历史记录、备份映像和备份计划。
      • 不会。这不会取代原始申请。系统会在恢复作业中将其发现为新应用。
    • 滚动时间。选择要恢复到哪个日期和时间点,以恢复使用日志保护的数据库。
    • 目标数据库 SID。系统会预先填充受保护数据库的 sid 名称,且该值不可变。
    • SAP DB USER STORE-KEY。系统会在备份期间预先填充用户存储空间密钥。您可以使用备份期间可用的特权用户名和密码指定新的用户存储区密钥。系统将创建此新的用户存储空间密钥,并将其用于恢复。

    • 如果用户名和密码随现有用户存储空间密钥一起提供,系统会使用此用户名和密码重新创建用户存储空间密钥。只有在 systemdb 恢复后,系统才会进行验证。如果用户名或密码无效,或者不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。

    • 如果指定了包含用户名和密码的新用户存储区密钥,系统将使用指定的用户存储区密钥名称、用户名和密码创建用户存储区密钥。只有在 systemdb 恢复后,系统才会进行验证。如果用户名或密码无效、不具有正确的权限,或者不在备份映像中,租户恢复可能会失败。

    • 如果未传递 userstorekey、用户名和密码,则在预检查期间,系统会进行验证,以检查备份期间使用的 userstorekey 是否存在于目标服务器上。如果找不到备份期间使用的 userstorekey,则预检查将失败。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。

    • 如果未传递 userstorekey,但提供了用户名和密码,系统将使用在目标服务器上传递的凭据重新创建备份期间使用的 userstorekey。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。

  4. 点击预检检查。

  • 如果预检检查失败,请解决问题并重新提交预检检查
  • 如果预检检查成功,请点击提交以提交恢复作业。

从卷级备份映像获取

将 HANA 数据库从卷级备份映像自动恢复到源

  1. App ManagerApplications 列表中,右键点击数据库,然后选择 Access。在要恢复的最新快照中,选择恢复
  2. 恢复页面上,选择恢复到来源

    • 目标。请完成以下操作:
      • 对于独立 SAP HANA 配置,系统会预先填充目标
      • 对于 HANA HA (1+n) 配置,请从下拉列表中选择要恢复到的 HANA HA 节点。
    • 滚动时间。选择要恢复到哪个日期和时间点,以恢复使用日志保护的数据库。
    • 目标数据库 SID。系统会预先填充受保护数据库的 sid 名称,且该值不可变。
    • SAP DB USER STORE-KEY。系统会在备份期间预先填充用户存储空间密钥。您可以使用备份期间可用的特权用户名和密码指定新的用户存储区密钥。系统将创建此新的用户存储空间密钥,并将其用于恢复。
      • 如果用户名和密码随现有用户存储区密钥一起提供,系统将使用此用户名和密码重新创建用户存储区密钥。只有在 systemdb 恢复后,系统才会进行验证。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果指定了包含用户名和密码的新用户存储区密钥,系统将使用指定的用户存储区密钥名称、用户名和密码创建用户存储区密钥。只有在 systemdb 恢复后,系统才会进行验证。如果用户名或密码无效、不包含正确的权限,或者未作为备份映像的一部分提供,租户恢复可能会失败。
      • 如果未传递 userstorekey、用户名和密码,则在预检查期间,系统会进行验证,以检查备份期间使用的 userstorekey 是否存在于目标服务器上。如果找不到备份期间使用的 userstorekey,预检查将会失败。如果凭据无效、不包含正确的权限,或者未作为备份映像的一部分提供,租户恢复可能会失败。
      • 如果未传递 userstorekey,但提供了用户名和密码,系统会使用在目标服务器上传递的凭据重新创建备份期间使用的 userstorekey。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
    1. 点击预发布检查
    • 如果预检检查失败,请解决问题并重新提交预检检查
    • 如果预检检查成功,请点击提交以提交恢复作业。

从完整+增量备份映像恢复到新设备

从完整备份映像和增量备份映像自动将 HANA 数据库恢复到新目标

  1. 在管理控制台的 App Manager(应用管理器)应用列表中,右键点击相应数据库,然后选择访问
  2. 选择要恢复的最新快照,然后选择恢复
  3. 恢复页面上,选择恢复到新目标

    • 目标。对于独立 HANA 配置,系统会预先填充此值。下拉菜单下会显示可供选择的 HANA HA 节点;从下拉菜单中选择要恢复的节点。
    • 替换原始身份。只有在将备份恢复到原始生成备份的同一备份/恢复设备上的新主机时,此选项才可用。

      • 是。这将替换原始应用,并具有与原始应用相同的应用 ID、作业历史记录、备份映像和备份计划。
      • 不会。这不会取代原始申请。在恢复作业过程中,系统会将其发现为新应用。执行 HANA HA 恢复后,节点将变为独立节点,并保留与集群相同的 appid。如果您启用复制,下次发现时将找到集群,并继续使用与集群主机相同的 appid。
    • 包含列表。如需恢复 SYSTEMDB 以及 n 个租户数据库中的 1 个或多个租户数据库(或不恢复任何租户数据库),请在 INCLUDE 下提供数据库的逗号分隔列表。

    • 对于排除列表,如需在从 n 个租户数据库中恢复时排除 SYSTEMDB 或一个或多个租户数据库,请在 EXCLUDE 下提供以英文逗号分隔的数据库列表。例如,将 SYSTEMDB 添加到排除列表中会将 SYSTEMDB 从恢复范围中排除,并恢复所有已备份的租户数据库。

      • 如果 INCLUDE LISTEXCLUDE LIST 均为空,则系统会恢复 SYSTEMDB 和所有租户 (tn1、tn2、tn3)。
      • 如果您要恢复单个租户 tn1,请将包含列表与 tn1 搭配使用。
      • 如果您想恢复 tn2 和 tn3,并排除 SYSTEMDB 和 tn1,请使用仅包含 tn2 和 tn3 的 include 列表。
      • 如果您只想恢复所有租户 (tn1、tn2、tn3) 并排除 SYSTEMDB,请排除 SYSTEMDB 或添加 tn1、tn2、tn3。
    • 滚动时间。选择要恢复到哪个日期和时间点,以恢复使用日志保护的数据库。

    • 目标数据库 SID。系统会预先填充受保护数据库的 sid 名称,且该值不可变。

    • SAP 数据库 USERSTORE KEY。系统会在备份期间预先填充用户存储空间密钥。您可以使用备份期间可用的特权用户名和密码指定新的用户存储区密钥。系统将创建此新的用户存储空间密钥,并将其用于恢复。

      • 如果用户名和密码随现有用户存储空间密钥一起提供,系统会使用此用户名和密码重新创建用户存储空间密钥。只有在 SYSTEMDB 恢复后,系统才会进行验证。如果用户名或密码无效、不具有正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果指定了包含用户名和密码的新用户存储区密钥,系统将使用指定的用户存储区密钥名称、用户名和密码创建用户存储区密钥。只有在 SYSTEMDB 恢复后,系统才会进行验证。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果未指定 userstorekey,则传递用户名和密码,然后在预检查期间进行验证,以检查备份期间使用的 userstorekey 是否存在于目标服务器上。如果未找到备份期间使用的 userstorekey,预检查将失败。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果未传递 userstorekey,但提供了用户名和密码,则系统会使用在目标服务器上传递的凭据重新创建备份期间使用的 userstorekey。如果用户名或密码无效、不包含正确的权限,或者未包含在备份映像中,租户恢复可能会失败。
  4. 点击预发布检查

    • 如果预检检查失败,请解决问题并重新提交预检检查
    • 如果预检检查成功,请点击提交以提交恢复作业。

从完整+增量备份映像提取来源

将 HANA 数据库从完整备份映像和增量备份映像自动恢复到源

  1. 在管理控制台的 App Manager(应用管理器)应用列表中,右键点击相应数据库,然后选择访问
  2. 选择要恢复的最新快照,然后选择恢复
  3. 恢复页面上,选择恢复到来源

    • 对于目标,请完成以下操作:

      • 对于独立 HANA 配置,系统会预先填充此值。
      • 对于 HANA HA (1+n) 配置,您可以在下拉菜单中选择 HANA HA 节点。从下拉菜单中选择要恢复的节点。
    • 对于 INCLUDE LIST,如需恢复 SYSTEMDB 或 n 个租户数据库中的 1 个或多个租户数据库,请在 INCLUDE 下提供以英文逗号分隔的数据库列表。

    • 对于排除列表,如需在从 n 个租户数据库中恢复时排除 SYSTEMDB 或一个或多个租户数据库,请在 EXCLUDE 下提供以英文逗号分隔的数据库列表。例如,将 SYSTEMDB 添加到排除列表中会将 SYSTEMDB 从恢复范围中排除,并恢复所有已备份的租户数据库。

      • 如果 INCLUDE LISTEXCLUDE LIST 均为空,则系统会恢复 SYSTEMDB 和所有租户 (tn1、tn2、tn3)。
      • 如果您要恢复单个租户 tn1,请将包含列表与 tn1 搭配使用。
      • 如果您想恢复 tn2 和 tn3,并排除 SYSTEMDB 和 tn1,请使用仅包含 tn2 和 tn3 的 include 列表。
      • 如果您只想恢复所有租户 (tn1、tn2、tn3) 并排除 SYSTEMDB,请排除 SYSTEMDB 或添加 tn1、tn2、tn3。
    • 对于滚动时间,请为使用日志保护的数据库选择恢复到的日期和时间。

    • 对于目标数据库 SID,系统会预先填充受保护数据库 SID 名称,且该值不可更改。

    • 对于 SAP DB USER STORE-KEY,系统会在备份期间预先填充 userstore 密钥。您可以使用备份期间可用的特权用户名和密码指定新的用户存储区密钥。系统将创建此新的用户存储空间密钥,并将其用于恢复。

      • 如果用户名和密码随现有用户存储区密钥一起提供,系统会使用此用户名和密码重新创建用户存储区密钥。只有在 systemdb 恢复后,系统才会进行验证。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果指定了包含用户名和密码的新用户存储区密钥,系统将使用指定的用户存储区密钥名称、用户名和密码创建用户存储区密钥。只有在 systemdb 恢复后,系统才会进行验证。如果用户名或密码无效,或者不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果未传递任何用户存储空间密钥、用户名和密码,则在预检查期间,系统会进行验证,以检查备份期间使用的用户存储空间密钥是否存在于目标服务器上。如果未找到备份期间使用的 userstorekey,则预检查将失败。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 如果未传递 userstorekey,但提供了用户名和密码,系统会使用在目标服务器上传递的凭据重新创建备份期间使用的 userstorekey。如果用户名或密码无效、不具有正确的权限,或者不在备份映像中,租户恢复可能会失败。
      • 在 SYSTEMDB 恢复期间,系统会在 SYSTEMDB 恢复结束时和开始租户恢复之前验证 hdbuserstore 密钥。如果用户名或密码无效、不包含正确的权限,或者不在备份映像中,租户恢复可能会失败。
  4. 点击预发布检查

    • 如果预检检查失败,请解决问题并重新提交预检检查
    • 如果预检检查成功,请点击提交以提交恢复作业。

手动恢复 SAP HANA 租户数据库

您可以手动将单个租户数据库从卷级备份映像恢复到源。

过程

如需恢复单租户数据库,请完成以下操作:

  1. App ManagerApplications 列表中,右键点击数据库,然后选择 Access
  2. 在跑道中,选择要恢复的最新快照,然后选择右侧的装载
  3. 挂载页面上,停用应用选项,然后在挂载选项下设置挂载位置,例如 /testmnt
  4. 以 root 身份登录服务器,然后将目录更改为 /act/custom_apps/saphana/restore:cd /act/custom_apps/saphana/restore
  5. 执行恢复脚本:
      ./CALL_LVM_single_tenant_recover.sh DBSID TENANT SID SYSTEMDB USERSTORE KEY RECOVERY TIME

脚本参数说明:

    DBSID = The database SID
    TENANT SID = The name of the tenant database to be restored
    SYSTEM DB USERSTORE KEY = The System DB userstore key
    RECOVERY TIME = The required recovery time in the format YYYY-MM-DD HH24:MI:SS in UTC

例如:./CALL_LVM_single_tenant_recover.sh lv1 lv1 ACTBACKUP '2019-09-24 20:00:00'

  1. 脚本运行完毕后,租户数据库会恢复到相应时间点,并可供访问。
  2. 前往管理控制台,然后卸载并删除备份映像

在 SAP HANA Studio 中查看备份状态

您可以在 HANA Studio 中查看备份状态、元数据和备份映像,但无法通过 HANA Studio 访问 Backup and DR Service 备份映像。您必须通过管理控制台访问备份映像,以便进行恢复或其他用途。

  1. 在 HANA Studio 中,前往 Backup 文件夹。

  2. 前往备份目录标签页。

    “备份目录”标签页会显示备份的状态以及开始时间、时长、大小、备份类型和目标位置等详细信息。

HANA 和 HANA HA 1+n 恢复行为

本部分包含有关 HANA 和 HANA HA 1+n 恢复行为的信息。

所有 HANA 配置

将应用恢复到启用了管理新应用选项的新目标:

  • 恢复的应用受到保护,但应用详情和设置部分仅包含默认值。恢复后,您必须在应用详情和设置下手动设置所需的值,才能成功完成备份。
  • 恢复的应用保护功能将处于停用状态。您必须依次前往应用管理器 > 应用 > 管理备份方案,启用保护功能,备份才能开始运行。

HANA HA (1+n) 配置

对于主节点为 Node A、辅节点为 Node B 的 HANA 1+1 集群(Node A -> Node B),系统会将该集群作为“备份和灾难恢复服务”下的应用进行发现,并从主节点 Node A 运行备份。

恢复到新的目标 HANA 数据库(独立或集群)

如果系统发现新目标是应用或受保护的应用,则在恢复之前,需要取消保护此应用并将其从备份和灾难恢复中删除。如果新目标应用存在,作业将会失败。

恢复到节点 A 主副本

  • 您需要先从集群中取消注册 Node B,然后才能将其恢复到 Node A
  • 恢复到 Node A 后,Node A 会成为一个独立应用。
  • 节点 B 必须注册到 节点 A,并将 节点 B 作为辅助节点,并且必须在 节点 A 上运行强制发现,才能继续作为集群备份。

恢复到节点 B 辅助节点

  • 必须取消注册 Node B,否则必须先在 Node B 上运行接管操作,然后才能恢复到 Node B
  • 在恢复到 Node B 之前关闭 Node A,并在恢复后将 Node A 添加为 Node B 的辅助节点。
  • 恢复操作后,节点 B 是一个独立应用。节点 A 必须注册到 节点 B,并将 节点 A 作为辅助节点。
  • 节点 B 运行发现操作,以将其重新发现为集群应用。

  • 如需将 Node ANode B 保持为独立应用并受保护,请在恢复后对 Node ANode B 运行发现操作,而不启用复制。

如何停用 SAP HANA 系统复制以进行恢复

  1. 以操作系统用户“adm”的身份登录这两个系统。
  2. 停止辅助系统:sapcontrol –nr -function StopSystem HDB
  3. 在辅助系统上取消注册辅助系统:hdbnsutil -sr_unregister --id=(secondarySiteID)
  4. 在主系统上停用系统复制:hdbnsutil –sr_disable
  5. 使用以下任一脚本检查系统复制:

    • systemReplicationStatus.py 脚本。此脚本会显示复制状态和数据库信息
    • hdbnsutil -sr_state 脚本。此脚本会显示复制节点角色和主机映射详细信息。

适用于 SAP HANA 横向扩容的 Backup and DR Service 文档

本页面属于一系列页面中的一页,专门介绍如何使用 Backup and DR Service 保护和恢复 SAP HANA 扩展型实例。您可以在以下页面中找到更多信息: