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

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

还原 Amazon EC2 实例上的 SAP HANA 数据库

可以使用 Amazon Backup 控制台、API 或 Amazon CLI 还原 EC2 实例上的 SAP HANA 数据库。

使用 Amazon Backup 控制台还原 Amazon EC2 实例上的 SAP HANA 数据库

请注意,涉及同一数据库的备份作业和还原作业不能同时进行。在执行 SAP HANA 数据库还原作业时,尝试备份同一数据库可能会导致错误:“数据库在停止时无法备份”。

  1. 使用先决条件中的凭证访问 Amazon Backup 控制台。

  2. 目标还原位置下拉菜单下,选择要使用您要用于还原的恢复点覆盖的数据库(请注意,托管还原目标数据库的实例也必须具有先决条件中的权限)。

    重要

    SAP HANA 数据库还原具有破坏性。还原数据库将覆盖位于指定目标还原位置的数据库。

  3. 只有在执行系统副本还原时才完成此步骤;否则,请跳至步骤 4。

    系统副本还原是一种还原作业,它还原到目标数据库与生成恢复点的源数据库不同。对于系统副本还原,请注意控制台上为您提供的 aws ssm-sap put-resource-permission 命令。必须在满足先决条件的计算机上复制、粘贴和执行此命令。运行此命令时,请使用设置注册应用程序所需权限的先决条件中的角色中的凭证。

    // Example command aws ssm-sap put-resource-permission \ --region us-east-1 \ --action-type RESTORE \ --source-resource-arn arn:aws:ssm-sap-east-1:112233445566:HANA/Foo/DB/HDB \ --resource-arn arn:aws:ssm-sap:us-east-1:112233445566:HANA/Bar/DB/HDB
  4. 选择还原位置后,可以看到目标数据库的资源 ID应用程序名称数据库类型EC2 实例

  5. 或者,可以打开高级还原设置以更改目录还原选项。默认选择是从 Amazon Backup 中还原最新的目录。

  6. 单击还原备份

  7. 由于将在还原期间覆盖目标位置(破坏性还原),因此您必须在接下来的弹出对话框中确认允许这样做。

    1. 要继续,您必须明白,现有数据库将被您要还原的数据库所覆盖。

    2. 明白这一点后,您必须确认现有数据将被覆盖。要确认这一点并继续,请在文本输入字段中键入 overwrite

  8. 单击还原备份

如果该过程操作成功,控制台顶部将显示一条蓝色横幅。这表示还原作业正在进行中。您将被自动重定向到“作业”页面,您的还原作业将出现在还原作业列表中。这个最新作业的状态将为 Pending。您可以搜索并单击还原作业 ID,以查看每个还原作业的详细信息。您可以通过单击“刷新”按钮来刷新还原作业列表,以查看还原作业状态的更改。

StartRestoreJob EC2 上适用于 SAP HANA 的 AP@@ I

此操作将恢复由一个 Amazon 资源名称 (ARN) 标识的已保存资源。

请求语法

PUT /restore-jobs HTTP/1.1 Content-type: application/json { "IdempotencyToken": "string", "Metadata": { "string" : "string" }, "RecoveryPointArn": "string", "ResourceType": "string" }

URI 请求参数:该请求不使用任何 URI 参数。

请求体:请求接受采用 JSON 格式的以下数据:

IdempotencyToken客户选择的字符串,可用于区分原本相同的调用。StartRestoreJob使用相同的幂等性令牌重试成功的请求会生成一条成功消息,而不执行任何操作。

类型:字符串

必需:否

元数据

一组元数据键值对。包含还原恢复点所需的信息,例如资源名称。您可以通过调用 GetRecoveryPointRestoreMetadata 来获取在备份资源时有关该资源的配置元数据。但是,除了 GetRecoveryPointRestoreMetadata 提供的值之外,可能还需要其他值才能还原资源。例如,如果原始资源名称已存在,您可能需要提供一个新的资源名称。

您需要包含特定元数据才能还原 Amazon EC2 实例上的 SAP HANA。请参阅 SAP HANA 特定项目的 StartRestoreJob 元数据

要检索相关元数据,您可以使用调用 GetRecoveryPointRestoreMetadata

标准 SAP HANA 数据库恢复点示例:

"RestoreMetadata": { "BackupSize": "1660948480", "DatabaseName": "DATABASENAME", "DatabaseType": "SYSTEM", "HanaBackupEndTime": "1674838362", "HanaBackupId": "1234567890123", "HanaBackupPrefix": "1234567890123_SYSTEMDB_FULL", "HanaBackupStartTime": "1674838349", "HanaVersion": "2.00.040.00.1553674765", "IsCompressedBySap": "FALSE", "IsEncryptedBySap": "FALSE", "SourceDatabaseArn": "arn:aws:ssm-sap:region:accountID:HANA/applicationID/DB/DATABASENAME", "SystemDatabaseSid": "HDB", "aws:backup:request-id": "46bbtt4q-7unr-2897-m486-yn378k2mrw9c" }

连续 SAP HANA 数据库恢复点示例:

"RestoreMetadata": { "AvailableRestoreBases": "[1234567890123,9876543210987,1472583691472,7418529637418,1678942598761]", "BackupSize": "1711284224", "DatabaseName": "DATABASENAME", "DatabaseType": "TENANT", "EarliestRestorablePitrTimestamp": "1674764799789", "HanaBackupEndTime": "1668032687", "HanaBackupId": "1234567890123", "HanaBackupPrefix": "1234567890123_HDB_FULL", "HanaBackupStartTime": "1668032667", "HanaVersion": "2.00.040.00.1553674765", "IsCompressedBySap": "FALSE", "IsEncryptedBySap": "FALSE", "LatestRestorablePitrTimestamp": "1674850299789", "SourceDatabaseArn": "arn:aws:ssm-sap:region:accountID:HANA/applicationID/DB/SystemDatabaseSid", "SystemDatabaseSid": "HDB", "aws:backup:request-id": "46bbtt4q-7unr-2897-m486-yn378k2mrw9d" }

适用于 EC2 上 SAP HANA 的 CLI

start-restore-job 命令将恢复由一个 Amazon 资源名称 (ARN) 标识的已保存资源。CLI 将遵循上面的 API 准则。

摘要:

start-restore-job --recovery-point-arn value --metadata value --aws:backup:request-id value [--idempotency-token value] [--resource-type value] [--cli-input-json value] [--generate-cli-skeleton value] [--debug] [--endpoint-url value] [--no-verify-ssl] [--no-paginate] [--output value] [--query value] [--profile value] [--region value] [--version value] [--color value] [--no-sign-request] [--ca-bundle value] [--cli-read-timeout value] [--cli-connect-timeout value]

Options

--recovery-point-arn(字符串)是 Amazon 资源编号 (ARN) 形式的字符串,用于唯一地标识恢复点;例如 arn:aws:backup:region:123456789012:recovery-point:46bbtt4q-7unr-2897-m486-yn378k2mrw9d

--metadata(映射):一组元数据键值对。包含还原恢复点所需的信息,例如资源名称。您可以通过调用 GetRecoveryPointRestoreMetadata 来获取在备份资源时有关该资源的配置元数据。但是,除了 GetRecoveryPointRestoreMetadata 提供的值之外,可能还需要其他值才能还原资源。您需要指定特定元数据才能还原 Amazon EC2 实例上的 SAP HANA:

  • aws:backup:request-id: 这是用于幂等性的任何 UUID 字符串。它不会以任何方式改变您的还原体验。

  • aws:backup:TargetDatabaseArn:指定要还原到的数据库。这是 Amazon EC2 上的 SAP HANA 数据库 ARN。

  • CatalogRestoreOption:指定从何处还原目录。选择 NO_CATALOGLATEST_CATALOG_FROM_AWS_BACKUPCATALOG_FROM_LOCAL_PATH 之一:

  • LocalCatalogPath:如果 CatalogRestoreOption 元数据值为CATALOG_FROM_LOCAL_PATH,则在您的 EC2 实例上指定本地目录的路径。它应该是您的 EC2 实例中的有效文件路径。

  • RecoveryType:当前支持 FULL_DATA_BACKUP_RECOVERYPOINT_IN_TIME_RECOVERYMOST_RECENT_TIME_RECOVERY 恢复类型。

键 =(字符串);值 =(字符串)。速记语法:

KeyName1=string,KeyName2=string

JSON 语法:

{"string": "string" ...}

--idempotency-token 是客户选择的字符串,可用于区分对 StartRestoreJob 的其他相同调用。使用相同的幂等性令牌重试成功的请求会生成一条成功消息,而不执行任何操作。

--resource-type 是一个字符串,它启动用于还原以下资源之一的恢复点的作业:SAP HANA on Amazon EC2(适用于 SAP HANA on Amazon EC2)。或者,可以使用命令 aws ssm-sap tag-resource 标记 SAP HANA 资源。

输出RestoreJobId 是一个字符串,用于唯一地标识还原恢复点的作业。

故障排除

如果在尝试备份操作时出现以下任何错误,请参阅相关的解决方案。

  • 错误:连续备份日志错误

    为了维护连续备份的恢复点,SAP HANA 会为所有更改创建日志。当日志不可用时,每个连续恢复点的状态都将变为 STOPPED。最后一个可用于还原的可行恢复点的状态为 AVAILABLE。如果在状态为 STOPPED 的恢复点和状态为 AVAILABLE 的恢复点之间的时间内出现日志数据丢失,则无法保证这些时间能够成功还原。如果您输入的日期和时间在此范围内,Amazon Backup 将尝试备份,但会使用最近的可还原时间。出现此错误时,将显示消息 “Encountered an issue with log backups. Please check SAP HANA for details."

    解决方案:在控制台中,将基于日志显示最近可还原时间。您可以输入比显示的时间更近的时间。但是,如果日志中没有该时间的数据,则 Amazon Backup 将使用最近的可还原时间。

  • 错误:Internal error

    解决方案:通过控制台创建支持工单,或联系 Amazon Web Services Support 并提供还原作业 ID 等还原详细信息。

  • 错误:The provided role arn:aws:iam::ACCOUNT_ID:role/ServiceLinkedRole cannot be assumed by Amazon Backup

    解决方案:确保调用还原时担任的角色具有创建服务相关角色所需的权限。

  • 错误:User: arn:aws:sts::ACCOUNT_ID:assumed-role/ServiceLinkedRole/AWSBackup-ServiceLinkedRole is not authorized to perform: ssm-sap:GetOperation on resource: arn:aws:ssm-sap:us-east-1:ACCOUNT_ID:...

    解决方案:确保正确输入了调用先决条件中概述的还原权限时所担任的角色。

  • 错误:b* 449: recovery strategy could not be determined: [111014] The backup with backup id '1660627536506' cannot be used for recovery SQLSTATE: HY000\n

    解决方案:确保正确安装了 Backint Agent。检查所有先决条件,尤其是在 SAP 应用程序服务器上安装Amazon BackInt 代理和适用Amazon Systems Manager于 SAP 的必备条件,然后再次尝试安装 BackInt 代理。

  • 错误:IllegalArgumentException: Restore job provided is not ready to return chunks, current restore job status is: CANCELLED

    解决方案:服务工作流程已取消还原作业。重试还原作业。

  • 错误:RequestError: send request failed\ncaused by: read tcp 10.0.131.4:40482->35.84.99.47:443: read: connection timed out"

    解决方案:实例上出现暂时性网络不稳定。请重试还原。如果此问题持续发生,请尝试将 ForceRetry: "true" 添加到 /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml. 处的代理配置文件

有关任何其他 Amazon Backint Agent 相关问题,请参阅 Amazon Backint Agent For SAP HANA 故障排除