INSERT コマンドを使用して Db2 から Amazon RDS for Db2 にデータをインポートする
INSERT コマンドを使用して、セルフマネージド Db2 サーバーから Amazon RDS for Db2 データベースにデータを挿入できます。この移行アプローチでは、リモート RDS for Db2 DB インスタンスのニックネームを使用します。セルフマネージド Db2 データベース (ソース) は、RDS for Db2 データベース (ターゲット) に接続できる必要があります。
重要
INSERT コマンドメソッドは、小さなテーブルの移行に便利です。セルフマネージド Db2 データベースと RDS for Db2 データベース間のネットワーク帯域幅が制限されている場合は、別の移行アプローチを使用することをお勧めします。詳細については、「ネイティブ Db2 ツールを使用して Db2 から Amazon RDS for Db2 にデータを移行する」を参照してください。
セルフマネージド Db2 データベースから RDS for Db2 データベースにデータをコピーするには
-
セルフマネージド Db2 インスタンスで RDS for Db2 DB インスタンスをカタログ化します。
-
ノードをカタログ化します。次の例では、
dns_ip_addressとportを、DNS 名または IP アドレス、セルフマネージド Db2 データベースのポート番号に置き換えます。db2 catalog tcpip node remnode REMOTEdns_ip_addressSERVERport -
データベースをカタログ化します。次の例では、
rds_database_nameを RDS for Db2 DB インスタンスのデータベースの名前に置き換えます。db2 catalog databaserds_database_nameas remdb at node remnode \ authentication server_encrypt
-
-
セルフマネージド Db2 インスタンスでフェデレーションを有効にします。次の例では、
source_database_nameをセルフマネージド Db2 インスタンスのデータベースの名前に置き換えます。db2 update dbm cfg using FEDERATED YESsource_database_name -
RDS for Db2 DB インスタンスでテーブルを作成します。
-
ノードをカタログ化します。次の例では、
dns_ip_addressとportを、DNS 名または IP アドレス、セルフマネージド Db2 データベースのポート番号に置き換えます。db2 catalog tcpip node srcnode REMOTEdns_ip_addressserverport -
データベースをカタログ化します。次の例では、
source_database_nameとsource_database_aliasを、セルフマネージド Db2 データベースの名前と、このデータベースに使用するエイリアスに置き換えます。db2 catalog databasesource_database_nameassource_database_aliasat node srcnode \ authentication server_encrypt
-
-
ソースデータベースにアタッチします。次の例では、
source_database_alias、user_id、user_passwordを、前のステップで作成したエイリアスと、セルフマネージド Db2 データベースのユーザー ID とパスワードに置き換えます。db2look -dsource_database_alias-iuser_id-wuser_password-e -l -a -f -wlm \ -cor -createdb -printdbcfg -o db2look.sql -
フェデレーションを設定し、セルフマネージド Db2 インスタンスの RDS for Db2 データベーステーブルのニックネームを作成します。
-
ローカルデータベースに接続します。次の例では、
source_database_nameをセルフマネージド Db2 インスタンスのデータベースの名前に置き換えます。db2 connect tosource_database_name -
Db2 データソースにアクセスするためのラッパーを作成します。
db2 create wrapper drda -
フェデレーションデータベースでデータソースを定義します。次の例では、
adminとadmin_passwordをセルフマネージド Db2 インスタンスの認証情報に置き換えます。rds_database_nameを RDS for Db2 DB インスタンスのデータベースの名前に置き換えます。db2 "create server rdsdb2 type DB2/LUW version '11.5.9.0' \ wrapper drda authorization "admin" password "admin_password" \ options( dbname 'rds_database_name', node 'remnode')" -
2 つのデータベースのユーザーをマッピングします。次の例では、
master_usernameとmaster_passwordを RDS for Db2 DB インスタンスの認証情報に置き換えます。db2 "create user mapping for user server rdsdb2 \ options (REMOTE_AUTHID 'master_username', REMOTE_PASSWORD 'master_password')" -
RDS for Db2 サーバーへの接続を確認します。
db2 set passthru rdsdb2 -
リモート RDS for Db2 データベースのテーブルのニックネームを作成します。次の例では、
NICKNAMEとTABLE_NAMEをテーブルのニックネームとテーブルの名前に置き換えます。db2 create nickname REMOTE.NICKNAMEfor RDSDB2.TABLE_NAME.NICKNAME
-
-
リモート RDS for Db2 データベースのテーブルにデータを挿入します。セルフマネージド Db2 インスタンスのローカルテーブルの
selectステートメントでニックネームを使用します。次の例では、NICKNAMEとTABLE_NAMEをテーブルのニックネームとテーブルの名前に置き換えます。db2 "INSERT into REMOTE.NICKNAMEselect * from RDS2DB2.TABLE_NAME.NICKNAME"