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_address
eport
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
SERVERport
-
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
-
-
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
-
Crie tabelas na instância de banco de dados do RDS para Db2.
-
Catalogue o nó. No exemplo a seguir, substitua
dns_ip_address
eport
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
serverport
-
Catalogue o banco de dados. No exemplo a seguir, substitua
source_database_name
esource_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
assource_database_alias
at node srcnode \ authentication server_encrypt
-
-
Associe ao banco de dados de origem. No exemplo a seguir, substitua
source_database_alias
,user_id
euser_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
-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_name
pelo nome do banco de dados na instância do Db2 autogerenciado.db2 connect to
source_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
admin
eadmin_password
pelas credenciais da instância do Db2 autogerenciado. Substituards_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')" -
Associe os usuários nos dois bancos de dados. No exemplo a seguir, substitua
master_username
emaster_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
')" -
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
NICKNAME
eTABLE_NAME
por um apelido para a tabela e o nome da tabela.db2 create nickname REMOTE.
NICKNAME
for RDSDB2.TABLE_NAME.
NICKNAME
-
-
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, substituaNICKNAME
eTABLE_NAME
por um apelido para a tabela e o nome da tabela.db2 "INSERT into REMOTE.
NICKNAME
select * from RDS2DB2.TABLE_NAME.NICKNAME
"