恢复和恢复 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:提供目标上存在的 userstore 密钥,或者指定在备份时存在的有效特权用户名和密码。
  • 逻辑卷
    • 源节点和目标节点上的逻辑卷名称和卷组名称应相同。
    • 目标上的逻辑卷大小应与源逻辑卷相同或大于源逻辑卷。
  • 节点状态
    • 纵向扩缩和独立配置:目标节点已启动并可供使用
    • HANA HA (1+n) 配置:在启动恢复之前,需要停用复制。恢复后,需要重新配置复制。 恢复到 HANA HA (1+n) 集群的任何节点会导致在所选目标主机上创建独立应用。用户必须根据需要明确配置集群,并相应地发现应用

自动恢复 SAP HANA 数据库

准备工作

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

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

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

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

      • 是。此操作会替换原始应用,并沿用原始应用的相同应用 ID、作业历史记录、备份映像和备份方案。
      • 不会。此功能不会取代原始应用。在恢复作业中,它将被发现为新应用。
    • 前滚时间。为受日志保护的数据库选择恢复到的日期和时间。
    • 目标数据库 SID。系统会预先填充受保护的数据库 SID 名称,且该名称不可变。
    • SAP 数据库用户存储区密钥。在备份期间,系统会预先填充用户商店密钥。可以使用备份期间可用的特权用户名和密码指定新的用户存储区密钥。系统将创建此新用户存储区密钥,并将其用于恢复。

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

    • 如果指定了包含用户名和密码的新用户存储区密钥,则系统将使用指定的用户存储区密钥名称、用户名和密码创建用户存储区密钥。验证仅在 systemdb 恢复后进行。如果用户名或密码无效、不包含正确的权限或未作为备份映像的一部分提供,则租户恢复可能会失败。

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

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

  4. 点击预检。

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

从卷级备份映像获取源

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

  1. 应用管理器应用列表中,右键点击数据库,然后选择访问。从要恢复的最新快照中,选择恢复
  2. 恢复页面上,选择恢复到源

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

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

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

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

    • 目标。对于独立 HANA 配置,此字段会预先填充。 HANA HA 节点将显示在下拉菜单中供您选择;从下拉菜单中选择要恢复的节点。
    • 替换原始身份信息。仅当恢复操作是在备份最初生成的同一备份/恢复设备上执行到新主机时,此选项才可用。

      • 是。这会替换原始应用,并沿用原始应用的相同应用 ID、作业历史记录、备份映像和备份方案。
      • 不会。此功能不会取代原始应用。在恢复作业中,系统会将其发现为新应用。在 HANA HA 恢复后,节点将变为独立节点,并保留集群的相同 appid。如果您启用复制,则下次发现会找到该集群,并继续使用与集群主机相同的应用 ID。
    • 包含列表。如需从 n 个租户数据库中恢复 SYSTEMDB(包含或不包含一个或多个租户数据库),请在 INCLUDE 下提供以英文逗号分隔的数据库列表。

    • 对于 EXCLUDE LIST,如需在从 n 个租户数据库中恢复时排除 SYSTEMDB 或一个或多个租户数据库,请在 EXCLUDE 下提供以英文逗号分隔的数据库列表。例如,将 SYSTEMDB 放入排除列表中会排除 SYSTEMDB,使其无法进行恢复,并恢复所有已备份的租户数据库。

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

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

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

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

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

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

从完整备份映像和增量备份映像自动恢复 HANA 数据库,使其恢复到源状态

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

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

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

    • 对于 EXCLUDE LIST,如需在从 n 个租户数据库中恢复时排除 SYSTEMDB 或一个或多个租户数据库,请在 EXCLUDE 下提供以英文逗号分隔的数据库列表。例如,将 SYSTEMDB 放入排除列表中会排除 SYSTEMDB,使其无法进行恢复,并恢复所有已备份的租户数据库。

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

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

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

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

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

手动恢复 SAP HANA 租户数据库

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

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

  1. 应用管理器应用列表中,右键点击数据库,然后选择访问
  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. 前往管理控制台,然后卸载并删除备份映像

从完整 + 增量 Backint 转储备份手动恢复 SAP HANA 数据库

您可以从“完整+增量”转储备份中手动将数据库恢复到源。

如需从完整+增量转储备份恢复 HANA 数据库,请使用以下脚本:

      /act/custom_apps/saphana/dumpbackint/ACT_HANADB_dumprestorebrint.sh HANA SID Port number HANA UserStore Key  Exclude DB list Include DB list HANA version HANA DB backup mount point
      Recovery time in 'yyyy-mm-dd HH:MI:SS' HANA Log backup mount point

示例:

/act/custom_apps/saphana/dumpbackint/ACT_HANADB_dumprestorebrint.sh GP1 HDB00 ACTBACKUP "null" "null" 2.0 /act/mnt/Job_23867989_mountpoint_1739957140744 '2025-02-12 09:30:00' /act/mnt/Job_23867989_mountpoint_1739957130467

在 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,该集群会被发现为 Backup and DR Service 下的应用,并且备份从 Node A(主节点)运行。

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

如果发现新目标是应用或受保护的资源,则在恢复之前,需要先取消对该应用的保护,并从 Backup and DR 中将其删除。如果新目标应用存在,作业会失败。

恢复到节点 A 主

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

恢复到节点 B(次要)

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

  • 为了使节点 A节点 B 保持独立应用状态并受到保护,请在恢复后对节点 A节点 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 横向扩容实例的一系列页面之一。如需了解详情,请参阅以下页面: