SAPHANAAmazon EC2 实例上的数据库备份 - Amazon Backup
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SAPHANAAmazon EC2 实例上的数据库备份

注意

支持的服务由 Amazon Web Services 区域包含目前支持在 Amazon EC2 实例上提供SAPHANA数据库备份的区域。

Amazon Backup 支持在 Amazon EC2 实例上备份和恢复SAPHANA数据库。

SAPHANA数据库概述 Amazon Backup

除了能够创建备份和恢复数据库外,与 Amazon S EC2 ystems Manager 的 Amazon Backup 集成还SAP允许客户识别和标记SAPHANA数据库。

Amazon Backup 已与 Amazon Backint Agent 集成,用于SAPHANA执行备份和恢复。有关更多信息,请参阅 Amazon Backint

通过备份SAPHANA数据库的先决条件 Amazon Backup

在执行备份和还原活动之前,必须满足以下几个先决条件。请注意,要执行这些步骤,您需要对SAPHANA数据库具有管理权限,并且需要在 Amazon 账户中创建新IAM角色和策略的权限。

在 Amazon S EC2 ystems Manager 上完成这些先决条件

最佳做法是只注册每个HANA实例一次。多个注册可能会导致同一个数据库ARNs有多个注册。维护单个ARN和注册可以简化备份计划的创建和维护,还可以帮助减少计划外的备份重复。

SAPHANA Amazon Backup 控制台中的备份操作

先决条件SSM和SAP设置完成后,您可以备份和恢复自己的SAPHANAEC2数据库。

选择加入以保护SAPHANA资源

要使用 Amazon Backup 来保护您的SAPHANA数据库,SAPHANA必须将其作为受保护的资源之一打开。要选择加入,请执行以下操作:

  1. https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

  2. 在左侧导航窗格中,选择设置

  3. 选择加入服务下,选择配置资源

  4. Amazon SAP HANA 上选择加入EC2。

  5. 单击确认

现在EC2将启用SAPHANA在 Amazon 上选择加入的服务。

创建SAPHANA数据库的定时备份

您可以编辑现有备份计划并向其添加SAPHANA资源,也可以仅为SAPHANA资源创建新的备份计划

如果您选择创建新的备份计划,则有三个选项:

  1. 选项 1:从模板开始

    1. 选择备份计划模板。

    2. 指定备份计划名称。

    3. 单击创建计划

  2. 选项 2:构建新计划

    1. 指定备份计划名称。

    2. (可选)指定要添加到备份计划的标签。

    3. 指定备份规则配置。

      1. 指定备份规则名称。

      2. 选择现有的保管库或创建新的备份保管库。这是存储备份的位置。

      3. 指定备份频率。

      4. 指定备份时段。

        请注意,当前不支持转换到冷存储

      5. 指定保留期。

        当前不支持复制到目的地

      6. 可选)指定要添加到恢复点的标签。

    4. 单击创建计划

  3. 选项 3:使用定义计划 JSON

    1. 通过修改现有备份JSON计划的表达式或创建新的JSON表达式来为备份计划指定。

    2. 指定备份计划名称。

    3. 单击 ValidateJSON(验证)。

    成功创建备份计划后,可以在下一步中为备份计划分配资源。

无论使用哪种计划,都要确保分配资源。您可以选择要分配SAPHANA的数据库,包括系统数据库和租户数据库。您还可以选择排除特定资源IDs。

创建SAPHANA数据库的按需备份

您可以创建完整的按需备份,该备份在创建后立即运行。请注意,Amazon EC2 实例上SAPHANA数据库的按需备份为完整备份;不支持增量备份。

现在已创建按需备份。它将开始备份您的指定资源。控制台会将您转到备份作业页面,您可以在其中查看作业进度。请记下屏幕顶部蓝色横幅中的备份作业 ID,因为您需要它才能轻松找到备份作业的状态。备份完成后,状态将变为 Completed。备份可能需要几小时的时间。

刷新备份作业列表可查看状态变化。您也可以搜索并单击备份作业 ID 以查看详细作业状态。

SAPHANA数据库的持续备份

您可以进行连续备份,这可以与 re point-in-time store (PITR) 一起使用(请注意,按需备份会将资源保留在拍摄时的状态;而PITR使用连续备份来记录一段时间内的变化)。

使用连续备份,您可以将SAPHANA数据库还原到您选择的特定时间,精确度在 1 秒钟内(最多 35 天)。EC2连续备份的工作原理是,首先创建资源的完整备份,然后不断备份资源的事务日志。PITRrestore 的工作原理是访问您的完整备份,然后将事务日志重放到您要求恢复 Amazon Backup 的时间。

在 Amazon Backup 使用 Amazon Backup 控制台或中创建备份计划时,您可以选择连续备份API。

使用控制台启用连续备份
  1. 登录 Amazon Web Services Management Console,然后在 https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

  2. 在导航窗格中,选择备份计划,然后选择创建备份计划

  3. 备份计划下,选择添加备份计划

  4. 备份规则配置部分,选择为支持的资源启用连续备份

禁用 PITR(point-in-time恢复)SAPHANA数据库备份后,将继续向其发送日志, Amazon Backup 直到恢复点到期(状态等于。EXPIRED)您可以更改到中的备用日志备份位置 SAPHANA,以停止将日志传输到 Amazon Backup。

状态为的连续恢复点STOPPED表示连续恢复点已中断;也就是说,从中传输SAPHANA到 Amazon Backup 的显示数据库增量更改的日志存在间隔。在此时间范围间隙内出现的恢复点状态为 STOPPED.

有关在连续备份(恢复点)的还原作业中可能遇到的问题,请参阅本指南的 “SAPHANA还原疑难解答” 部分。

查看SAPHANA数据库备份

查看备份和还原作业的状态:

  1. https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

  2. 在导航窗格中,选择作业

  3. 选择备份作业、还原作业或复制作业以查看您的作业列表。

  4. 搜索并单击作业 ID 以查看详细作业状态。

查看保管库中的所有恢复点:

  1. https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

  2. 在导航窗格中,选择备份保管库

  3. 搜索并单击备份保管库以查看该保管库中的所有恢复点。

查看受保护资源的详细信息:

  1. https://console.aws.amazon.com/backup 上打开 Amazon Backup 控制台。

  2. 在导航窗格中,选择受保护的资源

  3. 您也可以按资源类型进行筛选,以查看该资源类型的所有备份。

Amazon CLI 用于具有以下SAPHANA内容的数据库 Amazon Backup

Backup 控制台中的每个操作都有相应的API调用。

要以编程方式配置 Amazon Backup 和管理其资源,请使用API调StartBackupJob用在EC2实例上备份SAPHANA数据库。

start-backup-job用作CLI命令。

SAPHANA数据库备份疑难解答

如果您在工作流程中遇到错误,请查阅以下错误示例和建议的解决方案:

Python 必备

  • 错误:Zypper 错误与 Python 版本有关,因为 Amazon Backup 需要SSM使用 SAP Python 3.6,但SP5默认情况下 SUSE 12 支持 Python 3.4。

    解决方案:SUSE12SP5通过执行以下步骤在上安装多个版本的 Python:

    1. 运行 update-alternations 命令在 “/usr/local/bin/” 中为 Python 3 创建符号链接,而不是直接使用 “/usr/bin/python3”。此命令会将 Python 3.4 设置为默认版本。命令是:# sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.4 5

    2. 通过运行以下命令将 Python 3.6 添加到备选配置中:# sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.6 2

    3. 通过运行以下命令将替代配置更改为 Python 3.6:# sudo update-alternatives —config python3

      应显示以下输出:

      There are 2 choices for the alternative python3 (providing /usr/local/bin/python3). Selection Path Priority Status * 0 /usr/bin/python3.4 5 auto mode 1 /usr/bin/python3.4 5 manual mode 2 /usr/bin/python3.6 2 manual mode Press enter to keep the current choice[*], or type selection number:
    4. 输入与 Python 3.6 对应的数字。

    5. 检查 Python 版本并确认正在使用 Python 3.6。

    6. 可选,但建议使用)验证 Zypper 命令是否按预期运行。

用于SAP发现和注册的 Amazon Sy EC2 stems Manager

  • 错误:由于禁止访问 Amazon Secrets Manager 和SSM的公共终端节点,因此SAP未能发现工作负载SSM。

    解决方案:测试您的SAPHANA数据库是否可以访问端点。如果无法访问它们,则可以为 Amazon Secrets Manager 和SSM为其创建 Amazon VPC 终端节点SAP。

    1. 运行以下命令,测试从亚马逊EC2主机对HANA数据库的 Secrets Manager 的访问权限:aws secretsmanager get-secret-value —secret-id hanaeccsbx_hbx_database_awsbkp。如果该命令未能返回值,则防火墙会阻止对 Secrets Manager 服务端点的访问。日志将在 “从 Secrets Manager 中检索机密” 步骤停止。

    2. 运行命令测试与SSM终SAP端节点的连接aws ssm-sap list-registration。如果命令未能返回值,则防火墙将阻止对 for SAP 端点SSM的访问。

      错误示例:Connection was closed before we received a valid response from endpoint URL: “https://ssm-sap.us-west-2.amazonaws.com/register-application".

    如果无法访问端点,则有两个选项可以继续。

    • 打开防火墙端口以允许访问 Secrets Manager 和SSM的公共服务端点SAP;或者,

    • 为 Secrets Manager 和SSM创建VPC终端节点SAP,然后:

      • 确保已VPC为DNSSupport和启用 Amazon DNSHostname。

      • 确保您的VPC终端节点已启用 “允许私有DNS名称”。

      • 如果 f SSM or d SAP iscovery 成功完成,则日志将显示已发现主机。

  • 错误: Amazon Backup 由于访问 Amazon Backup 服务公共端点受阻,Backint 连接失败。 aws-backint-agent.log可以显示类似于以下内容的错误:time="2024-01-03T11:39:15-08:00" level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id。此外, Amazon Backup 控制台可以显示 Fatal Error: An internal error occured.

    解决方案:如果无法访问端点,则有两个选项可以继续:

    • 打开防火墙端口以允许访问公共服务端点 (HTTPS)。使用此选项后,DNS将通过公有 IP 地址解析对 Amazon 服务的请求。

    • 创建VPC端点以私密方式路由往返所需 Amazon 服务的流量 Amazon Backup。使用此选项后,DNS将通过私有 IP 地址解析对这些服务的请求。此选项可能需要更新DNS服务器,以添加将请求转发到私有端点的规则。

  • 错误:SSM由于HANA密码包含特殊字符,SAP注册失败。示例错误可能包括Error connecting to database HBX/HBX when validating its credentials.使用 f hdbsql or 测试连接systemdbtenantdb通过HANA数据库 Amazon EC2 实例测试的连接。Discovery failed because credentials for HBX/SYSTEMDB either not provided or cannot be validated.

    在 Amazon Backup控制台的 “作业” 页面中,备份任务详细信息可以显示错误FAILED的状态Miscellaneous: b’* 10: authentication failed SQLSTATE: 28000\n’

    解决方案:确保您的密码中没有特殊字符,例如 $。

  • 错误:b’* 447: backup could not be completed: [110507] Backint exited with exit code 1 instead of 0. console output: time...

    解决方案:SAPHANA安装 Amazon BackInt 代理可能未成功完成。重试在应用程序服务器上部署 Amazon Backint Agent 和 Amazon S EC2ystems Manager 代理的过程。SAP

  • 错误:注册后,控制台与日志文件不匹配。

    尽管SAP控制台版的 App SAP lication Manager 显示注册成功,但发现日志显示尝试连接HANA数据库时注册失败,原因是密码包含特殊字符。它不能确认注册成功。SSM如果控制台显示注册成功,但日志显示未成功,则备份将失败。

    确认注册状态:

    1. 登录控制SSM台

    2. 从左侧导航栏中选择 “运行命令”。

    3. 在文本字段命令历史记录下输入Instance ID:Equal:,其值等于您用于注册的实例。这将筛选命令历史记录。

    4. 使用命令 ID 列查找带有状态的命令Failed。然后,找到 AWSSystemsManagerSAP-Discovery 的文档名称。

    5. 在中 Amazon CLI,运行命令aws ssm-sap register-application status。如果显示返回值Error,则表示注册失败。

    解决方案:确保您的HANA密码中没有特殊字符(例如 '$')。

创建SAPHANA数据库备份

  • 错误:创建 Amazon Backup SystemDB 或 TenantDB 的按需备份时,控制台会显示 “致命错误” 消息。之所以发生这种情况,是因为无法访问公共端点 cell-1.prod.us-west-west-2.storage.cryo.aws.a 2z.com。这是由阻止访问此端点的客户端防火墙造成的。

    aws-backint-agent.log可以显示错误,例如level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id."

    解决方案:打开对公共端点的防火墙访问权限 c ell-1.prod.us-west- 2.storage.cryo.aws.a2z.com。

  • 错误:Database cannot be backed up while it is stopped

    解决方案:确保要备份的数据库处于活动状态。只有在数据库处于在线状态时,才能备份数据库数据和日志。

  • 错误:Getting backup metadata failed. Check the SSM document execution for more details.

    解决方案:确保要备份的数据库处于活动状态。只有在数据库处于在线状态时,才能备份数据库数据和日志。

监控备份日志

  • 错误:Encountered an issue with log backups, please check SAP HANA for details.

    解决方案:检查SAPHANA以确保日志备份发送 Amazon Backup 到发件人SAPHANA。

  • 错误:One or more log backup attempts failed for recovery point.

    分辨率:查看SAPHANA详细信息。确保将日志备份发送 Amazon Backup 到发件人SAPHANA。

  • 错误:Unable to determine the status of log backups for recovery point.

    分辨率:查看SAPHANA详细信息。确保将日志备份发送 Amazon Backup 到发件人SAPHANA。

  • 错误:Log backups for recovery point %s were interrupted due to a restore operation on the database.

    解决方案:等待还原任务完成。日志备份应该会恢复。

使用时的SAPHANA术语表 Amazon Backup

Data Backup 类型:SAPHANA支持两种类型的数据备份:完整备份和INC(增量)备份。 Amazon Backup 优化了每次备份操作期间使用的类型。

目录备份:SAPHANA维护自己的名为目录的清单。 Amazon Backup 与这个目录互动。每个新备份都会在该目录中创建一个条目。

连续日志备份(事务日志):对于时间点恢复 (PITR) 功能,可SAPHANA跟踪自最近一次备份以来的所有事务。

系统复制:一种还原作业,其中的还原目标数据库与创建恢复点的源数据库不同。

破坏性还原:破坏性还原是一种还原作业,在此期间,还原的数据库会删除或覆盖源数据库或现有数据库。

FULL:完全备份是对完整数据库的备份。

INC:增量备份是对自上次备份以来对SAPHANA数据库进行的所有更改的备份。

有关其他详细信息,请参阅 Amazon 术语表

Amazon Backup EC2实例上对SAPHANA数据库的支持发行说明

当前不支持某些功能:

  • 连续备份(使用事务日志)无法复制到其他地区或账户。可以将快照备份从完整备份复制到支持的区域和账户。

  • 当前不支持 Backup Audit Manager 和报告。

  • 支持的服务由 Amazon Web Services 区域包含当前支持的 Amazon EC2 实例SAPHANA数据库备份区域。