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 -d
database_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 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 データベースにアクセスできない場合は、
db2look.sql
ファイルをクライアントマシンにコピーします。 次に、RDS for Db2 DB インスタンスをカタログ化します。-
ノードをカタログ化します。次の例では、
dns_ip_address
とport
を、DNS 名または IP アドレスと、RDS for Db2 DB インスタンスのポート番号に置き換えます。db2 catalog tcpip node remnode REMOTE
dns_ip_address
serverport
-
データベースをカタログ化します。次の例では、
rds_database_name
とrds_database_alias
を、RDS for Db2 データベースの名前と、このデータベースに使用するエイリアスに置き換えます。db2 catalog database
rds_database_name
asrds_database_alias
at 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 user
master_username
usingmaster_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 to
rds_database_name
usermaster_username
usingmaster_password
-
db2look.sql
ファイルを実行します。db2 -tvf db2look.sql
-
接続を終了します。
db2 terminate
-