透過 Amazon S3 將 Db2 資料遷移至 Amazon RDS for Db2 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

透過 Amazon S3 將 Db2 資料遷移至 Amazon RDS for Db2

若使用此遷移方法,您會先將資料從單一資料表儲存到放置在 Amazon S3 儲存貯體中的資料檔案中。然後,您可以使用 LOAD 命令,將資料從該資料檔案載入 Amazon RDS for Db2 資料庫中的資料表。如需使用 Amazon S3 的詳細資訊,請參閱 整合 Amazon RDS for Db2 資料庫執行個體和 Amazon S3

在 Amazon S3 中儲存您的資料

若要將資料從單一資料表儲存至 Amazon S3,請使用資料庫公用程式,將資料從資料庫管理系統 (DBMS) 擷取至 CSV 檔案。然後,將資料檔案上傳至 Amazon S3。

若要在 Amazon S3 上儲存資料檔案,您需要下列 AWS 元件:

將資料載入 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 的使用者存取名為 amzn-s3-demo-bucket 的儲存貯體。

    db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'amzn-s3-demo-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')"

    針對要載入 RDS for Db2 資料庫執行個體中資料表之 Amazon S3 儲存貯體中的每個資料檔案,重複此步驟。

    如需 LOAD 命令的詳細資訊,請參閱 LOAD 命令