Copiar metadados do banco de dados do Db2 para o Amazon RDS para Db2 com db2look - Amazon Relational Database Service

Copiar metadados do banco de dados do Db2 para o Amazon RDS para Db2 com db2look

db2look é uma ferramenta nativa do Db2 que extrai arquivos, objetos, autorizações, configurações, WLM e layouts de banco de dados da linguagem de definição de dados (DDL). É possível usar o db2look para copiar metadados de um banco de dados do Db2 autogerenciado para um banco de dados do Amazon RDS para Db2. Para ter mais informações, consulte Mimicking databases using db2look na documentação do IBM Db2.

Como copiar os metadados do banco de dados
  1. Execute a ferramenta db2look no sistema do Db2 autogerenciado para extrair o arquivo DDL. No exemplo a seguir, substitua database_name pelo nome do banco de dados do Db2.

    db2look -d database_name -e -l -a -f -wlm -cor -createdb -printdbcfg -o db2look.sql
  2. Se a máquina cliente tiver acesso ao banco de dados de origem (Db2 autogerenciado) e à instância de banco de dados do RDS para Db2, será possível criar o arquivo db2look.sql na máquina cliente conectando-se diretamente à instância remota. Depois, catalogue a instância remota autogerenciada do Db2.

    1. Catalogue o nó. No exemplo a seguir, substitua dns_ip_address e port pelo nome do DNS ou pelo endereço IP e pelo número da porta do banco de dados do Db2 autogerenciado.

      db2 catalog tcpip node srcnode REMOTE dns_ip_address server port
    2. Catalogue o banco de dados. No exemplo a seguir, substitua source_database_name e source_database_alias pelo nome do banco de dados do Db2 autogerenciado e pelo alias a ser utilizado para esse banco de dados.

      db2 catalog database source_database_name as source_database_alias at node srcnode \ authentication server_encrypt
    3. Associe ao banco de dados de origem. No exemplo a seguir, substitua source_database_alias, user_id e user_password pelo alias que você criou na etapa anterior e pelo ID de usuário e senha do banco de dados do Db2 autogerenciado.

      db2look -d source_database_alias -i user_id -w user_password -e -l -a -f -wlm \ -cor -createdb -printdbcfg -o db2look.sql
  3. Se você não conseguir acessar o banco de dados do Db2 autogerenciado remoto da máquina cliente, copie o arquivo db2look.sql para a máquina cliente. Depois, catalogue a instância de banco de dados do RDS para Db2.

    1. Catalogue o nó. No exemplo a seguir, substitua dns_ip_address e port pelo nome do DNS ou pelo endereço IP e pelo número da porta da instância de banco de dados do RDS para Db2.

      db2 catalog tcpip node remnode REMOTE dns_ip_address server port
    2. Catalogue o banco de dados. No exemplo a seguir, substitua rds_database_name e rds_database_alias pelo nome do banco de dados do RDS para Db2 e pelo alias a ser utilizado para esse banco de dados.

      db2 catalog database rds_database_name as rds_database_alias at node remnode \ authentication server_encrypt
    3. Catalogue o banco de dados administrativo que gerencia o RDS para Db2. Não é possível usar esse banco de dados para armazenar dados.

      db2 catalog database rdsadmin as rdsadmin at node remnode authentication server_encrypt
  4. Crie grupos de buffer e espaços de tabela. O administrador não tem privilégios para criar grupos de buffer nem espaços de tabela. No entanto, é possível usar procedimentos armazenados do Amazon RDS para criá-los.

    1. Encontre os nomes e as definições dos grupos de buffer e dos espaços de tabela no arquivo db2look.sql.

    2. Conecte-se ao Amazon RDS usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua master_username e master_password por suas próprias informações.

      db2 connect to rdsadmin user master_username using master_password
    3. Crie um grupo de buffers chamando rdsadmin.create_bufferpool. Para ter mais informações, consulte 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. Crie um espaço de tabela chamando rdsadmin.create_tablespace. Para ter mais informações, consulte rdsadmin.create_tablespace.

      db2 "call rdsadmin.create_tablespace( 'database_name', 'tablespace_name', 'buffer_pool_name', tablespace_initial_size, tablespace_increase_size, 'tablespace_type')"
    5. Repita as etapas c ou d para cada grupo de buffers ou espaço de tabela extra que você deseja adicionar.

    6. Encerre a conexão.

      db2 terminate
  5. Crie tabelas e objetos.

    1. Conecte-se ao banco de dados do RDS para Db2 usando o nome de usuário principal e a senha mestra da instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua rds_database_name, master_username e master_password por suas próprias informações.

      db2 connect to rds_database_name user master_username using master_password
    2. Execute o arquivo db2look.sql.

      db2 -tvf db2look.sql
    3. Encerre a conexão.

      db2 terminate