db2look を使用して Db2 から Amazon RDS for Db2 にデータベースメタデータをコピーする
db2look は、データ定義言語 (DDL) ファイル、オブジェクト、認証、設定、WLM、およびデータベースレイアウトを抽出するネイティブ Db2 ツールです。db2look を使用して、セルフマネージド Db2 データベースから Amazon RDS for Db2 データベースにデータベースメタデータをコピーできます。詳細については、IBM Db2 ドキュメントの「Mimicking databases using db2look
データベースメタデータをコピーするには
-
セルフマネージド Db2 システムで
db2lookツールを実行し、DDL ファイルを抽出します。次の例では、database_nameを Db2 データベースの名前に置き換えます。db2look -ddatabase_name-e -l -a -f -wlm -cor -createdb -printdbcfg -o db2look.sql -
クライアントマシンがソース (セルフマネージド Db2) データベースと RDS for Db2 DB インスタンスにアクセスできる場合は、リモートインスタンスに直接アタッチすることで、クライアントマシンで
db2look.sqlファイルを作成できます。次に、リモートのセルフマネージド Db2 インスタンスをカタログ化します。-
ノードをカタログ化します。次の例では、
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 データベースにアクセスできない場合は、
db2look.sqlファイルをクライアントマシンにコピーします。 次に、RDS for Db2 DB インスタンスをカタログ化します。-
ノードをカタログ化します。次の例では、
dns_ip_addressとportを、DNS 名または IP アドレスと、RDS for Db2 DB インスタンスのポート番号に置き換えます。db2 catalog tcpip node remnode REMOTEdns_ip_addressserverport -
データベースをカタログ化します。次の例では、
rds_database_nameとrds_database_aliasを、RDS for Db2 データベースの名前と、このデータベースに使用するエイリアスに置き換えます。db2 catalog databaserds_database_nameasrds_database_aliasat node remnode \ authentication server_encrypt -
RDS for Db2 を管理する管理データベースをカタログ化します。このデータベースを使用してデータを保存することはできません。
db2 catalog database rdsadmin as rdsadmin at node remnode authentication server_encrypt
-
-
バッファプールとテーブルスペースを作成します。管理者には、バッファプールまたはテーブルスペースを作成する権限がありません。ただし、Amazon RDS ストアドプロシージャを使用して作成することができます。
-
db2look.sqlファイル内のバッファプールとテーブルスペースの名前と定義を見つけます。 -
RDS for Db2 DB インスタンスのマスターユーザー名とマスターパスワードを使用して Amazon RDS に接続します。次の例では、
master_usernameとmaster_passwordをユーザー自身の情報に置き換えます。db2 connect to rdsadmin usermaster_usernameusingmaster_password -
rdsadmin.create_bufferpoolを呼び出してバッファプールを作成します。詳細については、「rdsadmin.create_bufferpool」を参照してください。db2 "call rdsadmin.create_bufferpool( 'database_name', 'buffer_pool_name',buffer_pool_size, 'immediate', 'automatic',page_size,number_block_pages,block_size)" -
rdsadmin.create_tablespaceを呼び出してテーブルスペースを作成します。詳細については、「rdsadmin.create_tablespace」を参照してください。db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name',tablespace_initial_size,tablespace_increase_size, 'tablespace_type')" -
追加するバッファプールまたはテーブルスペースごとに、ステップ c または d を繰り返します。
-
接続を終了します。
db2 terminate
-
-
テーブルとオブジェクトを作成します。
-
RDS for Db2 DB インスタンスのマスターユーザー名とマスターパスワードを使用して、RDS for Db2 データベースに接続します。次の例では、
rds_database_name、master_username、master_passwordをユーザー自身の情報に置き換えます。db2 connect tords_database_nameusermaster_usernameusingmaster_password -
db2look.sqlファイルを実行します。db2 -tvf db2look.sql -
接続を終了します。
db2 terminate
-