

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

# 将 SAP HANA 工作负载备份和还原到 Amazon S3
<a name="aws-backint-agent-amazon-s3"></a>

本节提供有关设置和使用 AWS Backint 代理将 SAP HANA 工作负载备份和还原到 Amazon S3 的信息。

**Topics**
+ [使用适用于 SAP HANA 的 AWS Backint Agent 的先决条件](aws-backint-agent-s3-prerequisites.md)
+ [安装和配置 SAP HAN AWS A 的 Backint Agent](aws-backint-agent-s3-installing-configuring.md)
+ [使用适用于 SAP HANA 的 Backint Agen AWS t 备份和还原你的 SAP HANA 系统](aws-backint-agent-s3-backup-restore.md)

# 使用适用于 SAP HANA 的 AWS Backint Agent 的先决条件
<a name="aws-backint-agent-s3-prerequisites"></a>

在您的 SAP HANA 系统在亚马逊 EC2 实例上成功运行后，请使用亚马逊 EC2 系统管理器文档或使用 AWS Backint 安装程序验证以下先决条件来安装 AWS Backint 代理。

**Topics**
+ [AWS Identity and Access Management](#aws-backint-agent-iam)
+ [AWS Systems Manager 代理（SSM 代理）](#aws-backint-agent-ssm)
+ [亚马逊 S3 存储桶](#s3-bucket)
+ [数据边界](#data-perimeter)
+ [AWS CLI](#install-aws-cli)

## AWS Identity and Access Management
<a name="aws-backint-agent-iam"></a>

1. 要访问使用 Syst AWS ems Manager 安装 AWS Backint 代理所需的 AWS 资源，您必须将`AmazonSSMManagedInstanceCore`托管策略附加到您的 IAM 角色。
**注意**  
如果您选择使用 AWS Backint 安装程序安装 B AWS ackint 代理，则可以跳过此步骤。

1. 要允许您的 Amazon EC2 实例访问您的目标 Amazon S3 存储桶，您必须创建或更新具有以下权限的内联 IAM 策略，并将其附加到您的 EC2 服务角色。替换资源名称（例如 S3 存储桶名称）以匹配您的资源名称。您必须提供 AWS 地区和亚马逊 S3 存储桶拥有者账户 ID 以及 Amazon S3 存储桶名称。

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor1",
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketPolicyStatus",
                   "s3:GetBucketLocation",
                   "s3:ListBucket",
                   "s3:GetBucketAcl",
                   "s3:GetBucketPolicy"
               ],
               "Resource": [
                   "arn:aws:s3:::bucket-name/*",
                   "arn:aws:s3:::bucket-name"
               ]
           },
           {
               "Sid": "VisualEditor2",
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:GenerateDataKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           },
             {
                 "Sid": "VisualEditor0",
                 "Effect": "Allow",
                 "Action": [
                     "s3:PutObjectTagging",
                     "s3:PutObject",
                     "s3:GetObject",
                     "s3:DeleteObject"
                 ],
                 "Resource": "arn:aws:s3:::bucket-name/folder-name/*"
             }
       ]
   }
   ```
**注意**  
如果要允许跨账户备份和还原，则必须在策略中的委托人元素下添加您的账户详细信息。有关委托人策略的更多信息，请参阅 Identity and A *ccess Managem AWS ent 用户指南*中的 [AWS JSON 策略元素：委托人](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。此外，您必须确保 S3 存储桶策略允许您的账户执行上述 IAM 策略示例中指定的操作。有关更多信息，请参阅《Amazon S3 开发人员指南》**中的[存储桶所有者授予跨账户存储桶权限](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-walkthroughs-managing-access-example2.html)的示例。

有关托管策略和内联策略的更多信息，请参阅 [IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

## AWS Systems Manager 代理（SSM 代理）
<a name="aws-backint-agent-ssm"></a>

要使用 Syst AWS ems Manager 代理（SSM 代理）文档安装 AWS Backint 代理，必须安装 Syst [AWS ems Manager 代理（SSM 代理）](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)版本 2.3.274.0 或更高版本，并且您的实例必须是为 Systems Manager 配置的托管实例。 AWS 如果要使用 AWS Backint 安装程序安装 AWS Backint 代理，可以跳过此步骤。有关托管实例的更多信息，请参阅 [AWS Systems Manager 托管实例](https://docs.aws.amazon.com/systems-manager/latest/userguide/managed_instances.html)。要更新 SSM 代理，请参阅[使用 Run Command 更新 SSM 代理](https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-console.html#rc-console-agentexample)。

**注意**  
如果您不将`AmazonSSMManagedInstanceCore`策略附加到您的 EC2 实例角色，SSM 代理将无法运行。

## 亚马逊 S3 存储桶
<a name="s3-bucket"></a>

安装 AWS Backint 代理时，必须提供要存储 SAP HANA 备份的 S3 存储桶的名称。只有 2019 年 5 月之后创建的 Amazon S3 存储桶与 B AWS ackint 代理兼容。如果您没有 2019 年 5 月之后创建的存储桶，请在目标区域中创建新的 S3 存储桶。此外，请确保要用于存储备份的 Amazon S3 存储桶未启用公有访问权限。如果 S3 存储桶启用了公有访问权限，则备份将失败。

 AWS Backint 代理支持使用 VPC 终端节点备份到 Amazon S3。Amazon S3 网关端点可以提高性能，并有可能帮助避免超时。它提高了安全性，同时降低了成本。有关更多信息，请参阅 [VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)。

 **S3 存储类别** —AWS Backint 代理支持将 SAP HANA 数据库备份到具有 S3 标准、S3 标准-IA、S3 单区-IA 和 S3 智能分层存储类别的 Amazon S3 存储桶。Bac AWS kint 代理不支持 S3 低冗余、深度存档和 Glacier 存储类别。默认情况下，S3 标准存储类用于存储您的备份。您可以通过修改 AWS Backint 代理配置文件来更改用于备份的存储类别。或者，您可以通过 [S3 LifeCycle 配置](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)或直接使用将备份文件更改为支持的存储类别之一 APIs。要了解有关 Amazon S3 存储类别的更多信息，请参阅《Amazon S3 开发人员指南》**中的 [Amazon S3 存储类别](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)。

**注意**  
S3 Intelligent-Tiering 存储类别支持在四个访问层之间移动对象。它还支持将对象移动到存档层。但是，**适用于 SAP HANA 的 AWS Backint 代理不支持从存档层进行备份和恢复**。要恢复或删除存档层中的对象，必须先[恢复存档的 S3 对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html)，然后才能使用 AWS Backint 代理启动恢复或删除操作。

 **加密** —AWS Backint 代理支持使用带有 AWS KMS (KMS) 的服务器端加密来加密您的 SAP HANA 备份文件，同时将其存储在 Amazon S3 中。您可以使用`aws-managed-key`调用的`aws/s3`加密备份，也可以使用存储在 KMS 中的自定义对称 AWS KMS 密钥进行加密。要使用存储在 KMS（AWS托管或自定义）中的密钥加密备份文件，您必须在安装过程中提供 KMS ARN，或者稍后更新 AWS Backint 代理配置文件。要了解有关使用 AWS KMS 加密您的 S3 对象的更多信息，请参阅密* AWS 钥管理服务开发人员指南*[中的 Amazon S3 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html)。或者，您也可以使用 Amazon S3 管理的密钥为 Amazon S3 存储桶启用默认加密。要详细了解如何为您的存储桶启用默认加密，请参阅《Amazon S3 控制台用户指南》**中的[如何为 Amazon S3 存储桶启用默认加密？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/default-bucket-encryption.html)。

 **对象锁定**-您可以使用带有 S3 对象锁定的 *write-once-read-many*(WORM) 模型存储对象。如果要防止在特定时间段或无限期意外删除或覆盖 SAP HANA 备份文件，请使用 S3 对象锁定。如果启用了 S3 对象锁定，则在保留期到期之前，您无法使用 SAP HANA Cockpit、SAP HANA Studio 或 SQL 命令删除 Amazon S3 中存储的 SAP HANA 备份。要了解 S3 对象锁定，请参阅《Amazon S3 开发人员指南》**中的[使用 S3 对象锁定以锁定对象](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)。

 **对象标记**-默认情况下， AWS Backint 代理会在将 SAP HANA 备份文件存储在 S3 存储桶中` AWS BackintAgentVersion`时添加一个名为的标签。此标签有助于识别 AWS 备份 SAP HANA 数据库时使用的 Backint 版本和 SAP HANA 版本。您可以[从 S3 控制台或[使用](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html)列出标签的值](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/view-object-properties.html) APIs。要禁用默认标记，请修改 AWS Backint 代理配置文件。

## 数据边界
<a name="data-perimeter"></a>

 AWS Backint Agent 必须安装在您的 EC2 亚马逊实例上。要下载安装二进制文件，您的 EC2 实例需要访问 AWS托管安装程序包的托管的 S3 存储桶。如果您的组织使用数据边界策略来控制环境中对 Amazon S3 的访问，则可能需要明确允许这些服务拥有的存储桶，以便 EC2 实例可以检索所需的安装程序。以下策略显示了一个服务控制策略示例，该策略允许通过资源外围访问服务拥有的资源，策略 NotResource 元素中列出了相关的服务拥有的存储桶。

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceResourcePerimeterAWSResources",
      "Effect": "Deny",
      "Action": "*",
      "NotResource": [
        "arn:aws:s3:::awssap-backint-agent",
        "arn:aws:s3:::awssap-backint-agent/*"
      ],
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:ResourceOrgID": "<organization id>",
          "aws:PrincipalTag/dp:exclude:resource": "true"
        }
      }
    }
  ]
}
```

以下策略显示了 VPC 终端节点策略示例，该策略允许通过 VPC 终端节点访问特定服务拥有的资源。相关服务拥有的存储桶列在语句的 Resource 元素中。

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRequestsToAWSOwnedResources",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::awssap-backint-agent",
                "arn:aws:s3:::awssap-backint-agent/*"
            ]
        }
    ]
}
```

对于 AWS GovCloud，将存储桶名称替换为 s3: //-gov-east awssap-backint-agent-us -1 或 s3: //-gov-west-1。awssap-backint-agent-us

## AWS CLI
<a name="install-aws-cli"></a>

 AWS Backint 代理安装利用 CL AWS I 来验证 S3 存储桶的属性。要安装或更新 AWS CLI，请参阅[安装或更新到最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

# 安装和配置 SAP HAN AWS A 的 Backint Agent
<a name="aws-backint-agent-s3-installing-configuring"></a>

本节提供的信息可帮助您使用 Syst AWS ems Manager 文档或 AWS Backint 安装程序安装 AWS Backint 代理。它还提供了帮助您配置代理、查看日志和获取当前代理版本的信息。

**Topics**
+ [使用 Syst AWS ems Manager 文档安装 AWS Backint 代理](#aws-backint-agent-ssm-document)
+ [使用 AWS Backint 安装程序安装 AWS Backint 代理 — 交互模式](#aws-backint-agent-installer-interactive)
+ [使用 AWS Backint 安装程序安装 AWS Backint 代理 — 静默模式](#aws-backint-agent-installer-silent)
+ [在 B AWS ackint 代理中使用代理地址](#aws-backint-agent-sap-hana-proxy)
+ [Backint 相关的 SAP HANA 参数](#aws-backint-agent-sap-hana-parameters)
+ [修改 AWS Backint 代理配置参数](#aws-backint-agent-modifying-config)
+ [将 SAP HANA 配置为对数据和日志备份使用其他 Amazon S3 存储桶和文件夹](#configure-sap-hana-to-use-different-amazon-s3-bucket-and-folder-for-data-and-log-backup)
+ [将 SAP HANA 配置为对目录备份使用其他 Amazon S3 存储桶和文件夹](#configure-sap-hana-to-use-different-amazon-s3-bucket-and-folder-for-catalog-backup)
+ [将 AWS Backint 代理配置为使用较短的 Amazon S3 路径](#configure-aws-backint-agent-to-use-shorter-amazon-s3-paths)
+ [查看 AWS Backint 代理日志](#aws-backint-agent-view-logs)
+ [获取当前安装的 AWS Backint 代理版本](#aws-backint-agent-latest-version)
+ [更新到最新版本或安装先前版本的 AWS Backint 代理](#aws-backint-agent-update-version)
+ [性能优化](#aws-backint-agent-performance-tuning)
+ [订阅 AWS Backint 代理通知](#aws-backint-agent-sns)

## 使用 Syst AWS ems Manager 文档安装 AWS Backint 代理
<a name="aws-backint-agent-ssm-document"></a>

使用以下步骤使用 AWS SSM 文档安装 AWS Backint 代理。

**重要**  
在继续安装之前，禁用任何现有备份过程（包括计划日志备份）。如果在运行 SSM 文档之前没有禁用现有备份过程，则可能会损坏正在进行的备份，这会影响您恢复数据库的能力。

1. 在 AWS 管理控制台中，选择 “**管理和治****理” 下的 System** s Manager，或者`Systems Manager`在 “**查找服务**” 搜索栏中输入。

1. 从 Systems Manager 控制台中，选择左侧导航窗格的**共享资源**下的**文档**。

1. 在“文档”页面上，选择**归 Amazon 所有**选项卡。您应该会看到一个名为 ** AWS SAP-** 的文档InstallBackint。

1. 选择 S ** AWS AP InstallBackint** 文档，然后选择 “**运行” 命令**。

1. 在命令参数下，输入以下内容

   1.  **存储桶名称**。输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶的名称。

   1.  **存储桶文件夹**。或者，输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶内的文件夹的名称。

   1.  **系统 ID**。输入您的 SAP HANA 系统 ID，例如 `HDB`。

   1.  **存储桶区域**。输入您要存储 SA **P HANA 备份文件**的 Amazon S3 存储桶 AWS 区域。 AWS Backint 代理支持跨区域和跨账户备份。您必须提供 AWS 地区和 Amazon S3 存储桶拥有者账户 ID 以及 Amazon S3 存储桶名称，代理才能成功执行。

   1.  **存储桶拥有者账户 ID**。输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶的账户 ID。

   1.  **KMS 密钥**。输入 AWS KMS 的 ARN， AWS Backint 代理可以用它来加密存储在您的 Amazon S3 存储桶中的备份文件。

   1.  **安装目录**。输入要安装 B AWS ackint 代理的目录位置的路径。避免使用 `/tmp` 作安装路径。

   1.  **代理版本**。输入要安装的代理的版本号。如果不输入版本号，则会安装代理的最新发布版本。
**注意**  
1.0 版本在各 GovCloud 地区不可用。

   1.  **修改全局 ini 文件**。选择修改 `global.ini` 文件的方式。必须更新 SAP HANA 系统数据库的 `global.ini` 文件才能完成设置。

      1.  “modify”– SSM 将直接更新 `global.ini` 文件。

      1.  “sql”– SSM 将创建一个包含 SQL 语句且名为 `modify_global_ini.sql` 的文件，您可以在目标 SAP HANA 系统中运行该文件来设置所需的参数。您可以在 `<installation directory>/aws-backint-agent/` 文件夹中找到 `modify_global_ini.sql` 文件。

      1.  “none”– SSM 不会执行任何操作来修改 `global.ini` 文件。您必须手动更新它才能完成设置。

   1.  **忽略存储桶检查**。选择**是**可忽略 S3 存储桶的健全性检查。S3 存储桶健全性检查将验证以下几点：
      + 存储桶存在于您的账户中
      + 存储桶区域正确
      + 存储桶是公有的

   1.  **调试模式**。选择**是**可激活调试模式。

   1.  **重要提示！确保没有正在进行的备份**。选择**是**以确认您已禁用现有备份并准备好继续安装。**如果选择了“否”，SSM 文档将失败。**

1. 在 “**目标**” 下，选择目标实例用于安装 AWS Backint 代理的方法，然后选择要安装该代理的实例。如果您无法在列表中找到您的实例，请核实您是否遵循了[先决条件](aws-backint-agent-s3-prerequisites.md)中的所有步骤。

1. 在**其他参数**下，将字段留空，然后选择**运行**。
**重要**  
如果您没有安装 SSM 代理的最新版本（2.3.274.0 或更高版本），则 **Run Command** 将无法执行。

1. 成功安装代理后，您将在**命令 ID** 下看到**成功**状态。

1. 要验证安装，请登录到您的实例并查看 `/<install directory>/aws-backint-agent` 目录。您应该在目录中看到以下文件： AWS Backint 代理二进制`THIRD_PARTY_LICENSES.txt`文件、包含代理所用库许可证的文件、启动器脚本、YAML 配置文件和可选`modify_global_ini.sql`文件。此外， AWS Backint 代理的源文件 (`aws-backint-agent.tar.gz`) 存储在软件包目录中。您可以验证此文件的签名，以确保下载的源文件为原始文件且未修改。有关详细信息，请参阅本文档[中的验证 SAP HANA 的 AWS Backint 代理和安装程序的签名](aws-backint-agent-signature.md)部分。

   SSM 文档在 SAP HANA 全局目录中为 Backint 配置创建符号链接 (symlink)。确定 `/usr/sap/<SID>/SYS/global/hdb/opt` 目录中存在 `hdbbackint` 的符号链接，且 `/usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig` 目录中存在 `aws-backint-agent-config.yaml` 的符号链接。

## 使用 AWS Backint 安装程序安装 AWS Backint 代理 — 交互模式
<a name="aws-backint-agent-installer-interactive"></a>

安装 AWS Backint 代理的另一种方法是使用 B AWS ackint 安装程序。您可以从亚马逊 S3 存储桶下载 AWS Backint 安装程序。

S3 存储桶的名称为 `s3://awssap-backint-agent/`。

**注意**  
对于 AWS GovCloud （美国东部），S3 存储桶的名称为`s3://awssap-backint-agent-us-gov-east-1`。  
对于 AWS GovCloud （美国西部），S3 存储桶的名称为`s3://awssap-backint-agent-us-gov-west-1`。

您可以随时在 `s3://awssap-backint-agent/binary/latest/install-aws-backint-agent` 中找到最新安装程序 

**注意**  
对于 AWS GovCloud （美国东部），可随时在`s3://awssap-backint-agent-us-gov-east-1/binary/latest/install-aws-backint-agent`以下网址找到最新的安装程序。  
对于 AWS GovCloud （美国西部），最新的安装程序可随时在以下网址找到。`s3://awssap-backint-agent-us-gov-west-1/binary/latest/install-aws-backint-agent`

按照以下步骤在 SAP HANA AWS 实例上使用 SSH 会话中的 AWS Backint 安装程序安装 Backint 代理。

**重要**  
在继续安装之前，禁用任何现有备份过程（包括计划日志备份）。如果在运行 Back AWS int 代理安装程序之前未禁用现有备份进程，则可能会损坏正在进行的备份，这可能会影响恢复数据库的能力。

1. 导航到 `/tmp`（或保存已下载安装程序的另一个临时目录）。

   ```
   $ cd /tmp
   ```

1. 运行以下命令之一下载安装程序。

   ```
   $ sudo aws s3 cp s3://awssap-backint-agent/binary/latest/install-aws-backint-agent /tmp/ --region us-east-1
   ```

   或者

   ```
   $ sudo wget https://s3.amazonaws.com/awssap-backint-agent/binary/latest/install-aws-backint-agent -O /tmp/install-aws-backint-agent
   ```
**注意**  
如果您在使用 AWS CLI 下载 AWS Backint 安装程序时遇到权限问题，请检查您的 IAM 策略并确保您的策略允许从`awssap-backint-agent`存储桶下载对象。有关详细信息，请参阅本文档的[身份和访问管理](aws-backint-agent-s3-prerequisites.md#aws-backint-agent-iam)部分。

1. （可选）对于 AWS GovCloud （美国东部）和 AWS GovCloud （美国西部），运行以下命令之一下载安装程序。

   ```
   $ sudo aws s3 cp s3://awssap-backint-agent-us-gov-east-1/binary/latest/install-aws-backint-agent /tmp/ --region us-gov-east-1
   ```

   ```
   $ sudo aws s3 cp s3://awssap-backint-agent-us-gov-west-1/binary/latest/install-aws-backint-agent /tmp/ --region us-gov-west-1
   ```

   或者

   ```
   $ sudo wget https://awssap-backint-agent-us-gov-east-1.s3.us-gov-east-1.amazonaws.com/binary/latest/install-aws-backint-agent -O /tmp/install-aws-backint-agent
   ```

   ```
   $ sudo wget https://awssap-backint-agent-us-gov-west-1.s3.us-gov-west-1.amazonaws.com/binary/latest/install-aws-backint-agent -O /tmp/install-aws-backint-agent
   ```

1. 使用 `-h` 标志运行安装程序以查找所有可用选项。

   ```
   $ sudo python install-aws-backint-agent -h
   ```

1. 运行以下命令以执行安装程序。

   ```
   $ sudo python install-aws-backint-agent
   ```
**注意**  
如果您希望安装程序从您自己的文件系统或 Amazon S3 存储桶中获取 AWS Backint 代理二进制文件，请运行带有`-l`标志的安装程序。指定 `aws-backint-agent.tar.gz` 文件的位置。  

   ```
   $ sudo python install-aws-backint-agent -l /tmp/backint/aws-backint-agent.tar.gz
   ```

   ```
   $ sudo python install-aws-backint-agent -l s3://<S3 bucket>/aws-backint-agent.tar.gz
   ```

   ```
   $ sudo python install-aws-backint-agent -l https://<S3 bucket>.s3.amazonaws.com/aws-backint-agent.tar.gz
   ```

1. 输入以下参数的信息。

   1.  **安装目录**-输入要安装 AWS Backint 代理的目录位置的路径。安装目录的默认值为 `/hana/shared/`。

   1.  **Amazon S3 存储桶所有者** – 输入要存储 SAP HANA 备份文件的存储桶的 Amazon S3 存储桶所有者的账户 ID。

   1.  **亚马逊 S3 存储桶区域**-输入您要存储 SAP HANA 备份文件的亚马逊 S3 存储桶 AWS 区域。

   1.  **Amazon S3 存储桶名称** – 输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶的名称。

   1.  **S3 存储桶中的文件夹** – 输入要存储 SAP HANA 备份文件的 Amazon S3 存储桶中的文件夹的名称。此参数为可选的。

   1.  **Amazon S3 SSE KMS ARN** — 输入 AWS Backint 代理可以用来加密存储在 Amazon S3 存储桶中的备份文件的 AWS KMS 的 ARN。
**注意**  
如果您将此字段留空， AWS Backint 安装程序将提示您确认您不想使用存储在 AWS KMS 中的加密密钥对备份文件进行加密。如果您不确认您不想使用 kms-key 进行加密，安装程序将中止。我们强烈建议您对数据进行加密。

   1.  **SAP HANA 系统 ID** – 输入您的 SAP HANA 系统 ID，例如 `HDB`。

   1.  **HANA opt 目录** – 确认 SAP HANA opt 目录的位置。

   1.  **修改 global.ini [modify/sql/[none]]** – 选择修改 `global.ini` 文件的方式。必须更新 SAP HANA 系统的 `global.ini` 文件才能完成设置。

      1.  “修改” —AWS Backint 安装程序将直接更新`global.ini`文件。

      1.  “sql” —AWS Backint 安装程序将创建一个名为 `modify_global_ini.sql` SQL 语句的文件，你可以在目标 SAP HANA 系统中运行该文件来设置所需的参数。您可以在 `<installation directory>/aws-backint-agent/` 文件夹中找到 `modify_global_ini.sql` 文件。

      1.  “none” — AWS Backint 安装程序不会采取任何操作来修改`global.ini`文件。您必须手动更新它们才能完成设置。

   1.  **HANA 系统数据库 global.ini 文件** – 确认 `global.ini` 文件的位置。

   1.  **验证代理二进制 `0tar` 文件的签名** – 
      + 选择`y`验证 AWS Backint 代理源文件的签名。如果您选择了 `y`，请输入代理二进制 `0tar` 文件的签名文件的 Amazon S3 存储桶位置，例如 `https://s3.amazonaws.com/awssap-backint-agent/binary/latest/aws-backint-agent.sig`。或者，提供存储在实例上的本地文件。如果未进行选择就继续操作，则会使用方括号（[]）中列出的默认位置。
      + `n`如果您不想验证 AWS Backint 代理源文件的签名，请选择此选项。

   1.  **保存回复以备将来使用？** — 您可以将 AWS Backint 安装程序的信息保存到文件中。如果需要，您可以稍后使用它以静默模式运行安装程序。

   1.  **是否要继续安装？**– 确认您已禁用现有备份并准备好继续安装。

1. 要验证安装，请登录到您的实例并查看 `/<install directory>/aws-backint-agent` 目录。您应该在目录中看到以下文件： AWS Backint 代理二进制`THIRD_PARTY_LICENSES.txt`文件、包含代理所用库许可证的文件、启动器脚本、YAML 配置文件和可选`modify_global_ini.sql`文件。此外， AWS Backint 代理的源文件 (`aws-backint-agent.tar.gz`) 存储在软件包目录中。您可以验证此文件的签名，以确保下载的源文件为原始文件且未修改。有关详细信息，请参阅本文档[中的验证 SAP HANA 的 AWS Backint 代理和安装程序的签名](aws-backint-agent-signature.md)部分。

   此外， AWS Backint 安装程序还会在 SAP HANA 全局目录中为 Backint 配置创建符号链接（符号链接）。确定 `/usr/sap/<SID>/SYS/global/hdb/opt` 目录中存在 `hdbbackint` 的符号链接，且 `/usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig` 目录中存在 `aws-backint-agent-config.yaml` 的符号链接。
**注意**  
如果由于验证错误而导致安装失败，并且您希望忽略验证并继续安装，则可以使用 `-n` 标志执行安装程序以忽略验证步骤。您还可以使用 `-d` 标志在调试模式下运行安装程序，生成详细的安装日志以进行故障排除。

## 使用 AWS Backint 安装程序安装 AWS Backint 代理 — 静默模式
<a name="aws-backint-agent-installer-silent"></a>

您可以使用 AWS Backint 安装程序在静默模式下安装 AWS Backint 代理。如果您希望自动执行安装过程而无需手动干预，请选择此选项。

要在静默模式下运行 AWS Backint 安装程序，请创建一个包含所有必需安装参数的响应文件。按照[使用交互模式安装部分](#aws-backint-agent-installer-interactive)中的步骤下载 AWS Backint 安装程序并创建响应文件。您无需确认即可在交互模式下继续安装 AWS Backint 代理。 AWS Backint 安装程序将创建一个名`aws-backint-agent-install-YYYYMMDDHHMMSS.rsp`为的响应文件。

当您有一个响应文件时，您可以使用 vim 编辑器修改它，并根据需要调整参数。

下面是一个示例响应文件。

```
[DEFAULT]
s3_bucket_name = <S3 bucket>
s3_bucket_owner_account_id = 111122223333
modify_global_ini = sql
s3_bucket_region = <us-east-1>
s3_sse_kms_arn = arn:aws:kms:<us-east-1>:111122223333:key/1abcd9b9-ab12-1a2a-1abc-12345abc12a3
s3_bucket_folder = myfolder
hana_sid = TST
installation_directory = /hana/shared/
```

如果要以编程方式生成响应文件，而不是在交互模式下使用 AWS Backint 安装程序，则可以使用该`-g`标志生成新的响应文件。以下是如何使用 B AWS ackint 安装程序生成响应文件的示例。

```
$ sudo python install-aws-backint-agent -g "s3_bucket_owner_account_id = 111122223333,s3_bucket_name = <S3 bucket>,s3_bucket_region = <us-east-1>,hana_sid = TST,s3_sse_kms_arn = arn:aws:kms:<us-east-1>:111122223333:key/1abcd9b9-ab12-1a2a-1abc-12345abc12a3,s3_bucket_folder = myfolder,installation_directory = /hana/shared/,modify_global_ini = sql" -f myresponse.rsp
```

创建响应文件后，使用以下步骤在静默模式下运行 AWS Backint 安装程序。

**重要**  
在继续安装之前，禁用任何现有备份过程（包括计划日志备份）。如果在运行 Back AWS int 代理安装程序之前未禁用现有备份进程，则可能会损坏正在进行的备份，这可能会影响恢复数据库的能力。

运行以下命令，使用生成的响应文件执行安装程序。

```
$ sudo python install-aws-backint-agent -m silent -f backint-agent-install-YYYYMMDDHHMMSS.rsp -a yes
```

如果要选择安装代理的位置，请运行带有 `-l` 标志的命令并指定位置。

```
$ sudo python install-aws-backint-agent -f aws-backint-agent-install-YYYYMMDDHHMMSS.rsp -m silent -a yes -d -l /tmp/backint/aws-backint-agent.tar.gz
```

**注意**  
您必须确认已禁用现有备份，并已准备好通过传递确认标志 (`-a yes`) 在静默模式下继续安装。如果您未通过确认标志， AWS Backint 安装程序将无法执行。

## 在 B AWS ackint 代理中使用代理地址
<a name="aws-backint-agent-sap-hana-proxy"></a>

如果您在安装代理时在 SAP HANA 环境中使用代理地址，则必须使用以下 shell 脚本安装代理，以确保 AWS Backint 代理安装程序使用正确的代理设置。

```
#!/bin/bash
export https_proxy=<PROXY_ADDRESS>:<PROXY_PORT>
export HTTP_PROXY=<PROXY_ADDRESS:PROXY_PORT>
export no_proxy=169.254.169.254
export NO_PROXY=169.254.169.254
sudo python install-aws-backint-agent
```

如果您在 SAP HANA 环境中使用代理地址，则必须更新位于 AWS Backint 代理安装目录中的`aws-backint-agent-launcher.sh`文件（例如`/hana/shared/aws-backint-agent/`）。您必须执行以下更新，以确保 AWS Backint 代理在备份和还原操作期间使用正确的代理设置。

向 `aws-backint-agent-launcher.sh` 脚本添加 `http_proxy`、`HTTP_PROXY`、`no_proxy` 和 `NO_PROXY` 变量。务必使用 `no_proxy` 变量排除 `169.254.169.254` 地址。如果不排除此地址， AWS Backint 代理发出的实例元数据服务调用将失败，并在备份和还原操作期间导致错误。有关实例元数据和用户数据的更多信息，请参阅 *Amazon Linux 实例 EC2 用户指南中的实例*[元数据和](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)用户数据。

```
#!/bin/bash
export https_proxy=<PROXY_ADDRESS>:<PROXY_PORT>
export HTTP_PROXY=<PROXY_ADDRESS>:<PROXY_PORT>
export no_proxy=169.254.169.254
export NO_PROXY=169.254.169.254
/hana/shared/aws-backint-agent/aws-backint-agent "$@"
```

## Backint 相关的 SAP HANA 参数
<a name="aws-backint-agent-sap-hana-parameters"></a>

要使用 AWS Backint 代理启用 SAP HANA 备份，您必须设置以下 SAP HANA 参数。如果您为`global.ini`文件更新选择了 “修改” 选项，SSM 文档或 AWS Backint 安装程序会在系统数据库中`global.ini`添加或更新以下与 SAP HANA 备份相关的参数。如果选择了“sql”，则可以运行 `modify_global_ini.sql` 文件中指定的 SQL 语句来更新这些参数。有关这些参数的更多详细信息，请参阅《SAP HANA 管理指南》**中的[备份配置参数](https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.03/en-US/c1eb6ff410f946318dae539cb3d33f9f.html)。

```
[backup]
catalog_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
data_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
catalog_backup_using_backint = true
log_backup_using_backint = true
parallel_data_backup_backint_channels = 8
data_backup_buffer_size = 4096
max_recovery_backint_channels = 1
[communication]
tcp_backlog = 2048
[persistence]
enable_auto_log_backup = yes
verify_signature = yes
input_signature_filepath = https://s3.amazonaws.com/awssap-backint-agent/binary/latest/aws-backint-agent.sig
```

**注意**  
更改 `tcp_backlog` 参数需要重新启动 SAP HANA 才能生效。  
 `max_recovery_backint_channels`确定恢复过程中并 restored/recovered 行日志文件的数量。恢复多流备份时，SAP HANA 始终使用与备份过程相同的通道数。有关更多详细信息，请参阅 SAP 文档中的[使用第三方备份工具进行多流数据备份](https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.02/en-US/9159de1e829740908e0ba022f8e8d1b0.html)。

## 修改 AWS Backint 代理配置参数
<a name="aws-backint-agent-modifying-config"></a>

 AWS Backint 代理配置参数保存在目录下的 YAML 文件中。`/<installation directory>/aws-backint-agent/`配置文件的名称是 `aws-backint-agent-config.yaml`。下表汇总了在 AWS Backint 代理安装过程中添加的配置参数，以及您可以添加或更改的其他参数。

 **在初始设置期间添加到 `aws-backint-agent-config.yaml` 的参数** 


| 参数的名称 | 说明 | 默认 值 | 
| --- | --- | --- | 
|   `S3BucketName`   |  用于存储 SAP HANA 备份文件的 Amazon S3 存储桶的名称。例如 `amzn-s3-demo-bucket`。  |  不适用  | 
|   `S3BucketAwsRegion`   |   AWS 您的亚马逊 S3 存储桶所在的区域。例如 `us-east-1`。  |  不适用  | 
|   `S3BucketFolder`   |  用于存储 SAP HANA 备份文件的 Amazon S3 存储桶中的文件夹的名称。例如 `my-folder`。  |  空  | 
|   `S3BucketOwnerAccountID`   |  Amazon S3 存储桶所有者的 12 位账户 ID。例如 `111122223333`。  |  不适用  | 
|   `LogFile`   |   AWS Backint 代理日志文件的位置。  |   `/hana/shared/aws-backint-agent/aws-backint-agent.log`   | 
|   `S3SseKmsArn`   |   AWS Backint 代理可用于加密存储在 Amazon S3 中的备份文件的 kms-key 的 ARN。例如 `arn:aws:kms:<us-east-1>: 111122223333:key/5bfbc9b9-ab12-ab12-a123-11111xxx22xx`。  |  空  | 
|   `S3SseEnabled`   |  指定是否启用 KMS 加密。  |  如果 `S3SseKmsArn` 参数为空，则设置为 `false`。否则，设置为 `true`。  | 

 **可以添加到 `aws-backint-agent-config.yaml` 文件以更新默认值的参数** 


| 参数的名称 | 说明 | 默认 值 | 支持的起始版本 | 
| --- | --- | --- | --- | 
|   `BackupObjectTags`   |  启用对其他 S3 对象标签的支持。  要使用 `BackupObjectTags`，必须将 `EnableTagging` 设置为 `true`。 允许的值：必须是使用以下语法的有效 JSON 字符串： <pre>-BackupObjectTags: "[{Key=string,Value=string},{Key=string,Value=string},...]</pre> 有关适用的标签限制，请参阅《*Amazon EC2 用户指南*》中的[标签限制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions)。  |  不适用  |  版本 1.03  | 
|   `EnableTagging`   |  启用或禁用 S3 中存储的备份文件的默认对象标记。标记有助于识别 AWS 备份期间使用的 Backint 版本和 SAP HANA 版本。 允许的值：`true` 或 `false`。  |   `true`   |  版本 1.03  | 
|   `LogLevel`   |  指定代理日志的日志记录级别。 允许的值：`info` 或 `debug`。  |   `info`   |  版本 1.0  | 
|   `LogRotationFrequency`   |  指定 `aws-backint-agent.log` 文件轮换频率。 允许的值：`minute`、`hour`、`day` 或 `never`。  |   `never`   |  版本 1.03  | 
|   `S3StorageClass`   |  指定 AWS Backint 代理在存储备份文件时可以使用的 S3 存储类类型。 允许的值：`STANDARD`、`STANDARD_IA`、`ONEZONE_IA` 或 `INTELLIGENT_TIERING`。  |   `STANDARD`   |  版本 1.0（自 1.05 版本起推出的 Intelligent-Tiering）  | 
|   `UploadConcurrency`   |  指定备份期间可以并行运行的 Amazon S3 线程数。 允许的值：`1` 至 `200`。  |   `100`   |  版本 1.0  | 
|   `UploadChannelSize`   |  指定备份期间可与 S3 存储桶并行上传的文件数。 允许的值：`1` 至 `32`。  |   `10`   |  版本 1.0  | 
|   `MaximumConcurrentFilesForRestore`   |  指定还原期间可从 S3 并行下载的文件数。 允许的值：`1` 至 `32`。  |   `5`   |  版本 1.0  | 
|   `S3ShortenBackupDestinationEnabled`   |  指定是否使用较短的 Amazon S3 路径。 允许的值：`true` 或 `false`。  |   `false`   |  版本 1.05  | 
|   `DownloadConcurrency`   |  指定还原期间可以并行运行的 Amazon S3 线程数。 允许的值：`1` 至 `200`。  |   `100`   |  版本 1.0  | 

## 将 SAP HANA 配置为对数据和日志备份使用其他 Amazon S3 存储桶和文件夹
<a name="configure-sap-hana-to-use-different-amazon-s3-bucket-and-folder-for-data-and-log-backup"></a>

 AWS 默认情况下，Backint 代理对数据和日志备份使用相同的参数。它将数据和日志备份存储在同一 Amazon S3 存储桶和文件夹中。

```
data_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
```

要对数据和日志备份使用其他 Amazon S3 存储桶和文件夹，请执行以下步骤。

1.  **检查 SAP HANA 备份参数** 

   创建 `data_backup_parameter_file` 和 `log_backup_parameter_file` 参数。这些参数的默认值应该为 `/<installation directory>/aws-backint-agent/aws-backint-agent-config.yaml`。如果您看不到此默认值，请检查配置文件以确认其显示的 Amazon S3 位置相同。

1.  **保留对存储在先前 Amazon S3 位置的日志备份的访问权限** 

   如果这是新设置或者您不想保留之前的日志备份，请跳过此步骤并继续执行步骤 3。

   将源类型为 `volume` 的先前日志备份移动到新的 Amazon S3 位置，该位置仅用于日志备份。您可以通过运行以下 SQL 命令来确认源类型。

   ```
   select SOURCE_TYPE_NAME, DESTINATION_PATH from M_BACKUP_CATALOG_FILES
   ```

   系统将按照以下格式为备份目录指定名称：`log_backup_0_0_0_0.<BackupID>`。这种类型的备份由其他 SAP HANA 参数管理，具有源类型 `catalog`，并且应保留在数据备份位置。此文件包含备份目录文件，其中存储了所有备份的历史记录。只有源类型为 `volume` 的日志备份才应移动到新的 Amazon S3 位置。要更改 Amazon S3 目录备份位置，请参阅[将 SAP HANA 配置为对目录备份使用其他 Amazon S3 存储桶和文件夹](#configure-sap-hana-to-use-different-amazon-s3-bucket-and-folder-for-catalog-backup)。

   下表提供了系统数据库文件夹结构的示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sap/latest/sap-hana/aws-backint-agent-s3-installing-configuring.html)

   下表提供了租户数据库文件夹结构的示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sap/latest/sap-hana/aws-backint-agent-s3-installing-configuring.html)
**注意**  
在执行步骤 a 和 b 之前，请确保没有正在运行的备份进程。

   1.  **更改系统数据库的日志备份位置** 

      运行以下命令以移动系统数据库日志的卷类型。在这个示例中，我们使用了相同的 Amazon S3 存储桶，但为日志备份创建了另一个文件夹。

      ```
      # Create the folder structure
      aws s3api put-object --bucket <S3 bucket> --key <S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --region <us-east-1>
      
      # Execute a Dry Run to check
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_1_0*" --recursive --dryrun --region <us-east-1>
      
      # Run the command to move the logs to the new S3 location
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_1_0*" --recursive --region <us-east-1>
      
      # Check the output of the S3 location for logs
      aws s3 ls s3://<S3 bucket>/<S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --region <us-east-1>
      ```

   1.  **更改租户数据库的日志备份位置** 

      运行以下命令以移动租户数据库日志的卷类型。在这个示例中，我们使用了相同的 Amazon S3 存储桶，并为日志备份创建了另一个文件夹。您需要为每个租户数据库重复此步骤。

      ```
      # Create the folder structure
      aws s3api put-object --bucket <S3 bucket> --key <S3 folder for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --region <us-east-1>
      
      # Execute a Dry Run
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_2_0" --include "log_backup_3_0" --recursive --dryrun --region <us-east-1>
      
      # Run the command to move the logs to the new S3 location
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_2_0" --include "log_backup_3_0" --recursive --region <us-east-1>
      
      # Check the output of the S3 location for logs
      aws s3 ls s3://<S3 bucket>/<S3 bucket for logs>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --region <us-east-1>
      ```

1.  **创建 `aws-backint-agent-config-logs.yaml` 参数文件** 

   1. 复制现有 AWS Backint 代理配置以进行日志备份。

      ```
      $ cp /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml /hana/shared/aws-backint-agent/aws-backint-agent-config-logs.yaml
      ```

   1. 使用您的首选编辑器在 `aws-backint-agent-config-logs.yaml` 中修改 `S3BucketName`、`S3BucketFolder` 和 `LogFile` 参数。

      ```
      S3BucketName: "<Amazon S3 bucket for SAP HANA logs>"
      S3BucketFolder: "<Amazon S3 folder for SAP HANA logs>"
      LogFile: "/hana/shared/aws-backint-agent/aws-backint-agent-logs.log"
      ```

   1. 创建从 `/usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/` 到 `/hana/shared/aws-backint-agent/` 的 `hdbbackint` 软链接。

      ```
      $ ln -s /hana/shared/aws-backint-agent/aws-backint-agent-config-logs.yaml /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config-logs.yaml
      ```

1.  更新 `global.ini` 文件 

   使用以下配置更新 `global.ini` 文件。

   ```
   log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config-logs.yaml
   ```

1.  **为更新运行重新配置** 

   运行 `hdbnsutil -reconfig` 以使更新生效。

1.  **验证以确保所有步骤均已正确完成** 

   1. 运行 point-in-time恢复到之前的状态，确保您可以访问新的 Amazon S3 位置中以前的日志文件。

   1. 验证新日志是否已上传到新的 S3 位置。

1.  **删除之前的备份** 

   验证成功后，我们建议等待至少一周后再删除之前的日志。

   准备就绪后，使用以下命令删除之前的日志。

   ```
   # Delete previous backups in SYSTEMDB
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_1_0" --recursive --dryrun --region <us-east-1>
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_1_0" --recursive --region <us-east-1>
   
   # Delete previous backups in the TENANT database (Repeat for each tenant)
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include --include "log_backup_2_0" --include "log_backup_3_0" --recursive --dryrun --region <us-east-1>
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_2_0" --include "log_backup_3_0" --recursive --region <us-east-1>
   ```

## 将 SAP HANA 配置为对目录备份使用其他 Amazon S3 存储桶和文件夹
<a name="configure-sap-hana-to-use-different-amazon-s3-bucket-and-folder-for-catalog-backup"></a>

 AWS 默认情况下，Backint 代理对数据、日志和目录备份使用相同的参数。它将备份存储在同一 Amazon S3 存储桶和文件夹中。

```
data_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
catalog_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config.yaml
```

要对目录备份使用其他 Amazon S3 存储桶和文件夹，请执行以下步骤。

1.  **检查 SAP HANA 备份参数** 

   找到 `data_backup_parameter_file`、`log_backup_parameter_file` 和 `catalog_backup_parameter_file` 参数。这些参数的默认值应该为 `/<installation directory>/aws-backint-agent/aws-backint-agent-config.yaml`。如果您看不到此默认值，请检查配置文件以确认其显示的 Amazon S3 位置相同。

1.  **保留对存储在先前 Amazon S3 位置的日志备份的访问权限** 

   如果这是新设置或者您不想保留之前的目录备份，请跳过此步骤并继续执行步骤 3。

   将源类型为 `catalog` 的先前目录备份移动到新的 Amazon S3 位置，该位置仅用于目录备份。您可以通过运行以下 SQL 命令来确认源类型。

   ```
   select SOURCE_TYPE_NAME, DESTINATION_PATH from M_BACKUP_CATALOG_FILES
   ```

   系统将按照以下格式为备份目录指定名称：`log_backup_0_0_0_0.<BackupID>`。这种类型的备份的源类型为 `catalog`。此文件包含备份目录文件，其中存储了所有备份的历史记录。只有源类型为 `catalog` 的目录备份才应移动到新的 Amazon S3 位置。要更改 Amazon S3 日志备份位置，请参阅[将 SAP HANA 配置为对目录备份使用其他 Amazon S3 存储桶和文件夹](#configure-sap-hana-to-use-different-amazon-s3-bucket-and-folder-for-data-and-log-backup)。

   下表提供了系统数据库文件夹结构的示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sap/latest/sap-hana/aws-backint-agent-s3-installing-configuring.html)

   下表是租户数据库文件夹结构的示例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sap/latest/sap-hana/aws-backint-agent-s3-installing-configuring.html)
**注意**  
在执行步骤 a 和 b 之前，请确保没有正在运行的备份进程。

   1.  **更改系统数据库的目录备份位置** 

      运行以下命令以移动系统数据库日志的 `catalog` 类型。在这个示例中，我们使用了相同的 Amazon S3 存储桶，但为目录备份创建了另一个文件夹。

      ```
      # Create the folder structure
      aws s3api put-object --bucket <S3 bucket> --key S3 folder for catalog/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --region <us-east-1>
      
      # Execute a Dry Run to check
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_0_0_0_0*" --recursive --dryrun --region <us-east-1>
      
      # Run the command to move the logs to the new S3 location
      aws s3 cp s3://example-s3-bucket;/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ s3://<S3 bucket>/<S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "*" --include "log_backup_0_0_0_0*" --recursive --region <us-east-1>
      
      # Check the output of the S3 location for logs
      aws s3 ls s3://<S3 bucket>/<S3 folder for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --region <us-east-1>
      ```

   1.  **更改租户数据库的目录备份位置** 

      运行以下命令以移动租户数据库日志的 `catalog` 类型。在这个示例中，我们使用了相同的 Amazon S3 存储桶，并为目录备份创建了另一个文件夹。您需要为每个租户数据库重复此步骤。

      ```
      # Create the folder structure
      aws s3api put-object --bucket <S3 bucket> --key S3 folder for catalog/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --region <us-east-1>
      
      # Execute a Dry Run
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_0_0_0_0*" --recursive --dryrun --region <us-east-1>
      
      # Run the command to move the catalog to the new S3 location
      aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ s3://<S3 bucket>/<S3 bucket for catalog>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_0_0_0_0*" --recursive --region <us-east-1>
      
      # Check the output of the S3 location for catalog
      ```

1. 创建 ` aws-backint-agent-config-catalog.yaml ` 参数文件

   1. 复制现有 AWS Backint 代理配置以进行目录备份。

      ```
      $ cp /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml  /hana/shared/aws-backint-agent/aws-backint-agent-config-catalog.yaml
      ```

   1. 使用您的首选编辑器在 `aws-backint-agent-config-catalog.yaml` 中修改 `S3BucketName`、`S3BucketFolder` 和 `LogFile` 参数。

      ```
      S3BucketName: "Amazon S3 bucket for SAP HANA catalog"
      S3BucketFolder: "Amazon S3 folder for SAP HANA catalog"
      LogFile: "/hana/shared/aws-backint-agent/aws-backint-agent-catalog.log"
      ```

   1. 创建从 `/usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/` 到 `/hana/shared/aws-backint-agent/` 的 `hdbbackint` 软链接。

      ```
      $ ln -s /hana/shared/aws-backint-agent/aws-backint-agent-config-catalog.yaml  /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config-catalog.yaml
      ```

1. 更新 ` global.ini ` 文件

   使用以下配置更新 `global.ini` 文件。

   ```
   log_backup_parameter_file = /usr/sap/<SID>/SYS/global/hdb/opt/hdbconfig/aws-backint-agent-config-logs.yaml
   ```

1. 为更新运行重新配置

   运行 `hdbnsutil -reconfig` 以使更新生效。

1. 验证以确保所有步骤均已正确完成

   1.  point-in-time恢复到之前的状态，确保您可以访问新的 Amazon S3 位置中以前的日志文件。

   1. 验证新日志是否已上传到新的 S3 位置。

1. 删除之前的备份

   验证成功后，我们建议等待至少一周后再删除之前的目录。

   准备就绪后，使用以下命令删除之前的日志。

   ```
   # Delete previous backups in SYSTEMDB
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_0_0_0_0" --recursive --dryrun --region <us-east-1>
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/ --exclude "" --include "log_backup_0_0_0_0" --recursive --region <us-east-1>
   
   # Delete previous backups in the TENANT database (Repeat for each tenant)
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include --include "log_backup_0_0_0_0" --recursive --dryrun --region <us-east-1>
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<SID>/ --exclude "" --include "log_backup_0_0_0_0" --recursive --region <us-east-1>
   ```

## 将 AWS Backint 代理配置为使用较短的 Amazon S3 路径
<a name="configure-aws-backint-agent-to-use-shorter-amazon-s3-paths"></a>

 AWS Backint 代理使用 SAP HANA 操作系统路径作为备份的默认位置，但您可以将其配置为使用较短的路径。


|  |  | 
| --- |--- |
|  默认路径  |  <SID>s3:////<Amazon-s3-bucket><Amazon-s3-folder><SID>usr/sap///SYS/global/hdb/backint  | 
|  新路径  |  s3://<Amazon-s3-bucket>/<Amazon-s3-folder>/<SID>/  | 

要使用较短的路径，请完成以下步骤。

1. 检查 SAP HANA 备份参数

   找到 `data_backup_parameter_file`、`log_backup_parameter_file` 和 `catalog_backup_parameter_file` 参数。如果您对数据、日志和目录备份使用了相同的参数，则只需在 `aws-backint-agent-config.yaml` 文件中进行此更改。如果您使用了不同的文件，则需要在两个文件中进行这些更改。

1. 保留对存储在先前 Amazon S3 位置的备份的访问权限

   如果这是新设置或者您不想保留之前的目录备份，请跳过此步骤并继续执行步骤 3。

   确保没有正在运行的备份进程，然后运行以下命令将所有之前的备份移动到新的 Amazon S3 位置。此步骤假设您对数据和日志使用了相同的配置参数。下面的示例使用了相同的 S3 存储桶，但您可以使用一个新存储桶。

   ```
   # Execute a Dry Run to check
   aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/ s3://<S3 bucket>/<S3 folder>/<SID>/ --recursive --dryrun --region <us-east-1>
   
   # Run the command to move the backups to new S3 location
   aws s3 cp s3://<S3 bucket>/<S3 folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/ s3://<S3 bucket>/<S3 folder>/<SID>/ --recursive --region <us-east-1>
   
   # Check the output of both S3 location
   aws s3 ls s3://<S3 bucket>/<S3 folder>/<SID>/ --region <us-east-1>
   ```

1. 修改 `aws-backint-agent-config.yaml`。

   ```
   $ vi /hana/shared/aws-backint-agent/aws-backint-agent-config.yaml
   ```

   使用您的首选编辑器在 `aws-backint-agent-config.yaml` 中添加 `S3ShortenDestinationBackupEnabled` 参数。

   ```
   S3ShortenBackupDestinationEnabled: "true"
   ```

1. 验证以确保所有步骤均已正确完成

   1.  point-in-time恢复到之前的状态，确保您可以访问新的 Amazon S3 位置中以前的日志文件。

   1. 验证新日志是否已上传到新的 S3 位置。

1. 删除之前的备份

   验证成功后，我们建议等待至少一周后再删除之前的目录。

   准备就绪后，使用以下命令删除之前的日志。

   ```
   # Execute a Dry Run to make sure
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr --recursive --dryrun --region <us-east-1>
   
   # Run the command to delete it in the previous S3 location
   aws s3 rm s3://<S3 bucket>/<S3 folder>/<SID>/usr --recursive --region <us-east-1>
   
   # Check the output of both S3 location
   aws s3 ls s3://<S3 bucket>/<S3 folder>/<SID>/ --region <us-east-1>
   ```

## 查看 AWS Backint 代理日志
<a name="aws-backint-agent-view-logs"></a>

当 SAP HANA 调用 AWS Backint 代理进行与备份和还原相关的操作时，日志`aws-backint-agent.log`将写入`<installation_directory>/aws-backint-agent/`文件夹。如果要更改 AWS Backint 代理日志的位置，可以更新`aws-backint-agent-config.yaml`文件`LogFile`中的参数。

## 获取当前安装的 AWS Backint 代理版本
<a name="aws-backint-agent-latest-version"></a>

要显示 backint 版本及其支持的当前 AWS Backint 代理版本，请以`<SID>adm`用户身份使用安装目录中的`–v`参数运行`hdbbackint`命令，如下例所示。

```
$ /usr/sap/<SID>/SYS/global/hdb/opt/hdbbackint -v
```

例如，在带有 a `<SID>` s 的系统上运行上述命令会`HDB`返回 AWS Backint 代理版本为 1.05，如下图所示。

![\[Backint Agent 版本 1.05 的图像。\]](http://docs.aws.amazon.com/zh_cn/sap/latest/sap-hana/images/get-currently-installed-backint-example.png)


```
$ /usr/sap/<SID>/SYS/global/hdb/opt/hdbbackint -v
```

## 更新到最新版本或安装先前版本的 AWS Backint 代理
<a name="aws-backint-agent-update-version"></a>

 **先决条件** 

在更新代理之前，您必须完成以下任务。
+ 禁用计划数据备份，因为这些备份可能会在版本更新期间失败。
+ 从 SAP HANA 控制台、SAP HANA Studio 或通过 SQL 命令停止日志备份。

 **使用安装方法进行更新** 

可以在以下 S3 存储桶位置找到安装程序的最新版本和先前版本。
+  *最新版本* – `s3://awssap-backint-agent/binary/latest/install-aws-backint-agent` 

   * AWS GovCloud （美国东部）最新版本 —* `s3://awssap-backint-agent-us-gov-east-1/binary/latest/install-aws-backint-agent` 

   * AWS GovCloud （美国西部）最新版本 —* `s3://awssap-backint-agent-us-gov-west-1/binary/latest/install-aws-backint-agent` 
+  *先前版本* – `s3://awssap-backint-agent/binary/agent-version/install-aws-backint-agent` 

   * AWS GovCloud （美国东部）之前的版本 —* `s3://awssap-backint-agent-us-gov-east-1/binary/agent-version/install-aws-backint-agent` 

   * AWS GovCloud （美国西部）之前的版本 —* `s3://awssap-backint-agent-us-gov-west-1/binary/agent-version/install-aws-backint-agent` 

 **使用代理二进制文件进行更新** 

1. 根据您 AWS 所在的地区，将代理二进制 tar 文件从相关的 Amazon S3 位置下载到临时位置。

   ```
   $ cd /tmp
   ```

   ```
   $ mkdir agent_download && cd agent_download
   ```

   ```
   $ aws s3 cp s3://awssap-backint-agent/binary/<agent-version>/aws-backint-agent.tar.gz aws-backint-agent.tar.gz --region <us-east-1>
   ```

   可以在以下 S3 存储桶位置找到安装程序的最新版本和先前版本。
   +  *最新版本* – `s3://awssap-backint-agent/binary/latest/aws-backint-agent.tar.gz` 

      * AWS GovCloud （美国东部）最新版本 —* `s3://awssap-backint-agent-us-gov-east-1/binary/latest/aws-backint-agent.tar.gz` 

      * AWS GovCloud （美国西部）最新版本 —* `s3://awssap-backint-agent-us-gov-west-1/binary/latest/aws-backint-agent.tar.gz` 
   +  *先前版本* – `s3://awssap-backint-agent/binary/agent-version/aws-backint-agent.tar.gz` 

      * AWS GovCloud （美国东部）之前的版本 —* `s3://awssap-backint-agent-us-gov-east-1/binary/agent-version/aws-backint-agent.tar.gz` 

      * AWS GovCloud （美国西部）之前的版本 —* `s3://awssap-backint-agent-us-gov-west-1/binary/agent-version/aws-backint-agent.tar.gz` 

1. 使用以下命令提取二进制文件。

   ```
   $ tar -xf aws-backint-agent.tar.gz
   ```

1. 禁用计划数据和日志备份（如果尚未作为先决条件禁用）。

1. 使用以下命令备份现有代理二进制文件。这是为了确保在需要还原代理版本时有备份。

   ```
   $ cp <INSTALLATION_DIR>/aws-backint-agent/aws-backint-agent <INSTALLATION_DIR>/aws-backint-agent/aws-backint-agent. <mmddyy>
   ```

1. 使用以下命令复制新提取的代理二进制文件。

   ```
   $ cp aws-backint-agent <INSTALLATION_DIR>/aws-backint-agent/aws-backint-agent
   ```

1. 使用以下命令更改所有权和模式。

   ```
   $ cd <INSTALLATION_DIR>/aws-backint-agent
   ```

   ```
   $ chmod 770 aws-backint-agent
   ```

   ```
   $ chown <sid>adm:sapsys aws-backint-agent
   ```

1. 安装或更新完成后，您可以重新启用计划数据备份和日志备份。

有关根据版本适用的[代理配置参数，请参阅修改 AWS Backin](#aws-backint-agent-modifying-config) t 代理配置参数。

要使用 S AWS ystems Manager 安装代理，请将**代理版本**留空或输入特定的代理版本，然后按照[使用 Syst AWS ems Manager 文档安装 AWS Backint 代理](#aws-backint-agent-ssm-document)中的步骤进行操作。

## 性能优化
<a name="aws-backint-agent-performance-tuning"></a>

 AWS Backint 代理安装时使用默认值，可优化备份和还原操作的性能。如果要进一步优化备份和还原操作的性能，可以调整 `UploadChannelSize` 和 `MaximumConcurrentFilesForRestore` 参数。确保使用正确的实例类型和存储配置，以获得最佳性能。 AWS Backint 代理受实例中可用资源的限制。

`UploadChannelSize` 参数用于确定备份期间可以将多少个文件并行上传到 S3 存储桶。此参数的默认值为 `10`，它在大多数情况下可提供最佳性能。

`UploadConcurrency` 参数用于确定备份期间可以并行工作的 S3 线程的数量。此参数的默认值为 `100`，它在大多数情况下可提供最佳性能。

`MaximumConcurrentFilesForRestore` 参数用于确定在还原操作期间可以从 S3 并行下载多少个文件。此参数的默认值为 `5`，它为大多数使用案例提供最佳性能。

如果要调整这些参数，可以将它们添加到 `aws-backint-agent-config.yaml` 文件并调整值（最多可达到允许的最大值）。我们强烈建议您在更改后测试备份和恢复操作，以确保不会对您的备份和还原操作以及其他标准操作产生意想不到的影响。

对于非生产服务器和小于 512 GB 的 SAP HANA 实例，您可以降低 Amazon S3 上传和还原参数，以避免数据量 Amazon EBS 吞吐量达到上限。您可以为非生产实例分配较低的参数值。


|  |  | 
| --- |--- |
|   `UploadConcurrency`   |  10  | 
|   `UploadChannelSize`   |  5  | 

在提高参数值以获得最佳备份时间和磁盘使用率之前，您可以测试备份速度和 Amazon EBS 使用情况。有关更多信息，请参阅 [SAP HANA 的存储配置](https://docs.aws.amazon.com/sap/latest/sap-hana/hana-ops-storage-config.html)。

## 订阅 AWS Backint 代理通知
<a name="aws-backint-agent-sns"></a>

当新版本 AWS 的 Backint 代理 AWS 或 Backint 安装程序发布时，亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 可以通知您。以下过程显示了如何订阅这些通知。

1. 在 v3/home 上打开亚马逊 SNS 控制台。 https://console.aws.amazon.com/sns/

1. 从导航栏的区域选择器中，如果尚未选中**美国东部（弗吉尼亚北部）**，请选择它。您必须选择此区域，因为您订阅的 B AWS ackint 代理的 SNS 通知仅从该区域生成。

1. 在导航窗格中，选择**订阅**。

1. 选择**创建订阅**。

1. 对于**创建订阅**，请执行以下操作：

   1. 对于 **Topic ARN**，请使用以下 Amazon Resource Name (ARN)：

       `arn:aws:sns:<us-east-1>:464188257626:AWS-Backint-Agent-Update` 

      对于和区域，请使用 `arn:aws-cn:sns:cn-north-1:476271213511:AWS-Backint-Agent-Update` 

      对于 AWS GovCloud （美国东部）和 AWS GovCloud （美国西部），请使用 `arn:aws-us-gov:sns:us-gov-east-1:516607370456:AWS-Backint-Agent-Update` 

   1. 对于**协议**，选择**电子邮件**或 **SMS**。

   1. 对于**端点**，输入可用来接收通知的电子邮件地址。如果您选择 **SMS**，请输入区号和号码。

   1. 选择**创建订阅**。

1. 如果选择**电子邮件**，您会收到一封要求确认订阅的电子邮件。打开电子邮件，然后按照说明操作以完成订阅。

   每当发布新版本的 AWS Backint 代理或 AWS Backint 安装程序时，我们都会向订阅者发送通知。如果您不希望再收到这些通知，请通过以下步骤取消订阅。

1. 打开 Amazon SNS 控制台。

1. 在导航窗格中，选择 **Subscriptions**。

1. 选择订阅，然后依次选择**操作**、**删除订阅**。当系统提示进行确认时，选择 **Delete**。

# 使用适用于 SAP HANA 的 Backint Agen AWS t 备份和还原你的 SAP HANA 系统
<a name="aws-backint-agent-s3-backup-restore"></a>

在您的亚马逊 EC2 实例上安装并配置 AWS Backint 代理后，您可以使用 SQL 语句、SAP HANA Cockpit 或 SAP HANA Studio 启动备份和恢复。

**Topics**
+ [使用 SQL 语句进行备份和恢复](#aws-backint-agent-backup-recovery-sql)
+ [使用 SAP HANA Cockpit 或 SAP HANA Studio 进行备份和恢复](#aws-backint-agent-backup-recovery-sap-hana-cockpit-studio)
+ [获取备份和恢复状态](#aws-backint-agent-backup-recovery-status)
+ [在 Amazon S3 存储桶中查找备份](#aws-backint-agent-backup-recovery-s3)
+ [安排和管理备份](#aws-backint-agent-backup-schedule)
+ [备份保留](#aws-backint-agent-backup-retention)

## 使用 SQL 语句进行备份和恢复
<a name="aws-backint-agent-backup-recovery-sql"></a>

以下是可用于执行备份和恢复的 SQL 语句示例，示例的数量有限。我们建议您始终参考 SAP、SAP HANA 管理或 SQL 参考指南，以查找特定 SAP HANA 版本所有其他选项的语法。有关更多详细信息，请参阅《SAP HANA SQL 参考指南》**中的 [Backup and Recovery Statements](https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.04/en-US/6304145fdb044950a55b1c419775a2a1.html)。

以下示例显示了启动系统数据库完整数据备份的语法。

```
BACKUP DATA USING BACKINT ('/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/<MY_PREFIX>')
```

以下示例显示了启动租户数据库完整数据备份的语法。

```
BACKUP DATA FOR <TENANT DB ID> USING BACKINT ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>/<MY_PREFIX >')
```

以下示例显示了启动租户数据库差异数据备份的语法。

```
BACKUP DATA DIFFERENTIAL FOR <TENANT DB ID> USING BACKINT ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>/<MY_PREFIX >')
```

以下示例显示了启动租户数据库增量数据备份的语法。

```
BACKUP DATA INCREMENTAL FOR <TENANT DB ID> USING BACKINT ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>/<MY_PREFIX >')
```

以下示例显示了将租户数据库恢复到特定时间点的语法。

```
RECOVER DATABASE FOR <TENANT DB ID> UNTIL TIMESTAMP 'YYYY-MM-DD HH:MM:SS' USING DATA PATH ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>/') USING LOG PATH ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>') USING BACKUP_ID 1234567890123 CHECK ACCESS USING BACKINT
```

以下示例显示了使用 S3 中存储的目录从特定数据备份恢复租户数据库的语法。

```
RECOVER DATA FOR <TENANT DB ID> USING BACKUP_ID 1234567890123 USING CATALOG BACKINT USING DATA PATH ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>/') CLEAR LOG
```

以下示例显示了在不使用目录的情况下从特定数据备份恢复租户数据库的语法。

```
RECOVER DATA FOR <TENANT DB ID>  USING BACKINT ('/usr/sap/<SID>/SYS/global/hdb/backint/DB_<TENANT DB ID>/<MY_PREFIX >') CLEAR LOG
```

使用 AWS Backint 代理，您可以通过将源数据库的备份还原到目标数据库来执行系统复制。要使用 AWS Backint 代理执行系统复制，请验证以下要求。

1. 您必须在源系统和目标系统中都配置了 AWS Backint 代理。

1. 检查源系统和目标系统的 SAP HANA 软件版本的兼容性。

1. 目标系统中的 AWS Backint 代理应该能够访问存储源系统备份的 Amazon S3 存储桶。如果您在源系统和目标系统中使用不同的 Amazon S3 存储桶进行备份，则必须调整目标系统中 AWS Backint 代理的配置参数，使其暂时指向存储在源系统中的备份的 Amazon S3 存储桶。

1. 如果您要跨两个不同的 AWS 账户执行系统复制，请确保您拥有相应的 IAM 权限和 Amazon S3 存储桶策略。有关详细信息，请参阅本文档中的[身份和访问管理](aws-backint-agent-s3-prerequisites.md#aws-backint-agent-iam)部分。

以下是将源租户数据库的特定备份还原到目标租户数据库的语法。

```
RECOVER DATA FOR <TARGET TENANT DB ID>  USING SOURCE '<SOURCE TENANT DB ID>@<SOURCE SYSTEM ID>' USING BACKUP_ID 1234567890123 USING CATALOG BACKINT USING DATA PATH ('/usr/sap/<SOURCE SYSTEM ID>/SYS/global/hdb/backint/DB_<SOURCE TENANT DB ID>/') CLEAR LOG
```

以下 SQL 语句示例用于将源系统 `QAS` 中名为 `SRC` 的源租户数据库的特定备份还原到名为 `TGT` 的目标租户数据库。

```
RECOVER DATA FOR TGT USING SOURCE 'SRC@QAS' USING BACKUP_ID 1234567890123 USING CATALOG BACKINT USING DATA PATH ('/usr/sap/QAS/SYS/global/hdb/backint/DB_SRC/')  CLEAR LOG
```

以下是一个 SQL 语句的示例，该语句用于将源系统中名为的源租户数据库（名为`SRC`） point-in-time恢复`QAS`到名为的目标租户数据库`TGT`。

```
RECOVER DATABASE FOR TGT UNTIL TIMESTAMP '2020-01-31 01:00:00' CLEAR LOG USING SOURCE 'SRC@QAS' USING CATALOG BACKINT USING LOG PATH ('/usr/sap/QAS/SYS/global/hdb/backint/DB_SRC') USING DATA PATH ('/usr/sap/QAS/SYS/global/hdb/backint/DB_SRC/') USING BACKUP_ID 1234567890123 CHECK ACCESS USING BACKINT
```

## 使用 SAP HANA Cockpit 或 SAP HANA Studio 进行备份和恢复
<a name="aws-backint-agent-backup-recovery-sap-hana-cockpit-studio"></a>

除了使用 SQL 语句之外，您还可以从 SAP HANA Cockpit 或 SAP HANA Studio 启动备份和恢复过程。有关更多信息，请参阅 SAP 文档中的[备份和恢复](https://help.sap.com/viewer/afa922439b204e9caf22c78b6b69e4f2/2.4.0.0/en-US/7b60ff9fc11a4c36adb2e75b993a06c9.html)以及[参考：备份控制台 (SAP HANA Studio)](https://help.sap.com/viewer/6b94445c94ae495c83a19646e7c3fd56/2.0.03/en-US/2febf2472303493fbfe26eeb822f26f4.html)。确保您使用的是 SAP HANA Cockpit 或 SAP HANA Studio 的最新版本，以便从 SAP 获取所有最新功能。

## 获取备份和恢复状态
<a name="aws-backint-agent-backup-recovery-status"></a>

使用您当前的备份和还原方法来确认备份和还原请求的状态，并验证 AWS Backint 代理是否正常运行。例如，如果您使用 SAP HANA Studio 监控正在运行的备份的进度，则可以对 Back AWS int 代理触发的任何备份请求执行相同的操作。对于故障情况，您可以查看 AWS Backint 代理日志或 SAP HANA 备份日志中是否存在错误，然后采取措施或联系 Suppor AWS t 寻求帮助。

## 在 Amazon S3 存储桶中查找备份
<a name="aws-backint-agent-backup-recovery-s3"></a>

您可以从 Amazon S3 控制台或使用验证您的 Amazon S3 存储桶中的备份文件 APIs。 AWS Backint 代理使用您的 Amazon S3 存储桶中的指定文件夹结构存储您的备份文件。在备份和还原期间，SAP HANA 使用此文件夹结构将数据流式传输到 Backint 代理可以读取和写入的管道中。 AWS Backint 代理在 Amazon S3 存储桶中保持相同的文件夹结构。我们建议您在备份文件后不要更改此结构。更改文件夹结构会导致还原操作期间出现问题，并影响您的可恢复性。

对于系统和租户数据库，您可以在以下位置找到数据、日志和目录备份。您的数据备份将包含您在备份过程中使用的附加前缀。

```
<amzn-s3-demo-bucket>/<optional-my-folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/SYSTEMDB/
```

```
<amzn-s3-demo-bucket>/<optional-my-folder>/<SID>/usr/sap/<SID>/SYS/global/hdb/backint/DB_<Tenant ID>/
```

## 安排和管理备份
<a name="aws-backint-agent-backup-schedule"></a>

您可以使用 SAP HANA Cockpit 计划目标 SAP HANA 数据库的定期备份，包括日志备份。确保在计划备份时选择 Backint 作为备份类型。有关更多详细信息，请参阅《使用 SAP HANA Cockpit 进行 SAP HANA 管理的指南》**中的 [Schedule Backups](https://help.sap.com/viewer/afa922439b204e9caf22c78b6b69e4f2/2.6.0.0/en-US/307452ce29b942c895e5de614043983a.html)。

## 备份保留
<a name="aws-backint-agent-backup-retention"></a>

从 SAP HANA 2 SPS 03 开始，您可以使用 SAP HANA Cockpit 设置 SAP HANA 数据库备份的保留策略。根据您的保留策略，SAP HANA Cockpit 可以自动触发作业，从目录中删除旧备份以及物理备份。此过程还会自动删除存储在 Amazon S3 存储桶中的备份文件。有关更多信息，请参阅《使用 SAP HANA Cockpit 进行 SAP HANA 管理的指南》**的 [Backup Configuration Settings](https://help.sap.com/viewer/afa922439b204e9caf22c78b6b69e4f2/2.10.0.0/en-US/b495da9a043a499893abc50c5cd367d9.html) 中的“Retention Policy”。