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 REMOTE
dns_ip_address
SERVERport
-
データベースをカタログ化します。次の例では、
rds_database_name
を RDS for Db2 DB インスタンスのデータベースの名前に置き換えます。db2 catalog database
rds_database_name
as remdb at node remnode \ authentication server_encrypt
-
-
セルフマネージド Db2 インスタンスでフェデレーションを有効にします。次の例では、
source_database_name
をセルフマネージド Db2 インスタンスのデータベースの名前に置き換えます。db2 update dbm cfg using FEDERATED YES
source_database_name
-
RDS for Db2 DB インスタンスでテーブルを作成します。
-
ノードをカタログ化します。次の例では、
dns_ip_address
とport
を、DNS 名または IP アドレス、セルフマネージド Db2 データベースのポート番号に置き換えます。db2 catalog tcpip node srcnode REMOTE
dns_ip_address
serverport
-
データベースをカタログ化します。次の例では、
source_database_name
とsource_database_alias
を、セルフマネージド Db2 データベースの名前と、このデータベースに使用するエイリアスに置き換えます。db2 catalog database
source_database_name
assource_database_alias
at node srcnode \ authentication server_encrypt
-
-
ソースデータベースにアタッチします。次の例では、
source_database_alias
、user_id
、user_password
を、前のステップで作成したエイリアスと、セルフマネージド Db2 データベースのユーザー ID とパスワードに置き換えます。db2look -d
source_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 to
source_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.
NICKNAME
for RDSDB2.TABLE_NAME.
NICKNAME
-
-
リモート RDS for Db2 データベースのテーブルにデータを挿入します。セルフマネージド Db2 インスタンスのローカルテーブルの
select
ステートメントでニックネームを使用します。次の例では、NICKNAME
とTABLE_NAME
をテーブルのニックネームとテーブルの名前に置き換えます。db2 "INSERT into REMOTE.
NICKNAME
select * from RDS2DB2.TABLE_NAME.NICKNAME
"