通过从 Amazon S3 加载数据进行迁移 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

通过从 Amazon S3 加载数据进行迁移

通过这种迁移方法,您首先将单个表中的数据保存到您放入 Amazon S3 存储桶中的数据文件。然后,可以使用 LOAD command 将该数据文件中的数据加载到 Amazon RDS for Db2 数据库的表中。有关使用 Amazon S3 的更多信息,请参阅将 Amazon RDS for Db2 数据库实例与 Amazon S3 集成

将数据保存到 Amazon S3

要将单个表中的数据保存到 Amazon S3,请使用数据库实用程序来将数据从数据库管理系统(DBMS)提取到 CSV 文件中。然后,将数据文件上传到 Amazon S3。

要在 Amazon S3 上存储数据文件,您需要以下 Amazon 组件:

将数据加载到 RDS for Db2 表中

在将数据文件保存到 Amazon S3 后,可以将这些文件中的数据加载到 RDS for Db2 数据库实例上的各个表中。

将 Db2 表数据加载到 RDS for Db2 数据库表中
  1. 使用 RDS for Db2 数据库实例的主用户名和主密码连接到 rdsadmin 数据库。在以下示例中,用您自己的信息替换 master_usernamemaster_password

    db2 connect to rdsadmin user master_username using master_password
  2. 对存储访问权限别名进行编目,该别名指向存储已保存文件的 Amazon S3 存储桶。记下该别名的名称,以供在下一个步骤中使用。如果您计划从存储在同一 Amazon S3 存储桶中的数据文件加载多个表,则只需执行一次此步骤。

    以下示例对名为 my_s3_alias 的别名进行编目,该别名向名为 jorge_souza 用户授予访问名为 DOC-EXAMPLE-BUCKET 的存储桶的权限。

    db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'DOC-EXAMPLE-BUCKET', 'USER', 'jorge_souza')"

    有关此存储过程的更多信息,请参阅rdsadmin.catalog_storage_access

  3. 使用指向您的 Amazon S3 存储桶的存储访问权限别名运行 LOAD 命令。

    注意

    如果 LOAD 命令返回错误,则可能需要为 Amazon S3 创建 VPC 网关端点,并将出站规则添加到安全组。有关更多信息,请参阅 文件 I/O 错误

    以下示例将名为 my_s3_datafile.csv 的数据文件中的数据加载到名为 my_db2_table 的表中。该示例假设数据文件位于名为 my_s3_alias 的别名所指向的 Amazon S3 存储桶中。

    db2 "load from db2remote://my_s3_alias//my_s3_datafile.csv of DEL insert into my_db2_table";

    以下示例将名为 my_table1_export.ixf 的数据文件中的 LOB 加载到名为 my_db2_table 的表中。该示例假设数据文件位于名为 my_s3_alias 的别名所指向的 Amazon S3 存储桶中。

    db2 "call sysproc.admin_cmd('load from "db2remote://my_s3_alias//my_table1_export.ixf" of ixf lobs from "db2remote://my_s3_alias//" xml from "db2remote://my_s3_alias//" modified by lobsinfile implicitlyhiddeninclude identityoverride generatedoverride periodoverride transactionidoverride messages on server replace into "my_schema"."my_db2_table" nonrecoverable indexing mode incremental allow no access')"

    对 Amazon S3 存储桶中要加载到 RDS for Db2 数据库实例的表中的每个数据文件重复此步骤。

    有关 LOAD 命令的更多信息,请参阅 LOAD command