使用 db2look 將資料庫中繼資料從 Db2 複製到 Amazon RDS for Db2 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 db2look 將資料庫中繼資料從 Db2 複製到 Amazon RDS for Db2

db2look 是一種原生 Db2 工具,可擷取資料定義語言 (DDL) 檔案、物件、授權、組態、WLM 和資料庫配置。您可以使用 db2look 將資料庫中繼資料從自我管理的 Db2 資料庫複製到 Amazon RDS for Db2 資料庫。如需詳細資訊,請參閱 IBM Db2 文件中的使用 db2look 模擬資料庫

複製資料庫中繼資料
  1. 在自我管理的 Db2 系統上執行 db2look 工具,以擷取 DDL 檔案。在下列範例中,將 database_name 取代為 Db2 資料庫的名稱。

    db2look -d database_name -e -l -a -f -wlm -cor -createdb -printdbcfg -o db2look.sql
  2. 如果您的用戶端電腦可以存取來源 (自我管理的 Db2) 資料庫和 RDS for Db2 資料庫執行個體,則您可以直接連接到遠端執行個體,在用戶端電腦上建立 db2look.sql 檔案。然後為遠端自我管理 Db2 執行個體編製目錄。

    1. 為節點編製目錄。在下列範例中,將 dns_ip_addressport 取代為 DNS 名稱或 IP 位址,以及自我管理 Db2 資料庫的連接埠號碼。

      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
    2. 為資料庫編製目錄。在下列範例中,將 source_database_namesource_database_alias 取代為自我管理 Db2 資料庫的名稱,以及您要用於此資料庫的別名。

      db2 catalog database source_database_name as source_database_alias at node srcnode \ authentication server_encrypt
    3. 連接至來源資料庫。在下列範例中,將 source_database_aliasuser_iduser_password 取代為您在上一個步驟中建立的別名,以及自我管理 Db2 資料庫的使用者 ID 和密碼。

      db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \ -cor -createdb -printdbcfg -o db2look.sql
  3. 如果您無法從用戶端電腦存取遠端自我管理 Db2 資料庫,請將 db2look.sql 檔案複製到用戶端電腦。然後為 RDS for Db2 資料庫執行個體編製目錄。

    1. 為節點編製目錄。在下列範例中,將 dns_ip_addressport 取代為 DNS 名稱或 IP 位址,以及 RDS for Db2 資料庫執行個體的連接埠號碼。

      db2 catalog tcpip node remnode REMOTE dns_ip_address server port
    2. 為資料庫編製目錄。在下列範例中,將 rds_database_namerds_database_alias 取代為 RDS for Db2 資料庫的名稱,以及您要用於此資料庫的別名。

      db2 catalog database rds_database_name as rds_database_alias at node remnode \ authentication server_encrypt
    3. 為管理 Db2 RDS 的管理員資料庫編製目錄。您無法使用此資料庫來存放任何資料。

      db2 catalog database rdsadmin as rdsadmin at node remnode authentication server_encrypt
  4. 建立緩衝集區和資料表空間。管理員沒有建立緩衝集區或資料表空間的權限。不過,您可以使用 Amazon RDS 預存程序來建立這些項目。

    1. 尋找 db2look.sql 檔案中緩衝集區和資料表空間的名稱和定義。

    2. 使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼連線至 Amazon RDS。在下列範例中,將 master_usernamemaster_password 取代為您自己的資訊。

      db2 connect to rdsadmin user master_username using master_password
    3. 呼叫 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)"
    4. 呼叫 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')"
    5. 針對您要新增的每個額外緩衝集區或資料表空間,重複步驟 c 或 d。

    6. 終止您的連線。

      db2 terminate
  5. 建立資料表和物件。

    1. 使用 RDS for Db2 資料庫執行個體的主使用者名稱和主密碼連線至 RDS for Db2 資料庫。在下列範例中,將 rds_database_namemaster_usernamemaster_password 取代為您自己的資訊。

      db2 connect to rds_database_name user master_username using master_password
    2. 執行 db2look.sql 檔案。

      db2 -tvf db2look.sql
    3. 終止您的連線。

      db2 terminate