Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2 - Amazon Relational Database Service

Migrar dados do Db2 por meio do Amazon S3 para o Amazon RDS para Db2

Com essa abordagem de migração, primeiro salve dados de uma única tabela em um arquivo de dados que é colocado em um bucket do Amazon S3. Depois, use o comando LOAD para carregar os dados desse arquivo em uma tabela no banco de dados do Amazon RDS para Db2. Para ter mais informações sobre como usar o Amazon S3, consulte Integrar uma instância de banco de dados do Amazon RDS para Db2 ao Amazon S3.

Salvar dados no Amazon S3

Para salvar dados de uma única tabela no Amazon S3, use um utilitário de banco de dados para extrair os dados do sistema de gerenciamento de banco de dados (DBMS) em um arquivo CSV. Depois, faça upload de cada arquivo de dados no Amazon S3.

Para armazenar arquivos de dados no Amazon S3, são necessários os seguintes componentes da AWS:

Carregar dados em tabelas do RDS para Db2

Depois de salvar os arquivos de dados no Amazon S3, é possível carregar os dados desses arquivos em tabelas individuais na instância de banco de dados do RDS para Db2.

Como carregar dados da tabela do Db2 na tabela do banco de dados do RDS para Db2
  1. Conecte-se ao banco de dados rdsadmin 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
  2. Catalogue um alias de acesso ao armazenamento que aponte para o bucket do Amazon S3 onde os arquivos salvos são armazenados. Anote o nome desse alias para uso na próxima etapa. Só é necessário realizar essa etapa uma vez se planeja carregar várias tabelas de arquivos de dados armazenados no mesmo bucket do Amazon S3.

    O exemplo a seguir cataloga um alias chamado my_s3_alias, que concede a um usuário chamado jorge_souza acesso a um bucket denominado amzn-s3-demo-bucket.

    db2 "call rdsadmin.catalog_storage_access(?, 'my_s3_alias', 'amzn-s3-demo-bucket', 'USER', 'jorge_souza')"

    Para ter mais informações sobre esse procedimento armazenado, consulte rdsadmin.catalog_storage_access.

  3. Execute o comando LOAD usando o alias de acesso ao armazenamento que aponta para o bucket do Amazon S3.

    nota

    Se o comando LOAD gerar um erro, talvez seja necessário criar um endpoint de gateway da VPC para o Amazon S3 e adicionar regras de saída ao grupo de segurança. Para ter mais informações, consulte Erro de E/S de arquivo.

    O exemplo a seguir carrega dados de um arquivo chamado my_s3_datafile.csv em uma tabela chamada my_db2_table. O exemplo pressupõe que o arquivo de dados esteja no bucket do Amazon S3 para o qual o alias chamando my_s3_alias aponta.

    db2 "load from db2remote://my_s3_alias//my_s3_datafile.csv of DEL insert into my_db2_table";

    O exemplo a seguir carrega LOBs de um arquivo de dados chamado my_table1_export.ixf em uma tabela denominada my_db2_table. O exemplo pressupõe que o arquivo de dados esteja no bucket do Amazon S3 para o qual o alias chamando my_s3_alias aponta.

    db2 "call sysproc.admin_cmd('load from "db2remote://my_s3_alias//my_table1_export.ixf" of ixf lobs from "db2remote://my_s3_alias//" xml from "db2remote://my_s3_alias//" modified by lobsinfile implicitlyhiddeninclude identityoverride generatedoverride periodoverride transactionidoverride messages on server replace into "my_schema"."my_db2_table" nonrecoverable indexing mode incremental allow no access')"

    Repita essa etapa para cada arquivo de dados do bucket do Amazon S3 que você deseja carregar em uma tabela na instância de banco de dados do RDS para Db2.

    Para ter mais informações sobre o comando LOAD, consulte Comando LOAD.