Comando INSERT de um banco de dados do Db2 autogerenciado para um banco de dados do Amazon RDS para Db2 - Amazon Relational Database Service

Comando INSERT de um banco de dados do Db2 autogerenciado para um banco de dados do Amazon RDS para Db2

É possível usar o comando INSERT de um servidor do Db2 autogerenciado para inserir os dados em um banco de dados do Amazon RDS para Db2. Com essa abordagem de migração, é usado um apelido para a instância de banco de dados do RDS para Db2 remota. O banco de dados do Db2 autogerenciado (origem) deve ser capaz de se conectar ao banco de dados do RDS para Db2 (destino).

Importante

O método de comando INSERT é útil para migrar tabelas pequenas. Se a largura de banda da rede entre o banco de dados do Db2 autogerenciado e o banco de dados do RDS para Db2 for limitada, recomendamos usar uma abordagem de migração diferente. Para ter mais informações, consulte Ferramentas nativas do Db2.

Como copiar dados de um banco de dados do Db2 autogerenciado em um banco de dados do RDS para Db2
  1. Catalogue a instância de banco de dados do RDS para Db2 na instância do Db2 autogerenciado.

    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 remnode REMOTE dns_ip_address SERVER port
    2. Catalogue o banco de dados. No exemplo a seguir, substitua rds_database_name pelo nome do banco de dados na instância de banco de dados do RDS para Db2.

      db2 catalog database rds_database_name as remdb at node remnode \ authentication server_encrypt
  2. Habilite a federação na instância do Db2 autogerenciado. No exemplo a seguir, substitua source_database_name pelo nome do banco de dados na instância de banco de dados do Db2 autogerenciado.

    db2 update dbm cfg using FEDERATED YES source_database_name
  3. Crie tabelas na 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 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
  4. 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
  5. Configure a federação e crie um apelido para a tabela de banco de dados do RDS para Db2 na instância do Db2 autogerenciado.

    1. Conecte-se ao banco de dados local. No exemplo a seguir, substitua source_database_name pelo nome do banco de dados na instância do Db2 autogerenciado.

      db2 connect to source_database_name
    2. Crie um wrapper para acessar fontes de dados do Db2.

      db2 create wrapper drda
    3. Defina uma fonte de dados em um banco de dados federado. No exemplo a seguir, substitua admin e admin_password pelas credenciais da instância do Db2 autogerenciado. Substitua rds_database_name pelo nome do banco de dados na instância de banco de dados do RDS para Db2.

      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')"
    4. Associe os usuários nos dois bancos de dados. No exemplo a seguir, substitua master_username e master_password pelas credenciais da instância de banco de dados do RDS para Db2.

      db2 "create user mapping for user server rdsdb2 \ options (REMOTE_AUTHID 'master_username', REMOTE_PASSWORD 'master_password')"
    5. Verifique a conexão com o servidor RDS para Db2.

      db2 set passthru rdsdb2
    6. Crie um apelido para a tabela no banco de dados remoto do RDS para Db2. No exemplo a seguir, substitua NICKNAME e TABLE_NAME por um apelido para a tabela e o nome da tabela.

      db2 create nickname REMOTE.NICKNAME for RDSDB2.TABLE_NAME.NICKNAME
  6. Insira dados na tabela no banco de dados remoto do RDS para Db2. Use o apelido em uma declaração select na tabela local na instância do Db2 autogerenciado. No exemplo a seguir, substitua NICKNAME e TABLE_NAME por um apelido para a tabela e o nome da tabela.

    db2 "INSERT into REMOTE.NICKNAME select * from RDS2DB2.TABLE_NAME.NICKNAME"