针对 Amazon RDS for Db2 从 Linux 迁移到 Linux - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

针对 Amazon RDS for Db2 从 Linux 迁移到 Linux

通过这种迁移方法,您可以将自行管理的 Db2 数据库备份到 Amazon S3 存储桶。然后,使用 Amazon RDS 存储过程将 Db2 数据库还原到 Amazon RDS for Db2 数据库实例。有关使用 Amazon S3 的更多信息,请参阅将 Amazon RDS for Db2 数据库实例与 Amazon S3 集成

RDS for Db2 的备份和还原遵循 IBM Db2 支持的升级路径和限制。有关更多信息,请参阅 IBM Db2 文档中的 Supported upgrade paths for Db2 serversUpgrade restrictions for Db2 servers

使用原生还原的限制和建议

以下限制和建议适用于使用原生还原:

  • Amazon RDS 仅支持迁移与支持的 RDS for Db2 版本相匹配的 Db2 本地版本。有关支持的版本的更多信息,请参阅 Amazon RDS 上支持的 Db2 次要版本

  • Amazon RDS 仅支持用于原生还原的离线和在线备份。Amazon RDS 不支持增量或 Delta 备份。

  • 您无法从与 RDS for Db2 数据库实例所在区域不同的 Amazon Web Services 区域中的 Amazon S3 存储桶进行还原。

  • 如果您的 RDS for Db2 数据库实例已包含数据库,则无法还原数据库。

  • Amazon S3 将上传到 Amazon S3 存储桶的文件大小限制为 5TB。如果数据库备份文件超过 5TB,则将备份文件拆分为较小的文件。

  • Amazon RDS 不支持非防护外部例程、增量还原或 Delta 还原。

  • 您无法从加密的源数据库中还原,但可以还原到加密的 Amazon RDS 数据库实例。

还原数据库时,将复制备份,然后在 RDS for Db2 数据库实例上提取。我们建议您为 RDS for Db2 数据库实例预调配存储空间,其大小等于或大于备份大小加上磁盘上原始数据库大小之和。

还原数据库的最大大小是支持的最大数据库大小减去备份的大小。例如,如果支持的最大数据库大小为 64TiB,备份的大小为 30TiB,则还原数据库的最大大小为 34TiB。

64 TiB - 30 TiB = 34 TiB

将数据库备份到 Amazon S3

要在 Amazon S3 上备份数据库,您需要以下 Amazon 组件:

  • 用于存储备份文件的 Amazon S3 存储桶:上传您要迁移到 Amazon RDS 的所有备份文件。建议您使用离线备份进行可以应对停机的迁移。如果您已有一个 S3 存储桶,则可以使用该存储桶。如果没有 S3 存储桶,请参阅《Amazon S3 用户指南》中的创建存储桶

    注意

    如果数据库很大,需要很长时间才能传输到 S3 存储桶,则可以订购 Amazon Snow Family 设备并要求 Amazon 执行备份。将文件复制到设备并将其返还给 Snow 系列团队后,该团队会将备份的映像传输到您的 S3 存储桶。有关更多信息,请参阅 Amazon Snow Family 文档

  • 访问 S3 存储桶的 IAM 角色:如果已经有一个 IAM 角色,则可以使用该角色。如果您还没有角色,请参阅步骤 2:创建 IAM 角色并附加您的 IAM policy

  • 一个 IAM 策略,其中包含附加到 IAM 角色的信任关系和权限:有关更多信息,请参阅步骤 1:创建 IAM policy

  • 添加到 RDS for Db2 数据库实例的 IAM 角色:有关更多信息,请参阅步骤 3:将您的 IAM 角色添加到 RDS for Db2 数据库实例

创建默认自动存储组

源数据库必须具有默认自动存储组。如果数据库没有默认自动存储组,则必须创建一个这类组。

创建默认自动存储组
  1. 连接到您的源数据库。在以下示例中,将 source_database 替换为数据库的名称。

    db2 connect to source_database
  2. 创建自动存储组并将其设置为默认存储组。在以下示例中,将 storage_path 替换为存储组所在位置的绝对路径。

    db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
  3. 终止后端进程。

    db2 terminate
  4. 停用数据库并停止所有数据库服务。在以下示例中,将 source_database 替换为您为其创建了存储组的数据库的名称。

    db2 deactivate db source_database
  5. 备份数据库。在以下示例中,将 source_database 替换为您为其创建了存储组的数据库的名称。将 file_system_path 替换为要在其中备份数据库的绝对路径。

    db2 backup database source_database to file_system_path

还原 Db2 数据库

在 Amazon S3 上备份数据库并创建自动存储组后,就可以将 Db2 数据库还原到 RDS for Db2 数据库实例了。

将 Db2 数据库还原到 RDS for Db2 数据库实例
  1. 连接到 RDS for Db2 数据库实例。有关更多信息,请参阅 连接到 Amazon RDS for Db2 数据库实例

  2. (可选)要确保为您的数据库配置了用于还原操作的最佳设置,您可以调用 rdsadmin.show_configuration 来检查 RESTORE_DATABASE_PARALLELISMRESTORE_DATABASE_NUM_BUFFERS 的值。根据需要,调用 rdsadmin.set_configuration 来更改这些值。显式设置这些值可以提高还原包含大量数据的数据库时的性能。

  3. 通过调用 rdsadmin.restore_database 还原您的数据库。有关更多信息,请参阅 rdsadmin.restore_database