

# RDS for Db2 副本的要求和注意事项
<a name="db2-read-replicas.limitations"></a>

Db2 副本要求分为若干类别：许可和版本控制、备份和还原注意事项、复制行为以及一般操作注意事项。在创建 Db2 副本之前，请先熟悉以下要求和注意事项。

## RDS for Db2 副本的版本和许可要求
<a name="db2-read-replicas.limitations.versions-and-licenses"></a>

在创建 RDS for Db2 副本之前，请审核以下有关版本和许可模型的信息：
+ **支持的版本**：所有 Db2 11.5 版本都支持副本数据库实例。

  源数据库实例和副本数据库实例必须使用相同的主要版本。Db2 副本支持次要版本升级，但不支持主要版本升级。有关升级数据库实例的信息，请参阅[升级数据库实例 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。
**注意**  
升级源数据库实例时，会自动升级所有副本以保持版本兼容性。
+ **有效的许可模型和副本模式**：Db2 高级版（AE）和标准版（SE）都可以在只读或备用模式下为自带许可（BYOL）模型和通过 AWS Marketplace 的 Db2 许可证模型创建副本。
+ **自定义参数组**：必须为副本指定自定义参数组。

  对于使用 BYOL 模型的副本，此自定义参数组必须包括您的 IBM Site ID 和 IBM Customer ID。有关更多信息，请参阅 [Db2 的自带许可（BYOL）的 IBM ID](db2-licensing.md#db2-prereqs-ibm-info)。您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 为副本指定此自定义参数组。
+ **vCPU 数量**因副本模式和许可模式而异：
  + 无论数据库实例大小如何，**备用副本**始终使用两个 vCPU。
    + **BYOL 模型**：AWS License Manager 配置显示 RDS for Db2 数据库实例使用两个 vCPU。
    + **通过 AWS Marketplace 的 Db2 许可证模型**：账单反映两个 vCPU 的许可证成本。
  + **只读副本**使用与数据库实例大小相同的 vCPU 计数。
    + **BYOL 模型**：AWS License Manager 配置显示 RDS for Db2 数据库实例使用与数据库实例大小匹配的相同数量的 vCPU。
    + **通过 AWS Marketplace 的 Db2 许可证模型**：账单反映与数据库实例大小匹配的相同 vCPU 数量的许可证成本。

## RDS for Db2 的备份和还原注意事项
<a name="db2-read-replicas.limitations.backups"></a>

副本备份的行为与主数据库备份的行为不同。请考虑以下备份和还原要求：
+ 要创建 RDS for Db2 副本的快照或开启自动备份，请确保手动设置备份保留期。原定设置情况下，自动备份处于开启状态。
+ 还原副本备份时，将还原到数据库时间，而不是进行备份的时间。数据库时间指备份中数据的最新应用的事务时间。差异很大，因为副本可能会落后于主数据库数分钟或数小时。当有多个数据库时，RDS for Db2 将使用最早的数据库时间。

  要查找差异，请运行 AWS CLI [describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html) 命令或调用 RDS API [DescribeDBSnapshots](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html) 操作。将 `SnapshotDatabaseTime` 值和 `OriginalSnapshotCreateTime` 值进行比较。`SnapshotDatabaseTime` 值是副本备份的数据库时间。`OriginalSnapshotCreateTime` 值是主数据库上最新应用的事务。

有关备份和还原备份的详细信息，请参阅[使用 RDS for Db2 副本备份](db2-read-replicas.backups.md)。

## RDS for Db2 副本的复制注意事项
<a name="db2-read-replicas.limitations.replication"></a>

Db2 副本使用 HADR 技术，但有特定的限制和行为。请查看以下注意事项：
+ 复制对 RDS for Db2 数据库实例上的所有数据库使用 Db2 HADR。
+ 复制不支持 `LOAD` 命令。如果从源数据库实例运行 `LOAD` 命令，将收到不一致的数据。
+ RDS for Db2 不会复制以下各项：
  + 存储访问。注意依赖于存储访问的数据，例如外部表。
  + 未记录的非内联 LOB。
  + 外部存储过程的二进制文件（在 C 或 Java 中）。
+ 对于备用副本，RDS for Db2 会复制以下各项：
  + 本地用户，主用户除外
  + 数据库配置参数
+ 对于只读副本，RDS for Db2 会复制以下各项：
  + 本地用户，主用户除外
  + SID 组映射

## RDS for Db2 副本的其它注意事项
<a name="db2-read-replicas.limitations.miscellaneous"></a>

其他操作注意事项适用于 Db2 副本。审核以下各项：
+ RDS for Db2 将数据库配置复制到副本中。当 RDS for Db2 提升副本时，它会停用并激活每个数据库。
+ RDS for Db2 将本地用户（但不是主用户）和 SID 组映射复制到副本。可以修改副本上的主用户。有关更多信息，请参阅 [修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。
+ 所有数据库必须处于活动状态。有关激活数据库的信息，请参阅[用于管理 RDS for Db2 数据库的存储过程](db2-sp-managing-databases.md)。
+ 在创建副本之前，必须完成所有用于创建、删除、还原或前滚数据库的存储过程。有关这些存储过程的信息，请参阅[用于管理 RDS for Db2 数据库的存储过程](db2-sp-managing-databases.md)。
+ 创建副本时，Amazon RDS 会将源数据库实例上所有数据库的数据库级参数 `blocknonlogged` 设置为 `YES`。当源副本再次变为独立实例时，Amazon RDS 将该值重新设置为 `NO`。有关更多信息，请参阅 IBM Db2 文档中的 [blocknonlogged - Block creation of tables that allow non-logged activity configuration parameter](https://www.ibm.com/docs/en/db2/11.1?topic=dcp-blocknonlogged-block-creation-tables-that-allow-non-logged-activity)。
+ 创建副本时，Amazon RDS 会将源数据库实例上所有数据库的数据库级参数 `logindexbuild` 设置为 `YES`。当源副本再次变为独立实例时，Amazon RDS 将该值重新设置为 `NO`。有关更多信息，请参阅 IBM Db2 文档中的 [logindexbuild - Log index pages created configuration parameter](https://www.ibm.com/docs/en/db2/11.1?topic=parameters-logindexbuild-log-index-pages-created)。