Importar dados do Db2 para o Amazon RDS para Db2 com o comando INSERT
É 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 Usar ferramentas nativas do Db2 para migrar dados do Db2 para o Amazon RDS para Db2.
Como copiar dados de um banco de dados do Db2 autogerenciado em um banco de dados do RDS para Db2
-
Catalogue a instância de banco de dados do RDS para Db2 na instância do Db2 autogerenciado.
-
Catalogue o nó. No exemplo a seguir, substitua
dns_ip_addresseportpelo 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 REMOTEdns_ip_addressSERVERport -
Catalogue o banco de dados. No exemplo a seguir, substitua
rds_database_namepelo nome do banco de dados na instância de banco de dados do RDS para Db2.db2 catalog databaserds_database_nameas remdb at node remnode \ authentication server_encrypt
-
-
Habilite a federação na instância do Db2 autogerenciado. No exemplo a seguir, substitua
source_database_namepelo nome do banco de dados na instância de banco de dados do Db2 autogerenciado.db2 update dbm cfg using FEDERATED YESsource_database_name -
Crie tabelas na instância de banco de dados do RDS para Db2.
-
Catalogue o nó. No exemplo a seguir, substitua
dns_ip_addresseportpelo 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 REMOTEdns_ip_addressserverport -
Catalogue o banco de dados. No exemplo a seguir, substitua
source_database_nameesource_database_aliaspelo nome do banco de dados do Db2 autogerenciado e pelo alias a ser utilizado para esse banco de dados.db2 catalog databasesource_database_nameassource_database_aliasat node srcnode \ authentication server_encrypt
-
-
Associe ao banco de dados de origem. No exemplo a seguir, substitua
source_database_alias,user_ideuser_passwordpelo alias que você criou na etapa anterior e pelo ID de usuário e senha do banco de dados do Db2 autogerenciado.db2look -dsource_database_alias-iuser_id-wuser_password-e -l -a -f -wlm \ -cor -createdb -printdbcfg -o db2look.sql -
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.
-
Conecte-se ao banco de dados local. No exemplo a seguir, substitua
source_database_namepelo nome do banco de dados na instância do Db2 autogerenciado.db2 connect tosource_database_name -
Crie um wrapper para acessar fontes de dados do Db2.
db2 create wrapper drda -
Defina uma fonte de dados em um banco de dados federado. No exemplo a seguir, substitua
admineadmin_passwordpelas credenciais da instância do Db2 autogerenciado. Substituards_database_namepelo 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')" -
Associe os usuários nos dois bancos de dados. No exemplo a seguir, substitua
master_usernameemaster_passwordpelas 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')" -
Verifique a conexão com o servidor RDS para Db2.
db2 set passthru rdsdb2 -
Crie um apelido para a tabela no banco de dados remoto do RDS para Db2. No exemplo a seguir, substitua
NICKNAMEeTABLE_NAMEpor um apelido para a tabela e o nome da tabela.db2 create nickname REMOTE.NICKNAMEfor RDSDB2.TABLE_NAME.NICKNAME
-
-
Insira dados na tabela no banco de dados remoto do RDS para Db2. Use o apelido em uma declaração
selectna tabela local na instância do Db2 autogerenciado. No exemplo a seguir, substituaNICKNAMEeTABLE_NAMEpor um apelido para a tabela e o nome da tabela.db2 "INSERT into REMOTE.NICKNAMEselect * from RDS2DB2.TABLE_NAME.NICKNAME"