本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 Amazon S3 將 Db2 資料遷移至 Amazon RDS for Db2
使用此遷移方法,您首先會將單一資料表中的資料儲存到放置在 Amazon S3 儲存貯體中的資料檔案中。然後,您可以使用 LOAD命令
將資料儲存至 Amazon S3
若要將資料從單一資料表儲存至 Amazon S3,請使用資料庫公用程式,將資料從您的資料庫管理系統 (DBMS) 擷取到CSV檔案中。然後,將資料檔案上傳至 Amazon S3。
若要將資料檔案儲存在 Amazon S3,您需要下列 AWS 元件:
-
存放備份檔案的 Amazon S3 儲存貯體:如果您已有 S3 儲存貯體,您可以使用該儲存貯體。如果您沒有 S3 儲存貯體,請參閱 Amazon S3 使用者指南 中的建立儲存貯體。
-
存取 S3 儲存貯體 IAM 的角色:如果您已有IAM角色,則可以使用該角色。如果您沒有角色,請參閱 步驟 2:建立IAM角色並連接您的IAM政策。
-
將信任關係和許可連接至IAM角色IAM的政策:如需詳細資訊,請參閱 步驟 1:建立 IAM 政策。
-
新增至 RDS Db2 資料庫執行個體 IAM的角色:如需詳細資訊,請參閱 步驟 3:將您的IAM角色新增至RDS適用於 Db2 資料庫執行個體的。
將您的資料載入RDS至 for Db2 資料表
將資料檔案儲存至 Amazon S3 之後,您可以將這些檔案中的資料載入RDS至 for Db2 資料庫執行個體上的個別資料表。
將 Db2 資料表資料載入RDS至 for Db2 資料庫資料庫資料表
-
使用RDS適用於 Db2
rdsadmin
資料庫執行個體的主使用者名稱和主密碼連線至資料庫。在下列範例中,取代master_username
以及master_password
使用您自己的資訊。db2 connect to rdsadmin user
master_username
usingmaster_password
-
為指向儲存檔案之 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。
-
使用指向 Amazon S3 儲存貯體的儲存體存取別名來執行
LOAD
命令。注意
如果
LOAD
命令傳回錯誤,則您可能需要為 Amazon S3 建立VPC閘道端點,並將傳出規則新增至安全群組。如需詳細資訊,請參閱檔案 I/O 錯誤。下列範例會從名為 的資料檔案載入資料
my_s3_datafile.csv
至名為 的資料表my_db2_table
。 此範例假設資料檔案位於別名名為 的 Amazon S3 儲存貯體中my_s3_alias
指向。db2 "load from db2remote://
my_s3_alias
//my_s3_datafile.csv
of DEL insert intomy_db2_table
";下列範例LOBs會從名為 的資料檔案載入
my_table1_export.ixf
至名為 的資料表my_db2_table
。 此範例假設資料檔案位於別名名為 的 Amazon S3 儲存貯體中my_s3_alias
指向。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命令。