

# Amazon RDS 上的 Db2 概述
<a name="db2-overview"></a>

您可以阅读以下部分以获取 Amazon RDS 上的 Db2 概述。

**Topics**
+ [Amazon RDS for Db2 功能](Db2.Concepts.FeatureSupport.md)
+ [Amazon RDS 上的 Db2 版本](Db2.Concepts.VersionMgmt.md)
+ [Amazon RDS for Db2 许可选项](db2-licensing.md)
+ [Amazon RDS for Db2 实例类](Db2.Concepts.General.InstanceClasses.md)
+ [Amazon RDS for Db2 默认角色](db2-default-roles.md)
+ [Amazon RDS for Db2 参数](db2-supported-parameters.md)
+ [Amazon RDS 上 Db2 数据库的 EBCDIC 排序规则](db2-ebcdic.md)
+ [Amazon RDS for Db2 数据库实例的本地时区](db2-time-zone.md)

# Amazon RDS for Db2 功能
<a name="Db2.Concepts.FeatureSupport"></a>

Amazon RDS for Db2 支持 IBM Db2 数据库的大部分功能。有些功能可能仅提供有限支持或受限制的权限。有关特定 Db2 版本的 Db2 数据库功能的更多信息，请参阅 [IBM Db2 文档](https://www.ibm.com/docs/en/db2)。

您可以在[数据库的新增功能？](https://aws.amazon.com/about-aws/whats-new/database/)页面上筛选新的 Amazon RDS 功能。对于 **Products (产品)**，请选择 **Amazon RDS**。然后，可以使用 **Db2 2023** 之类的关键词进行搜索。

**注意**  
以下列表并不详尽。

**Topics**
+ [RDS for Db2 中支持的功能](#db2-supported-features)
+ [RDS for Db2 中不支持的功能](#db2-unsupported-features)

## RDS for Db2 中支持的功能
<a name="db2-supported-features"></a>

RDS for Db2 支持的功能包括 IBM Db2 原生功能和 Amazon RDS 核心功能。

### IBM Db2 的原生功能
<a name="db2-supported-features-native-db2"></a>

RDS for Db2 支持以下 Db2 数据库功能：
+ 创建使用客户定义的代码集、排序规则、页面大小和地区的标准数据库。使用 Amazon RDS [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) 存储过程。
+ 添加、删除或修改本地用户和组。将 Amazon RDS 存储过程用于[用于对 RDS for Db2 授予和撤销权限的存储过程](db2-sp-granting-revoking-privileges.md)。
+ 使用 Amazon RDS [rdsadmin.create\$1role](db2-sp-granting-revoking-privileges.md#db2-sp-create-role) 存储过程创建角色。
+ 支持按行排列的标准表。
+ 支持按列排列的表的分析工作负载。
+ 能够定义 Db2 兼容性功能，例如 Oracle 和 MySQL。
+ 支持基于 Java 的外部存储过程。
+ 支持使用 SSL/TLS 进行传输中数据加密。
+ 监控数据库的状态（`ALIVE`、`DOWN`、`STORAGE_FULL`、`UNKNOWN` 和 `STANDBY_CONNECTABLE`）。
+ 还原客户提供的脱机或联机 Linux (LE) 数据库。将 Amazon RDS 存储过程用于[用于管理 RDS for Db2 数据库的存储过程](db2-sp-managing-databases.md)。
+ 应用客户提供的 Db2 存档日志，以使数据库与自行管理的 Db2 数据库保持同步。将 Amazon RDS 存储过程用于[用于管理 RDS for Db2 数据库的存储过程](db2-sp-managing-databases.md)。
+ 支持 Db2 实例级和数据库级审核。
+ 支持同构联合身份验证。
+ 能够从 Amazon Simple Storage Service（Amazon S3）中的数据文件加载表。
+ 授予用户、组或角色的授权，例如 `CONNECT`、`SYSMON`、`ACCESSCTRL`、`DATAACCESS`、`SQLADM`、`WLMADM`、`EXPLAIN`、`LOAD` 或 `IMPLICIT_SCHEMA`。
+ 创建多个数据库。
**注意**  
一个 RDS for Db2 数据库实例可以包含多达 50 个数据库。有关更多信息，请参阅 [Amazon RDS for Db2 数据库实例上的多个数据库](db2-multiple-databases.md)。

### Amazon RDS 的核心功能
<a name="db2-supported-features-rds-core"></a>

RDS for Db2 支持以下核心 Amazon RDS 功能：
+ 要分配给数据库实例的自定义参数组
+ 创建、修改和删除数据库实例
+ 还原自行管理的 Db2 脱机或联机 Linux (LE) 数据库备份
**注意**  
为了能够还原备份，请在创建数据库实例时不要提供数据库的名称。有关更多信息，请参阅 [创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)。
+ 支持 gp3、io2 和 io1 存储类型
+ 使用 AWS Managed Microsoft AD 对 RDS for Db2 进行 Kerberos 身份验证和 LDAP 组授权
+ 修改现有 Db2 实例的安全组、端口、实例类型、存储、备份保留期和其它设置
+ 数据库实例的删除保护
+ 跨区域时间点故障恢复（PITR），面向加密的备份
+ 使用 AWS Key Management Service（AWS KMS）进行存储加密和静态加密
+ 多可用区数据库实例，带有一个备用实例以实现高可用性
+ 重启数据库实例
+ 更新主密码
+ 将数据库实例还原到特定时间
+ 使用存储级备份来备份和还原数据库实例
+ 启动和停止数据库实例
+ 维护数据库实例
+ 同区域和跨区域备用副本和只读副本

## RDS for Db2 中不支持的功能
<a name="db2-unsupported-features"></a>

RDS for Db2 不支持以下 Db2 数据库功能：
+ 主用户的 `SYSADM`、`SECADM` 和 `SYSMAINT` 访问权限。
+ 用 C、C\$1\$1 或 Cobol 编写的外部存储过程。
+ 单台主机上有多个 Db2 数据库实例。
+ 用于身份验证的外部 GSS-API 插件。
+ 用于备份或还原 Db2 数据库的外部第三方插件。
+ 多节点大规模并行处理（MPP），例如 IBM Db2 Warehouse。
+ IBM Db2 pureScale.
+ 为于 RDS for Db2 手动设置高可用性灾难恢复（HADR）。
**注意**  
Amazon RDS 通过副本为 RDS for Db2 支持和管理 HADR。有关更多信息，请参阅 [使用适用于 Amazon RDS for Db2 的副本](db2-replication.md)。  
RDS for Db2 支持多可用区部署、跨区域自动备份和复制。有关更多信息，请参阅[Amazon RDS 的多可用区数据库实例部署](Concepts.MultiAZSingleStandby.md)和[将自动备份复制到其他 AWS 区域](USER_ReplicateBackups.md)。
+ 原生数据库加密。
+ 与 Informix、Sybase 和 Teradata 的异构联合身份验证。有关更多信息，请参阅 [Amazon RDS for Db2 联合身份验证](db2-federation.md)。
+ 通过备份和还原数据，创建非防护例程并迁移现有的非防护例程。有关更多信息，请参阅 [非防护例程](db2-known-issues-limitations.md#db2-known-issues-limitations-non-fenced-routines)。
+ 创建新的非自动存储表空间。有关更多信息，请参阅 [迁移期间的非自动存储表空间](db2-known-issues-limitations.md#db2-known-issues-limitations-non-automatic-storage-tablespaces)。
+ 外部表。

# Amazon RDS 上的 Db2 版本
<a name="Db2.Concepts.VersionMgmt"></a>

对于 Db2，版本号采用 *major.minor.build.revision* 的形式，例如 11.5.9.0.sb00000000.r1。我们的版本实现与 Db2 的版本实现一致。

**major**  
主要版本号是版本号的整数和第一个小数点后的部分，例如 11.5。如果主要版本号更改，则将版本更改视为主要版本更改；例如，从版本 11.5 更改为 12.1。

**minor**  
次要版本号是版本号的第三部分和第四部分，例如 11.5.9.0 中的 9.0。第三部分表示 Db2 模组包，例如 9.0 中的 9。第四部分表示 Db2 修复包，例如 9.0 中的 0。如果 Db2 模组包或 Db2 修复包发生变化（例如，从版本 11.5.9.0 更改为 11.5.9.1，或者从 11.5.9.0 更改为 11.5.10.0），则版本更改被视为次要更改，但提供目录表更新除外。（Amazon RDS 会处理这些例外情况。）

** 构建**  
内部版本号是版本号的第五部分，例如 11.5.9.0.sb00000000 中的 sb00000000。编号部分全部为零的内部版本号表示标准内部版本。编号部分不全为零的内部版本号表示特殊内部版本。如果现有 Db2 版本有安全修复或特殊内部版本，则内部版本号会发生变化。内部版本号的更改还表明 Amazon RDS 自动应用了新的次要版本。

**revision**  
修订号是版本号的第六部分，例如 11.5.9.0.sb00000000.r1 中的 r1。修订是对现有 Db2 版本的 Amazon RDS 修订。修订号更改表明 Amazon RDS 自动应用了新的次要版本。

**Topics**
+ [Amazon RDS Db2 实例的升级管理](Db2.Concepts.VersionMgmt.Supported.md)
+ [Amazon RDS 上支持的 Db2 主要版本](#Db2.Concepts.VersionMgmt.ReleaseCalendar)

# Amazon RDS Db2 实例的升级管理
<a name="Db2.Concepts.VersionMgmt.Supported"></a>

要查看 RDS 上支持的 Db2 次要版本的当前列表，请使用以下命令之一：

```
aws rds describe-db-engine-versions --engine db2-se
aws rds describe-db-engine-versions --engine db2-ae
```

Amazon RDS 还支持升级推出策略，以管理跨多个数据库资源和 AWS 账户的自动次要版本升级。有关更多信息，请参阅 [使用 AWS Organizations 升级推出策略自动升级次要版本](RDS.Maintenance.AMVU.UpgradeRollout.md)。

在创建新数据库实例时，您可以指定目前支持的任何 Db2 版本。您可以指定主要版本（例如 Db2 11.5），以及所指定主要版本的任何受支持的次要版本。如果没有指定版本，Amazon RDS 会默认使用支持的版本，通常是最新的版本。如果指定了主要版本但未指定次要版本，Amazon RDS 将默认使用您指定的主要版本的最新版本。要查看受支持版本的列表以及新建数据库实例的默认值，请使用 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) AWS Command Line Interface（AWS CLI）命令。

例如，要列出 Amazon RDS for Db2 支持的引擎版本，请运行以下 AWS CLI 命令。将*区域*替换为您的 AWS 区域。

对于 Linux、macOS 或 Unix：

```
aws rds describe-db-engine-versions \
    --filters Name=engine,Values=db2-ae,db2-se \
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" \
    --region region
```

对于：Windows

```
aws rds describe-db-engine-versions ^
    --filters Name=engine,Values=db2-ae,db2-se ^
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" ^
    --region region
```

此命令生成类似于以下示例的输出：

```
[
    {
    "Engine": "db2-ae",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-ae-11.5"
    },
    {
    "Engine": "db2-se",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-se-11.5"
    }
]
```

默认 Db2 版本可能因 AWS 区域而异。要创建具有特定次要版本的数据库实例，请在数据库实例创建过程中指定次要版本。您可以通过运行 ` describe-db-engine-versions` 命令来确定适用于 AWS 区域的 `db2-ae` 和 `db2-se` 数据库引擎的默认版本。以下示例返回美国东部（弗吉尼亚州北部）中 `db2-ae` 的默认版本。

对于 Linux、macOS 或 Unix：

```
aws rds describe-db-engine-versions \
    --default-only --engine db2-ae \
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" \
    --region us-east-1
```

对于：Windows

```
aws rds describe-db-engine-versions ^
    --default-only --engine db2-ae ^
    --query "DBEngineVersions[].{Engine:Engine, EngineVersion:EngineVersion, DBParameterGroupFamily:DBParameterGroupFamily}" ^
    --region us-east-1
```

此命令生成类似于以下示例的输出：

```
[
    {
    "Engine": "db2-ae",
    "EngineVersion": "11.5.9.0.sb00000000.r1",
    "DBParameterGroupFamily": "db2-ae-11.5"
    }
]
```

借助于 Amazon RDS，您可以控制何时将 Db2 实例升级到 Amazon RDS 支持的新主要版本。可与 Db2 的特定版本保持兼容、对应用程序测试新版本，然后再部署到生产环境中以及在最适合计划的时间执行主要版本升级。

启用自动次要版本升级后，Amazon RDS 会自动将您的数据库实例升级到新的 Db2 次要版本，因为它们受到 Amazon RDS 支持。此修补在计划的维护时段内进行。您可以修改数据库实例以启用或禁用自动次要版本升级。

除了 Db2 版本 11.5.9.1 和 11.5.10.0 之外，自动升级到新 Db2 次要版本包括自动升级到新的内部版本和修订版。对于 11.5.9.1 和 11.5.10.0，请手动升级次要版本。

如果选择退出自动计划的升级，您可以按照与主要版本更新相同的步骤手动升级到支持的次要版本。有关信息，请参阅[升级数据库实例 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。

## Amazon RDS 上支持的 Db2 主要版本
<a name="Db2.Concepts.VersionMgmt.ReleaseCalendar"></a>

RDS for Db2 主要版本在标准支持下可用，至少到相应 IBM 版本的 IBM 支持结束日期（基本）为止。下表显示了可用于计划测试和升级周期的日期。如果 Amazon 对某个 RDS for Db2 版本的支持时间比原定时间更长，我们会计划更新此表以反映较晚的日期。

您可以参照下列日期规划您的测试和升级周期。

**注意**  
只有月份和年份的发布日期均为大概日期，这些日期会在确切日期明确后进行更新。  
您还可以运行 [describe-db-major-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-major-engine-versions.html) AWS CLI 命令或者使用 [DescribeDBMajorEngineVersions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBMajorEngineVersions.html) RDS API 操作，来查看 Db2 数据库的主要版本。


| Db2 主要版本  | IBM 发行日期  | RDS 发布日期  | IBM 终止支持（标准版和高级版） | IBM 支持结束日期（扩展） | 
| --- | --- | --- | --- | --- | 
|  Db2 11.5  |  2019 年 6 月 27 日  |  2023 年 11 月 27 日  | 2027 年 4 月 30 日 |  2031 年 4 月 30 日  | 

# Amazon RDS for Db2 许可选项
<a name="db2-licensing"></a>

Amazon RDS for Db2 提供两种许可选项：自带许可（BYOL）和通过 AWS Marketplace 获得 Db2 许可证。

**Topics**
+ [Db2 的自带许可（BYOL）](#db2-licensing-options-byol)
+ [通过 AWS Marketplace 获得 Db2 许可证](#db2-licensing-options-marketplace)
+ [在 Db2 许可证之间切换](#db2-edition-license-switching)

## Db2 的自带许可（BYOL）
<a name="db2-licensing-options-byol"></a>

在 BYOL 模式下，使用您现有的 Db2 数据库许可证在 Amazon RDS 上部署数据库。确认您拥有与要运行的数据库实例类和 Db2 数据库版本对应的 Db2 数据库许可证。您还必须遵循 IBM 对云计算环境中的 IBM 数据库软件授予许可的策略。

**注意**  
多可用区数据库实例是冷备用实例，因为 Db2 数据库已安装但未运行。备用数据库无法读取、运行或处理请求。有关更多信息，请参阅 IBM 网站上的 [IBM Db2 许可信息]( https://www.ibm.com/support/customer/csol/terms/licenses#license-search)。

在此模式下，您可以继续使用有效的 IBM 支持账户，并能直接联系 IBM 解决 Db2 数据库服务请求。如果您拥有可享受案例支持的支持账户，可以联系 支持 了解 Amazon RDS 问题。Amazon Web Services 和 IBM 为需要两个组织提供帮助的案例提供多供应商支持流程。

Amazon RDS 对于 Db2 Standard Edition 和 Db2 Advanced Edition 支持 BYOL 模型。

**Topics**
+ [Db2 的自带许可（BYOL）的 IBM ID](#db2-prereqs-ibm-info)
+ [将 IBM ID 添加到 RDS for Db2 数据库实例的参数组中](#db2-licensing-options-byol-adding-ids)
+ [将 与 集成AWS License Manager](#db2-lms-integration)

### Db2 的自带许可（BYOL）的 IBM ID
<a name="db2-prereqs-ibm-info"></a>

在 BYOL 模式中，您需要 IBM Customer ID 和 IBM Site ID 来创建、修改或还原 RDS for Db2 数据库实例。在创建 RDS for Db2 数据库实例*之前*，必须使用 IBM Customer ID 和 IBM Site ID 创建自定义参数组。有关更多信息，请参阅 [将 IBM ID 添加到 RDS for Db2 数据库实例的参数组中](#db2-licensing-options-byol-adding-ids)。您可以在同一 AWS 账户或 AWS 区域中运行多个具有不同 IBM Customer IDs 和 IBM Site IDs 的 RDS for Db2 数据库实例。

**重要**  
如果我们无法通过 IBM Customer ID 和 IBM Site ID 验证您的许可证，我们可能会终止使用这些未经验证的许可证运行的所有数据库实例。

如果您是新的 IBM Db2 客户，则必须先从 [https://www.ibm.com/products/db2/pricing](https://www.ibm.com/products/db2/pricing) 购买 Db2 软件许可证。购买 Db2 软件许可证后，您将收到一份来自 IBM 的权利证明，其中列出了您的 IBM Customer ID 和 IBM Site ID。

如果您是现有 IBM Db2 客户，则可以从 IBM 提供的权利证明证书上找到您的 IBM Customer ID 和 IBM Site ID。

也可以在您的 [IBM Passport Advantage Online](https://www.ibm.com/software/passportadvantage/pao_customer.html) 账户中找到 IBM Customer ID 和 IBM Site ID。登录后，您可以在主页或软件下载页面上查看这两个 ID。

### 将 IBM ID 添加到 RDS for Db2 数据库实例的参数组中
<a name="db2-licensing-options-byol-adding-ids"></a>

由于您无法修改默认参数组，因此必须创建自定义参数组，然后对其进行修改以包含 IBM Customer ID 和 IBM Site ID 的值。有关参数组的信息，请参阅 [Amazon RDS 数据库实例的数据库参数组](USER_WorkingWithDBInstanceParamGroups.md)。

**重要**  
在创建 RDS for Db2 数据库实例*之前*，必须使用 IBM Customer ID 和 IBM Site ID 创建自定义参数组。

使用下表中的参数设置。


| 参数 | 值 | 
| --- | --- | 
|  `rds.ibm_customer_id`  |  `<your IBM Customer ID>`  | 
|  `rds.ibm_site_id`  |  `<your IBM Site ID>`  | 
|  `ApplyMethod`  |  `immediate`, `pending-reboot`  | 

这些参数是动态的，这意味着对它们所做的任何更改都会立即生效，并且您无需重启数据库实例。如果您不希望更改立即生效，则可以将 `ApplyMethod` 设置为 `pending-reboot`，并安排在维护时段期间进行这些更改。

您可以使用 AWS 管理控制台、AWS CLI 或 Amazon RDS API 创建和修改自定义参数组。

#### 控制台
<a name="db2-licensing-options-adding-ids-console"></a>

**将您的 IBM Customer ID 和 IBM Site ID 添加到参数组**

1. 创建新的数据库参数组。有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 修改您创建的参数组。有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

#### AWS CLI
<a name="db2-licensing-options-adding-ids-cli"></a>

**将您的 IBM Customer ID 和 IBM Site ID 添加到参数组**

1. 通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) 命令创建自定义参数组。

   包括以下必需选项：
   + `--db-parameter-group-name` - 您正在创建的参数组的名称。
   + `--db-parameter-group-family` – Db2 引擎版本和主要版本。有效值：`db2-se-11.5`、`db2-ae-11.5`。
   + `--description` – 此参数组的描述。

   有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) 命令修改您创建的自定义参数组中的参数。

   包括以下必需选项：
   + `--db-parameter-group-name` – 您创建的参数组的名称。
   + `--parameters` – 参数名称、值和参数更新应用方法的数组。

   有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

#### RDS API
<a name="db2-licensing-options-adding-ids-api"></a>

**将您的 IBM Customer ID 和 IBM Site ID 添加到参数组**

1. 使用 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) 操作创建自定义数据库参数组。

   包括以下必需参数：
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 修改您使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) 操作创建的自定义参数组中的参数。

   包括以下必需参数：
   + `DBParameterGroupName`
   + `Parameters`

   有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

现在，您已准备好创建数据库实例并将自定义参数组附加到该数据库实例。有关更多信息，请参阅[创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)和[在 Amazon RDS 中将数据库参数组与数据库实例关联](USER_WorkingWithParamGroups.Associating.md)。

### 将 与 集成AWS License Manager
<a name="db2-lms-integration"></a>

为了协助在 BYOL 模型中监控 RDS for Db2 许可证的使用情况，[AWS License Manager](https://aws.amazon.com/license-manager/) 与 RDS for Db2 相集成。License Manager 基于虚拟 CPU（vCPU）为跟踪 RDS for Db2 引擎版本提供支持。您也可以将 License Manager 与 AWS Organizations 一起使用以集中管理组织的所有账户。

要跟踪 RDS for Db2 数据库实例的许可证使用情况，必须创建自管理许可证。可以使用 AWS 管理控制台、AWS License Manager CLI 和 AWS License Manager API 创建自管理许可证。或者，也可以使用 CloudFormation 和 Terraform 模板自动创建自管理许可证。

与产品信息筛选条件匹配的 RDS for Db2 资源会自动与自管理许可证相关联。RDS for Db2 数据库实例的发现操作可能需要长达 24 小时。

下表显示了 RDS for Db2 的引擎版本产品信息筛选条件的可用值。


| 值 | 说明 | 
| --- | --- | 
|  `db2-se`  |  Db2 标准版  | 
|  `db2-ae`  |  Db2 高级版  | 

**Topics**
+ [术语](#db2-lms-integration-terms)
+ [在 AWS License Manager 中创建自管理许可证](#db2-lms-integration-tracking)
+ [使用模板在 AWS License Manager 中自动创建自管理许可证](#db2-lms-integration-templates)
+ [创建自管理许可证的相关设置](#db2-settings-lms)

#### 术语
<a name="db2-lms-integration-terms"></a>

本页使用以下术语讨论 Amazon RDS 与 AWS License Manager 的集成。

自管理许可证  
自管理许可证是 AWS License Manager 中使用的术语。Amazon RDS 控制台将许可证称为 AWS License Manager 配置。自管理许可证包含基于企业协议条款的许可规则。您创建的规则决定了 AWS 如何处理使用许可证的命令。在创建自管理许可证时，请与组织的合规性团队密切合作来审核企业协议。有关更多信息，请参阅 [Self-managed licenses in License Manager](https://docs.aws.amazon.com/license-manager/latest/userguide/license-configurations.html)。

#### 在 AWS License Manager 中创建自管理许可证
<a name="db2-lms-integration-tracking"></a>

您可以使用 AWS 管理控制台、AWS License Manager CLI 和 AWS License Manager API 创建自管理许可证。

**注意**  
如果使用 AWS 管理控制台 创建 RDS for Db2 数据库实例，您将通过输入自管理许可证的名称来创建该许可证。然后，Amazon RDS 将数据库实例与该许可证关联。（在 Amazon RDS 控制台中，此许可证称为 AWS License Manager 配置。） 如果要使用 AWS License Manager CLI 或 AWS License Manager API 创建 RDS for Db2 数据库实例，必须先使用以下步骤创建自管理许可证。同样的情况也适用于将 RDS for Db2 数据库实例还原到某个时间点或从快照还原。

##### 控制台
<a name="db2-lms-integration.console"></a>

**创建自管理许可证来跟踪您的 RDS for Db2 数据库实例的许可证使用情况**

1. 转到 [https://console.aws.amazon.com/license-manager/](https://console.aws.amazon.com/license-manager/)。

1. 创建自管理许可证。

   有关说明，请参阅《AWS License Manager 用户指南》**中的 [Create a self-managed license](https://docs.aws.amazon.com/license-manager/latest/userguide/create-license-configuration.html)。

   在 **Product Information (产品信息)** 面板中为 **RDS Product Information Filter (RDS 产品信息筛选器)** 添加规则。

   有关更多信息，请参阅 *AWS License Manager API 参考* 中的 [产品信息](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_ProductInformation.html)。

##### AWS License Manager CLI
<a name="db2-lms-integration.cli"></a>

**注意**  
此过程使用 AWS License Manager CLI 命令。

要使用 AWS CLI 创建自管理许可证，可运行 AWS License Manager [create-license-configuration](https://docs.aws.amazon.com/cli/latest/reference/license-manager/create-license-configuration.html) 命令。使用 `--cli-input-json` 或 `--cli-input-yaml` 选项将选项传递给该命令。

有关更多信息，请参阅 [创建自管理许可证的相关设置](#db2-settings-lms)。

下面的命令为 Db2 标准版创建自管理许可证。

```
aws license-manager create-license-configuration --cli-input-json file://rds-db2-se.json
```

以下 JSON 是前一个命令中使用的 `rds-db2-se.json` 文件的内容。

```
{
    "Name": "rds-db2-se",
    "Description": "RDS Db2 Standard Edition",
    "LicenseCountingType": "vCPU",
    "LicenseCountHardLimit": false,
    "ProductInformationList": [
        {
            "ResourceType": "RDS",
            "ProductInformationFilterList": [
                {
                    "ProductInformationFilterName": "Engine Edition",
                    "ProductInformationFilterValue": ["db2-se"],
                    "ProductInformationFilterComparator": "EQUALS"
                }
            ]
        }
    ]
}
```

有关产品信息的更多信息，请参阅 *AWS License Manager 用户指南* 中的[资源清单自动发现](https://docs.aws.amazon.com/license-manager/latest/userguide/automated-discovery.html)。

有关 `--cli-input` 参数的更多信息，请参阅 *AWS CLI 用户指南* 中的[从 JSON 或 YAML 输入文件生成 AWS CLI 骨架和输入参数](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html)。

##### AWS License Manager API
<a name="db2-lms-integration.api"></a>

**注意**  
此过程使用 AWS License Manager API 命令。

要创建自管理许可证，请使用带有以下必需参数的 [https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CreateLicenseConfiguration.html](https://docs.aws.amazon.com/license-manager/latest/APIReference/API_CreateLicenseConfiguration.html) AWS License Manager API 操作：
+ `Name`
+ `LicenseCountingType` 
+ `ProductInformationList`
+ `ResourceType`
+ `ProductInformationFilterList`
+ `ProductInformationFilterName`
+ `ProductInformationFilterValue`
+ `ProductInformationFilterComparator`

有关 参数的更多信息，请参阅 [创建自管理许可证的相关设置](#db2-settings-lms)。

#### 使用模板在 AWS License Manager 中自动创建自管理许可证
<a name="db2-lms-integration-templates"></a>

您可以使用 CloudFormation 和 Terraform 模板自动创建自管理许可证。

以下 CloudFormation 模板示例在 RDS for Db2 上为 Db2 标准版创建自管理许可证。对于 Db2 高级版模板，请更新 `Name`、`Description` 和 `ProductInformationFilter` 的值。

```
AWSTemplateFormatVersion: "2010-09-09"
Description: CloudFormation template to create a License Configuration for Db2 Standard Edition on RDS for Db2.

Resources:
  Db2LicenseConfiguration:
    Type: "AWS::LicenseManager::LicenseConfiguration"
    Properties:
      Name: "rds-db2-se"
      Description: "Db2 Standard Edition on RDS for Db2"
      LicenseCountingType: "vCPU"
      LicenseCountHardLimit: false
      ProductInformationList:
        - ResourceType: "RDS"
          ProductInformationFilterList:
            - ProductInformationFilterName: "Engine Edition"
              ProductInformationFilterValue:
                - "db2-se"
              ProductInformationFilterComparator: "EQUALS"
```

有关将 CloudFormation 与 Amazon RDS 结合使用的更多信息，请参阅 [使用 AWS CloudFormation 创建 Amazon RDS 资源](creating-resources-with-cloudformation.md)。

以下 Terraform 模板示例在 RDS for Db2 上为 Db2 标准版创建自管理许可证。将 *us-east-1* 替换为您的 AWS 区域。对于 Db2 高级版模板，请更新 `name`、`description` 和 `product_information_filter` 的值。

```
provider "aws" {
  region = "us-east-1"
}

resource "aws_licensemanager_license_configuration" "rds_db2_license_config" {
  name                     = "rds-db2-se"
  description              = "Db2 Standard Edition on RDS for Db2
  license_counting_type    = "vCPU"
  license_count_hard_limit = false

  product_information_list {
    resource_type = "RDS"

    product_information_filter {
      name       = "Engine Edition"
      comparator = "EQUALS"
      value      = ["db2-se"]
    }
  }
}
```

有关使用 Terraform 和 Amazon RDS 的更多信息，请参阅《AWS 规范性指导》**中的 [Using Terraform as an IaC tool for the AWS 云](https://docs.aws.amazon.com/prescriptive-guidance/latest/choose-iac-tool/terraform.html) 和 [Best practices for using the Terraform AWS Provider](https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/introduction.html)。

#### 创建自管理许可证的相关设置
<a name="db2-settings-lms"></a>

在下表中，可以找到有关使用 AWS License Manager CLI、AWS License Manager API、CloudFormation 模板和 Terraform 模板创建自管理许可证的相关设置的详细信息。下表中的参数名称以 AWS License Manager API 和 CloudFormation 模板中所使用名称的格式显示。


| 参数名称 | 数据类型 | 必需 | 说明 | 
| --- | --- | --- | --- | 
|  名称  |  字符串  |  是  |  许可证配置的名称。  | 
|  说明  |  字符串  |  否  |  许可证配置的描述。  | 
|  LicenseCountingType  |  字符串  |  是  |  用于跟踪许可证清单的维度。有效值：`vCPU`。  | 
| LicenseCountHardLimit | 布尔值 | 否 | 指示是使用硬许可证实施还是软许可证实施。超过硬限制会阻止新实例的启动。 | 
|  ProductInformationList  |  对象数组  |  是  | 许可证配置的产品信息列表。 | 
|  ResourceType  |  字符串  |  是  |  资源类型。有效值：`RDS`。  | 
|  ProductInformationFilterList  |  对象数组  |  是  |  许可证配置的产品信息筛选条件列表。  | 
|  ProductInformationFilterName  |  字符串  |  是  |  所声明的筛选条件类型的名称。有效值：`Engine Edition`。  | 
|  ProductInformationFilterValue  |  字符串数组  | 是 |  要筛选的值。必须只指定一个值。有效值：`db2-se` 或 `db2-ae`。  | 
| ProductInformationFilterComparator |  字符串  |  是  | ProductInformationFilterName 的逻辑运算符。有效值：EQUALS。 | 

## 通过 AWS Marketplace 获得 Db2 许可证
<a name="db2-licensing-options-marketplace"></a>

采用“通过 AWS Marketplace 获得 Db2 许可证”模式时，您需要按小时费率订阅 Db2 许可证。此模式可帮助您快速开始使用 RDS for Db2，而无需购买许可证。

要采用“通过 AWS Marketplace 获得 Db2 许可证”模式，您需要针对要使用的特定 IBM Db2 版本进行有效 AWS Marketplace 订阅。如果您还没有订阅，请为该 IBM Db2 版本[订阅 AWS Marketplace](#db2-marketplace-subscribing-registering)。

Amazon RDS 支持对 IBM Db2 标准版和 IBM Db2 高级版采用“通过 AWS Marketplace 获得 Db2 许可证”模式。

**Topics**
+ [术语](#db2-marketplace-terminology)
+ [付款和计费](#db2-marketplace-billing)
+ [订阅 Db2 Marketplace 清单并注册 IBM](#db2-marketplace-subscribing-registering)
+ [获取专属优惠](#db2-marketplace-private-offer)

### 术语
<a name="db2-marketplace-terminology"></a>

本页使用以下术语讨论 Amazon RDS 与 AWS Marketplace 的集成。

SaaS 订阅  
在 AWS Marketplace 中，软件即服务（SaaS）产品（如即用即付许可模式）采用基于使用情况的订阅模式。Db2 软件经销商 IBM 可以跟踪您的使用情况，您只需按实际使用量付费。

公开报价  
使用公开报价，您可以直接从 AWS 管理控制台购买 AWS Marketplace 产品。

专属优惠  
专属优惠是一项购买计划，允许卖家和买家协商在 AWS Marketplace 中进行采购时的自定义价格和最终用户许可协议（EULA）条款。

Db2 市场费用  
IBM 为使用 Db2 软件许可证收取的费用 这些服务费通过 AWS Marketplace 计量，并显示在您的 AWS 账单上的 AWS Marketplace 部分下。

Amazon RDS 费用  
AWS 针对 RDS for Db2 服务收取的费用，其中不包括将 AWS Marketplace 用于 Db2 许可证时的许可费用。费用通过正在使用的 Amazon RDS 服务计量并显示在您的 AWS 账单上。

### 付款和计费
<a name="db2-marketplace-billing"></a>

将 RDS for Db2 与 AWS Marketplace 进行集成，为 Db2 提供按小时计费的即用即付许可证。Db2 Marketplace 费用包括 Db2 软件的许可费用，Amazon RDS 费用涵盖您的 RDS for Db2 数据库实例的使用费用。有关定价的更多信息，请参阅 [Amazon RDS for Db2 定价](https://aws.amazon.com/rds/db2/pricing/)。

要停止收取这些费用，您必须删除所有 RDS for Db2 数据库实例。此外，您还可以为 Db2 许可证取消对 AWS Marketplace 的订阅。如果您在不删除数据库实例的情况下取消订阅，Amazon RDS 将继续向您收取数据库实例的使用费。有关更多信息，请参阅 [删除数据库实例](USER_DeleteInstance.md)。

您可以在 [AWS Billing 控制台](https://console.aws.amazon.com/billing)中，查看采用“通过 AWS Marketplace 获得 Db2 许可证”模式的 RDS for Db2 数据库实例的账单并管理其付款。您的账单包括两项费用：一项是您通过 AWS Marketplace 使用 Db2 许可证的费用，另一项是您使用 Amazon RDS 的费用。有关更多信息，请参阅《AWS 账单与成本管理 用户指南》**中的[查看您的账单](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/getting-viewing-bill.html)。

### 订阅 Db2 Marketplace 清单并注册 IBM
<a name="db2-marketplace-subscribing-registering"></a>

要通过 AWS Marketplace 使用 Db2 许可证，必须使用 AWS 管理控制台完成以下两项任务。您无法通过 AWS CLI 或 RDS API 完成这些任务。

**注意**  
如果您想使用 AWS CLI 或 RDS API 创建数据库实例，则必须先完成这两项任务。

**Topics**
+ [任务 1：在 AWS Marketplace 中订阅 Db2](#db2-marketplace-subscribing)
+ [任务 2：向 IBM 注册订阅](#db2-marketplace-registering)

#### 任务 1：在 AWS Marketplace 中订阅 Db2
<a name="db2-marketplace-subscribing"></a>

要将 Db2 许可证与 AWS Marketplace 一起使用，您需要拥有 Db2 的有效 AWS Marketplace 订阅。由于订阅与特定 IBM Db2 版本相关联，因此您需要在 AWS Marketplace 中为要使用的每个 Db2 版本（[IBM Db2 高级版](https://aws.amazon.com/marketplace/pp/prodview-w6m4yctzzy5fk)、[IBM Db2 标准版](https://aws.amazon.com/marketplace/pp/prodview-gbsgwalbkphv6)）订阅 Db2：有关 AWS Marketplace 订阅的信息，请参阅《AWS Marketplace 买家指南》**中的[基于 Saas 使用量的订阅](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-saas-products.html#saas-pricing-models)。

建议您在开始[创建数据库实例](USER_CreateDBInstance.md)*之前*，在 AWS Marketplace 中订阅 Db2。

#### 任务 2：向 IBM 注册订阅
<a name="db2-marketplace-registering"></a>

在 AWS Marketplace 中订阅 Db2 后，请从您选择的 Db2 订阅类型的 AWS Marketplace 页面完成 IBM 订单注册。在 AWS Marketplace 页面上，选择**查看购买选项**，然后选择**设置账户**。您可以使用现有 IBM 账户或通过创建免费 IBM 账户，进行注册。

### 获取专属优惠
<a name="db2-marketplace-private-offer"></a>

您可以向 IBM 申请 Db2 的 AWS Marketplace 专属优惠。有关更多信息，请参阅《AWS Marketplace 买家指南》**中的 [Private offers](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-private-offers.html)。

**注意**  
如果您是 AWS Organizations 用户并收到了发给您的付款人和成员账户的专属优惠，请按照以下步骤直接在组织中的每个账户上订阅 Db2。

**获取 Db2 专属优惠**

1. 发出专属优惠之后，登录到 AWS Marketplace 控制台。

1. 打开带有 Db2 专属优惠链接的电子邮件。

1. 单击此链接，以直接访问专属优惠。
**注意**  
当在登录到正确的账户之前单击此链接时，将产生一个**找不到页面 (404)** 错误。

1. 查看条款和条件。

1. 选择**接受条款**。
**注意**  
如果不接受 AWS Marketplace 专属优惠，AWS Marketplace 的 Db2 服务费将继续按公开小时费率计费。

1. 要验证优惠详细信息，请选择产品列表中的**显示详细信息**。

完成该过程后，您可以按照[创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)中的步骤创建数据库实例。在 AWS 管理控制台中，在**许可证**下，确保选择**通过 AWS Marketplace**。

## 在 Db2 许可证之间切换
<a name="db2-edition-license-switching"></a>

您可以在 RDS for Db2 中，在 Db2 许可证之间进行切换。例如，可以从自带许可（BYOL）开始，然后切换到通过 AWS Marketplace 获得 Db2 许可证。

**重要**  
如果要切换到“通过 AWS Marketplace 获得 Db2 许可证”模式，请确保您对要使用的 IBM Db2 版本拥有有效的 AWS Marketplace 订阅。如果没有，请[在 AWS Marketplace 中为该 Db2 版本订阅 Db2](#db2-marketplace-subscribing-registering)，然后完成还原过程。

### 控制台
<a name="db2-restore-pitr-console"></a>

**在 Db2 许可证之间切换**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择 **Automated backups (自动备份)**。

   自动备份便会显示在 **Current Region**（当前区域）选项卡上。

1. 选择要还原的数据库实例。

1. 对于 **Actions (操作)**，选择 **Restore to point in time (还原到时间点)**。

   此时会显示**还原到时间点**窗口。

1. 选择**最近可还原时间**以还原到可能的最近时间，或选择**自定义**来选择时间。

   如果选择**自定义**，请输入要将实例还原到的日期和时间。
**注意**  
时间以您的本地时区显示，表示为协调世界时 (UTC) 的偏移量。例如，UTC-5 是东部标准时间/中部夏令时。

1. 对于**数据库引擎**，请选择要使用的 Db2 许可证。

1. 对于**数据库实例标识符**，请输入目标还原后的数据库实例的名称。名称必须唯一。

1. 根据需要选择其他选项，例如数据库实例类、存储，以及是否要使用存储自动扩展。

   有关每项设置的信息，请参阅[数据库实例的设置](USER_CreateDBInstance.Settings.md)。

1. 选择**还原到时间点**。

有关更多信息，请参阅 [将 Amazon RDS 的数据库实例还原到指定时间](USER_PIT.md)。

### AWS CLI
<a name="db2-restore-pitr-cli"></a>

要在 Db2 许可证之间切换，可运行 [restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) 命令。以下示例还原最新的时间点版本，将数据库引擎设置为 IBM Db2 高级版，并将许可模式设置为“通过 AWS Marketplace 获得 Db2 许可证”。

您可以指定其他设置。有关每项设置的信息，请参阅[数据库实例的设置](USER_CreateDBInstance.Settings.md)。

**Example**  
对于 Linux、macOS 或 Unix：  

```
1. aws rds restore-db-instance-to-point-in-time \
2.     --source-db-instance-identifier my_source_db_instance \
3.     --target-db-instance-identifier my_target_db_instance \
4.     --use-latest-restorable-time \
5.     --engine db2-ae \
6.     --license-model marketplace-license
```
对于：Windows  

```
1. aws rds restore-db-instance-to-point-in-time ^
2.     --source-db-instance-identifier my_source_db_instance ^
3.     --target-db-instance-identifier my_target_db_instance ^
4.     --use-latest-restorable-time ^
5.     --engine db2-ae ^
6.     --license-model marketplace-license
```

有关更多信息，请参阅 [将 Amazon RDS 的数据库实例还原到指定时间](USER_PIT.md)。

### RDS API
<a name="db2-restore-pitr-api"></a>

要在 Db2 许可证之间切换，请使用以下参数调用 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) 操作：
+ `SourceDBInstanceIdentifier`
+ `TargetDBInstanceIdentifier`
+ `RestoreTime`
+ `Engine`
+ `LicenseModel`

有关更多信息，请参阅 [将 Amazon RDS 的数据库实例还原到指定时间](USER_PIT.md)。

# Amazon RDS for Db2 实例类
<a name="Db2.Concepts.General.InstanceClasses"></a>

数据库实例的计算和内存容量由其实例类决定。您需要的数据库实例类取决于您的处理能力和内存要求。



## 支持的 RDS for Db2 实例类
<a name="Db2.Concepts.InstanceClasses.Supported"></a>

支持的 Amazon RDS for Db2 实例类是 Amazon RDS 数据库实例类的子集。有关 Amazon RDS 实例类的完整列表，请参阅[数据库实例类](Concepts.DBInstanceClass.md)。

**Topics**
+ [Db2 Standard Edition 支持的 RDS for Db2 实例类](#Db2.Concepts.InstanceClasses.Supported.SE)
+ [Db2 Advanced Edition 支持的 RDS for Db2 实例类](#Db2.Concepts.InstanceClasses.Supported.AE)

### Db2 Standard Edition 支持的 RDS for Db2 实例类
<a name="Db2.Concepts.InstanceClasses.Supported.SE"></a>

下表列出了 Db2 数据库版本 11.5.9.0 的 Db2 Standard Edition 支持的所有实例类。这些实例类同时适用于自带许可（BYOL）和通过 AWS Marketplace 获得 Db2 许可证。


| 实例类类型 | 实例类 | 
| --- | --- | 
|  具有第三代 Intel Xeon Scalable 处理器、SSD 存储和网络优化的通用实例类  |  db.m6idn.large–db.m6idn.8xlarge  | 
|  由第三代 Intel Xeon Scalable 处理器提供支持的通用实例类  |  db.m6in.large–db.m6in.8xlarge  | 
|  通用实例类  |  db.m7i.large–db.m7i.8xlarge db.m6i.large–db.m6i.8xlarge  | 
|  使用基于本地 NVMe 的 SSD 的内存优化型实例类，由第三代 Intel Xeon Scalable 处理器提供支持  |  db.x2iedn.xlarge  | 
|  由第三代 Intel Xeon Scalable 处理器提供支持的内存优化型实例类  |  db.r6idn.large–db.r6idn.4xlarge db.r6in.large–db.r6in.4xlarge  | 
|  内存优化型实例类  |  db.r7i.large–db.r7i.8xlarge db.r6i.large–db.r6i.4xlarge  | 
|  可突增性能实例类  |  db.t3.small–db.t3.2xlarge  | 

### Db2 Advanced Edition 支持的 RDS for Db2 实例类
<a name="Db2.Concepts.InstanceClasses.Supported.AE"></a>

下表列出了 Db2 数据库版本 11.5.9.0 的 Db2 Advanced Edition 支持的所有实例类。这些实例类同时适用于自带许可（BYOL）和通过 AWS Marketplace 获得 Db2 许可证。


| 实例类类型 | 实例类 | 
| --- | --- | 
|  具有第三代 Intel Xeon Scalable 处理器、SSD 存储和网络优化的通用实例类  |  db.m6idn.large–db.m6idn.32xlarge  | 
|  由第三代 Intel Xeon Scalable 处理器提供支持的通用实例类  |  db.m6in.large–db.m6in.32xlarge  | 
|  通用实例类  |  db.m6i.large–db.m7i.48xlarge db.m7i.large–db.m7i.48xlarge  | 
|  使用基于本地 NVMe 的 SSD 的内存优化型实例类，由第三代 Intel Xeon Scalable 处理器提供支持  |  db.x2iedn.xlarge–db.x2iedn.32xlarge  | 
|  由第三代 Intel Xeon Scalable 处理器提供支持的内存优化型实例类  |  db.r6idn.large–db.r6idn.32xlarge db.r6in.8xlarge–db.r6in.32xlarge  | 
|  内存优化型实例类  |  db.r6i.large–db.r7i.48xlarge db.r7i.large–db.r7i.48xlarge  | 
|  可突增性能实例类  |  db.t3.small–db.t3.2xlarge  | 

# Amazon RDS for Db2 默认角色
<a name="db2-default-roles"></a>

RDS for Db2 添加了以下六个角色，并使用 `ADMIN` 选项向 `master_user_role` 授予这些角色。预置数据库后，RDS for Db2 会向主用户授予 `master_user_role`。然后，主用户可以通过连接到数据库，使用原生 `GRANT` 语句向其它用户、组或角色授予这些角色。
+ **DBA** – RDS for Db2 通过 `DATAACCESS` 授权创建此空角色。主用户可以向该角色添加更多授权或权限，然后向其它用户、组或角色授予该角色。
+ **DBA\$1RESTRICTED** – RDS for Db2 创建这一空角色。主用户可以向该角色添加权限，然后向其它用户、组或角色授予该角色。
+ **DEVELOPER** – RDS for Db2 通过 `DATAACCESS` 授权创建此空角色。主用户可以向该角色添加更多授权或权限，然后向其它用户、组或角色授予该角色。
+ **ROLE\$1NULLID\$1PACKAGES** – 对于在运行 `CREATE DATABASE` 时由 Db2 绑定的 `ALL NULLID` 包，RDS for Db2 向此角色授予对这些包的 `EXECUTE` 权限。
+ **ROLE\$1PROCEDURES** – RDS for Db2 向该角色授予对所有 `SYSIBM` 过程的 `EXECUTE` 权限。
+ **ROLE\$1TABLESPACES** – RDS for Db2 授予对由 `CREATE DATABASE` 命令创建的表空间的 `USAGE` 权限。

# Amazon RDS for Db2 参数
<a name="db2-supported-parameters"></a>

Amazon RDS for Db2 使用三种类型的参数：数据库管理器配置参数、注册表变量和数据库配置参数。可以通过参数组管理前两种类型，并通过 [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param) 存储过程管理最后一种类型。

默认情况下，RDS for Db2 数据库实例使用特定于 Db2 数据库和数据库实例的数据库参数组。此参数组包含 IBM Db2 数据库引擎的参数，特别是数据库管理器配置参数和注册表变量。有关使用参数的更多信息，请参阅[Amazon RDS 的参数组](USER_WorkingWithParamGroups.md)。

RDS for Db2 数据库配置参数设置为您已选择的存储引擎的默认值。有关 Db2 参数的更多信息，请参阅 IBM Db2 文档中的 [Db2 database configuration parameters](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-database-configuration)。

**Topics**
+ [查看参数组中的参数](#db2-viewing-parameter-group-parameters)
+ [使用 Db2 命令查看所有参数](#db2-viewing-parameters-db2-commands)
+ [修改参数组中的参数](#db2-modifying-parameter-group-parameters)
+ [使用 Db2 命令修改数据库配置参数](#db2-modifying-parameters-db2-commands)

## 查看参数组中的参数
<a name="db2-viewing-parameter-group-parameters"></a>

数据库管理器配置参数和注册表变量在参数组中设置。可以通过使用 AWS 管理控制台、AWS CLI 或 RDS API，来查看特定 Db2 版本的数据库管理器配置参数和注册表变量。

### 控制台
<a name="db2-viewing-parameter-group-parameters-console"></a>

**查看数据库参数组的参数值**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**参数组**。

   数据库参数组将显示在列表中。

1. 选择参数组名称以查看其参数列表。

### AWS CLI
<a name="db2-viewing-parameter-group-parameters-cli"></a>

可以通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html) 命令，来查看 Db2 版本的数据库管理器配置参数和注册表变量。为 `--db-parameter-group-family` 选项指定下列值之一：
+ `db2-ae-11.5`
+ `db2-se-11.5`

例如，要查看 Db2 Standard Edition 11.5 的参数，请运行以下命令：

```
aws rds describe-engine-default-parameters --db-parameter-group-family db2-se-11.5
```

此命令生成类似于以下示例的输出：



```
{
    "EngineDefaults": {
        "Parameters": [
            {
                "ParameterName": "agent_stack_sz",
                "ParameterValue": "1024",
                "Description": "You can use this parameter to determine the amount of memory that is allocated by Db2 for each agent thread stack.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "256-32768",
                "IsModifiable": false
            },
            {
                "ParameterName": "agentpri",
                "ParameterValue": "-1",
                "Description": "This parameter controls the priority given to all agents and to other database manager instance processes and threads by the operating system scheduler. This priority determines how CPU time is allocated to the database manager processes, agents, and threads relative to other processes and threads running on the machine.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "1-99",
                "IsModifiable": false
            },
            ...
        ]
    }
}
```

要仅列出 Db2 Standard Edition 11.5 的可修改参数，请运行以下命令：

对于 Linux、macOS 或 Unix：

```
aws rds describe-engine-default-parameters \
    --db-parameter-group-family db2-se-11.5 \
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

对于：Windows

```
aws rds describe-engine-default-parameters ^
    --db-parameter-group-family db2-se-11.5 ^
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

### RDS API
<a name="db2-viewing-parameter-group-parameters-api"></a>

要查看数据库参数组的参数值，可执行带下列必需参数的 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) 操作。
+ `DBParameterGroupName`

## 使用 Db2 命令查看所有参数
<a name="db2-viewing-parameters-db2-commands"></a>

可以通过使用 Db2 命令来查看数据库管理器配置参数、数据库配置参数和注册表变量的设置。

**查看设置**

1. 连接到 Db2 数据库。在以下示例中，用您自己的信息替换 *database\$1name*、*master\$1username* 和 *master\$1password*。

   ```
   db2 "connect to database_name user master_username using master_password"
   ```

1. 查找支持的 Db2 版本。

   ```
   db2 "select service_level, fixpack_num from table(sysproc.env_get_inst_info()) as instanceinfo"
   ```

1. 查看特定 Db2 版本的参数。
   + 通过运行以下命令，来查看数据库管理器配置参数：

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value
         from sysibmadm.dbmcfg
         order by name asc with UR"
     ```
   + 通过运行以下命令，来查看所有数据库配置参数：

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value 
         from table(db_get_cfg(null)) order by name asc, member asc with UR"
     ```
   + 通过运行以下命令，来查看当前设置的注册表变量：

     ```
     db2 "select cast(substr(reg_var_name,1,50) as varchar(50)) as reg_var_name, 
         cast(substr(reg_var_value,1,50) as varchar(50)) as reg_var_value, 
         level from table(env_get_reg_variables(null)) 
         order by reg_var_name,member with UR"
     ```

## 修改参数组中的参数
<a name="db2-modifying-parameter-group-parameters"></a>

可以通过使用 AWS 管理控制台、AWS CLI 或 RDS API，来修改自定义参数组中的数据库管理器配置参数和注册表变量。有关更多信息，请参阅 [Amazon RDS 数据库实例的数据库参数组](USER_WorkingWithDBInstanceParamGroups.md)。

### 控制台
<a name="db2-modifying-parameter-group-parameters-console"></a>

**修改数据库管理器配置参数和注册表变量**

1. 创建自定义参数组。有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 修改该自定义参数组中的参数。有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

### AWS CLI
<a name="db2-modifying-parameter-group-parameters-cli"></a>

**修改数据库管理器配置参数和注册表变量**

1. 通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) 命令创建自定义参数组。

   包括以下必需选项：
   + `--db-parameter-group-name` - 您正在创建的参数组的名称。
   + `--db-parameter-group-family` – Db2 引擎版本和主要版本。有效值：`db2-se-11.5`、`db2-ae-11.5`。
   + `--description` – 此参数组的描述。

   有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) 命令修改您创建的自定义参数组中的参数。

   包括以下必需选项：
   + `--db-parameter-group-name` – 您创建的参数组的名称。
   + `--parameters` – 参数名称、值和参数更新应用方法的数组。

   有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

### RDS API
<a name="db2-modifying-parameter-group-parameters-api"></a>

**修改数据库管理器配置参数和注册表变量**

1. 使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) 操作创建自定义数据库参数组。

   包括以下必需参数：
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) 操作修改您创建的自定义参数组中的参数。

   包括以下必需参数：
   + `DBParameterGroupName`
   + `Parameters`

   有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

## 使用 Db2 命令修改数据库配置参数
<a name="db2-modifying-parameters-db2-commands"></a>

可以使用 Db2 命令修改数据库配置参数。

**修改数据库配置参数**

1. 连接到 `rdsadmin` 数据库。在以下示例中，用您的信息替换 *master\$1username* 和 *master\$1password*。

   ```
   db2 "connect to rdsadmin user master_username using master_password"
   ```

1. 通过调用 `rdsadmin.update_db_param` 存储过程来更改数据库配置参数。有关更多信息，请参阅 [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param)。

   ```
   db2 "call rdsadmin.update_db_param(
       'database_name', 
       'parameter_to_modify', 
       'changed_value',
       'restart_database')"
   ```

# Amazon RDS 上 Db2 数据库的 EBCDIC 排序规则
<a name="db2-ebcdic"></a>

Amazon RDS for Db2 支持 Db2 数据库的 EBCDIC 排序规则。只有在使用 Amazon RDS [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) 存储过程创建数据库时，您才能为该数据库指定 EBCDIC 排序规则序列。

使用 AWS 管理控制台、AWS CLI 或 RDS API 创建 RDS for Db2 数据库实例时，可以指定数据库名称。如果您指定数据库名称，Amazon RDS 会创建一个默认排序规则为 `SYSTEM` 的数据库。如果您需要使用 EBCDIC 排序规则创建数据库，则在创建数据库实例时不要指定数据库名称。

RDS for Db2 中数据库的排序规则是在创建时设置的，并且不可更改。

**使用 EBCDIC 排序规则创建 Db2 数据库**

1. 如果您没有 RDS for Db2 数据库实例，请创建数据库实例但不要指定数据库名称。可以使用 AWS 管理控制台、AWS CLI、或 RDS API 创建数据库实例。有关更多信息，请参阅 [创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

1. 通过调用 `rdsadmin.create_database` 存储过程创建 Db2 数据库并将排序规则选项设置为 EBCDIC 值。有关更多信息，请参阅 [rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database)。
**重要**  
使用此存储过程创建数据库后，您将无法更改排序规则序列。如果您希望数据库使用不同的排序规则序列，请通过调用 [rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database) 存储过程来删除该数据库。然后，使用所需的排序规则序列创建一个数据库。

# Amazon RDS for Db2 数据库实例的本地时区
<a name="db2-time-zone"></a>

默认情况下，已设置运行 Db2 的 Amazon RDS 数据库实例的时区。默认值为协调世界时 (UTC)。要匹配应用程序的时区，您可改为将数据库实例的时区设置为本地时区。

首次创建数据库实例时将设置时区。您可以使用 AWS 管理控制台、RDS API 或 AWS CLI 创建数据库实例。有关更多信息，请参阅 [创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

如果数据库实例是多可用区部署的一部分，则当它进行失效转移时，其时区将保持为您设置的本地时区。

您可以将数据库实例还原到您指定的某个时间点。时间以您的本地时区显示。有关更多信息，请参阅 [将 Amazon RDS 的数据库实例还原到指定时间](USER_PIT.md)。

在数据库实例上设置本地时区具有以下限制：
+ 您无法修改现有 Amazon RDS for Db2 数据库实例的时区。
+ 您无法将快照从一个时区的数据库实例还原至另一个时区的数据库实例。
+ 强烈建议您不要将备份文件从一个时区还原到另一个时区。如果您将备份文件从一个时区还原至为另一个时区，则必须审查您的查询和应用程序，来查看时区更改的效果。

## 可用时区
<a name="db2-time-zone-values"></a>

您可以将以下值用于时区设置。


| 区 | 时区 | 
| --- | --- | 
|  非洲  |  非洲/开罗、非洲/卡萨布兰卡、非洲/哈拉雷、非洲/拉各斯、非洲/罗安达、非洲/蒙罗维亚、非洲/内罗毕、非洲/的黎波里、非洲/温得和克  | 
|  美洲  |  美洲/阿拉瓜伊纳、美洲/阿根廷/布宜诺斯艾利斯、美洲/亚森松、美洲/Bogota、美洲/加拉加斯、美洲/芝加哥、美洲/奇瓦瓦、美洲/库亚巴、美洲/丹佛、美洲/底特律、美洲/福塔莱萨、美洲/戈特霍布、美洲/危地马拉、美洲/哈利法克斯、美洲/利马、美洲/洛杉矶、美洲/玛瑙斯、美洲/马塔莫罗斯、美洲/墨西哥城、美洲/蒙特雷、美洲/蒙特维多、美洲/纽约、美洲/菲尼克斯、美洲/圣地亚哥、美洲/圣保罗、美洲/蒂华纳、美洲/多伦多  | 
|  亚洲  |  亚洲/阿曼、亚洲/阿什哈巴德、亚洲/巴格达、亚洲/巴库、亚洲/曼谷、亚洲/贝鲁特、亚洲/加尔各答、亚洲/大马士革、亚洲/达卡、亚洲/香港、亚洲/伊尔库茨克、亚洲/雅加达、亚洲/耶路撒冷、亚洲/喀布尔、亚洲/卡拉奇、亚洲/加德满都、亚洲/加尔各答、亚洲/克拉斯诺亚尔斯克、亚洲/马加丹、亚洲/马尼拉、亚洲/马斯喀特、亚洲/新西伯利亚、亚洲/阳光、亚洲/利雅得、亚洲/首尔、亚洲/上海、亚洲/新加坡、亚洲/台北、亚洲/德黑兰、亚洲/东京、亚洲/乌兰巴托、亚洲/符拉迪沃斯托克、亚洲/雅库茨克、亚洲/埃里温  | 
|  大西洋  |  大西洋/亚速尔、大西洋/佛得角  | 
|  澳大利亚  |  澳大利亚/阿德莱德、澳大利亚/布里斯班、澳大利亚/达尔文、澳大利亚/尤克拉、澳大利亚/霍巴特、澳大利亚/豪勋爵岛、澳大利亚/珀斯、澳大利亚/悉尼  | 
|  巴西  |  巴西/迪诺罗尼亚、巴西/东部  | 
|  加拿大  |  加拿大/纽芬兰、加拿大/萨斯喀彻温省  | 
|  ETC  |  ETC/GMT-3  | 
|  欧洲  |  欧洲/阿姆斯特丹、欧洲/雅典、欧洲/柏林、欧洲/都柏林、欧洲/赫尔辛基、欧洲/加里宁格勒、欧洲/伦敦、欧洲/马德里、欧洲/莫斯科、欧洲/巴黎、欧洲/布拉格、欧洲/罗马、欧洲/萨拉热窝、欧洲/斯德哥尔摩  | 
|  太平洋  |  太平洋/阿皮亚、太平洋/奥克兰、太平洋/查塔姆、太平洋/斐济、太平洋/关岛、太平洋/檀香山、太平洋/圣诞岛、太平洋/玛贵斯、太平洋/萨摩亚、太平洋/汤加塔布岛、太平洋/韦克  | 
|  US  |  美国/阿拉斯加、美国/中部、美国/印第安纳东部、美国/西部、美国/太平洋地区  | 
|  UTC  |  UTC  | 