针对 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 servers
使用原生还原的限制和建议
以下限制和建议适用于使用原生还原:
-
Amazon RDS 仅支持迁移与支持的 RDS for Db2 版本相匹配的 Db2 本地版本。有关支持的版本的更多信息,请参阅 Amazon RDS 上支持的 Db2 次要版本。
-
Amazon RDS 仅支持用于原生还原的离线和在线备份。Amazon RDS 不支持增量或 Delta 备份。
-
您无法从与 RDS for Db2 数据库实例所在区域不同的 Amazon Web Services 区域中的 Amazon S3 存储桶进行还原。
-
Amazon S3 将上传到 Amazon S3 存储桶的文件大小限制为 5TB。如果数据库备份文件超过 5TB,则将备份文件拆分为较小的文件。
-
Amazon RDS 不支持非防护外部例程、增量还原或 Delta 还原。
-
您无法从加密的源数据库中还原,但可以还原到加密的 Amazon RDS 数据库实例。
根据您的配置,还原过程会有所不同。
如果 USE_STREAMING_RESTORE 设置为 TRUE,Amazon RDS 将在还原期间直接从 S3 存储桶流式传输您的备份。流式传输可显著降低存储要求。只需预调配等于或大于备份大小或原数据库大小(取较大者)的存储空间即可。
如果 USE_STREAMING_RESTORE 设置为 FALSE,Amazon RDS 将首先将备份下载到 RDS for Db2 数据库实例,然后提取备份。提取需要额外的存储空间。您必须预调配存储空间,其容量应等于或大于备份大小与原数据库大小之和。
还原数据库的最大大小等于支持的最大数据库大小减去还原过程中临时存储所需的所有空间。
将数据库备份到 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 数据库实例。
创建默认自动存储组
源数据库必须具有默认自动存储组。如果数据库没有默认自动存储组,则必须创建一个这类组。
创建默认自动存储组
-
连接到您的源数据库。在以下示例中,将
source_database替换为数据库的名称。db2 connect tosource_database -
创建自动存储组并将其设置为默认存储组。在以下示例中,将
storage_path替换为存储组所在位置的绝对路径。db2 "create stogroup IBMSTOGROUP ONstorage_pathset as default" -
终止后端进程。
db2 terminate -
停用数据库并停止所有数据库服务。在以下示例中,将
source_database替换为您为其创建了存储组的数据库的名称。db2 deactivate dbsource_database -
备份数据库。在以下示例中,将
source_database替换为您为其创建了存储组的数据库的名称。将file_system_path替换为要在其中备份数据库的绝对路径。db2 backup databasesource_databasetofile_system_path
还原 Db2 数据库
在 Amazon S3 上备份数据库并创建自动存储组后,就可以将 Db2 数据库还原到 RDS for Db2 数据库实例了。
将 Db2 数据库从 Amazon S3 存储桶还原到 RDS for Db2 数据库实例
-
连接到 RDS for Db2 数据库实例。有关更多信息,请参阅 连接到 Db2 数据库实例。
-
(可选)要确保为您的数据库配置了最佳设置,请通过调用 rdsadmin.show_configuration 来检查以下参数的值:
-
RESTORE_DATABASE_NUM_BUFFERS -
RESTORE_DATABASE_PARALLELISM -
RESTORE_DATABASE_NUM_MULTI_PATHS -
USE_STREAMING_RESTORE
根据需要使用 rdsadmin.set_configuration 修改这些值。正确配置这些参数可以显著提高还原包含大量数据的数据库时的性能。对于大多数迁移场景,我们建议将
USE_STREAMING_RESTORE设置为TRUE,因为它可以降低存储需求并可以提高还原速度。 -
-
通过调用
rdsadmin.restore_database还原您的数据库。有关更多信息,请参阅 rdsadmin.restore_database。