使用适用于 Amazon RDS for Db2 的副本 - Amazon Relational Database Service

使用适用于 Amazon RDS for Db2 的副本

要在 RDS for Db2 数据库实例之间配置复制,您可以创建副本数据库。有关 RDS for Db2 副本和其它数据库引擎之间的差异摘要,请参阅数据库引擎的只读副本之间的差异

Db2 副本数据库是主数据库的物理副本。处于备用模式的 Db2 副本称为备用副本。Db2 不支持在副本中进行读或写操作,但您可以提升副本以使其变为可写。提升的副本拥有提出提升请求时的已复制数据。RDS for Db2 使用 Db2 高可用性灾难恢复(HADR)来进行复制。有关更多信息,请参阅 IBM Db2 文档中的 High availability disaster recovery (HADR)

备用副本

创建或修改 Db2 副本时,可以将其置于备用模式。对于备用副本,Db2 环境变量 DB2_HADR_ROS 设置为 OFF,以便副本数据库不接受用户连接。备用副本的主要用途是跨区域灾难恢复。

备用副本无法为只读工作负载提供服务。备用副本没有任何归档日志。

您可以从一个源数据库实例创建最多三个副本。

数据库激活

Db2 HADR 是在数据库级别配置的。创建副本后,将为所有 Db2 数据库(包括 RDS 完全管理的 rdsadmin)设置 HADR。在创建 Db2 副本之前,必须显式激活所有数据库。否则,副本创建将失败,并且 Amazon RDS 发出一个事件。在数据库实例拥有一个或多个副本后,您无法使用 rdsadmin.activate_databaserdsadmin.deactivate_database 存储过程来激活或停用数据库实例上的任何数据库。但是,您可以调用 rdsadmin.reactivate_database 存储过程来重新激活数据库。有关更多信息,请参阅用于管理 RDS for Db2 数据库的存储过程

HADR 配置

可以通过连接到数据库,然后运行 db2 get db cfg 来查看该数据库的所有 HADR 配置。

归档日志保留

满足以下条件后,Amazon RDS 会清除主数据库实例中的日志:

  • 这些日志至少保留了两个小时。

  • 归档日志保留时间的设置已过期。

  • 归档日志已成功复制到所有副本数据库实例。此条件既适用于同一 AWS 区域中的数据库实例,也适用于跨区域数据库实例。

有关如何设置存档日志保留时间的信息,请参阅rdsadmin.set_archive_log_retention

Amazon RDS 会单独检查和清理每个数据库。如果数据库丢失 HADR 连接或者无法获得有关该连接的信息,Amazon RDS 将跳过该数据库并且不会清除归档日志。

Db2 复制过程中的中断

当您创建副本时,Amazon RDS 会制作源数据库实例的数据库快照,然后开始复制。数据库快照操作开始时,源数据库实例会经历非常短暂的 I/O 暂停。这种 I/O 暂停通常持续大约一秒时间。但是,如果源数据库实例为多可用区部署,则源数据库实例不会经历任何 I/O 暂停。这是因为在多可用区部署中,快照取自辅助数据库实例。

数据库快照变成 Db2 副本。Amazon RDS 为源数据库和副本设置必要的参数和权限,而不会经历任何服务中断。同样,如果删除副本,也不会发生中断。