Migrar do Linux para Linux com quase zero tempo de inatividade para o Amazon RDS para Db2 - Amazon Relational Database Service

Migrar do Linux para Linux com quase zero tempo de inatividade para o Amazon RDS para Db2

Com essa abordagem de migração, você vai migrar um banco de dados do Db2 baseado em Linux de um banco de dados do Db2 autogerenciado (origem) para o Amazon RDS para Db2. Essa abordagem ocasiona mínima ou nenhuma interrupção ou tempo de inatividade da aplicação ou dos usuários. Essa abordagem faz backup do banco de dados e o restaura com a reprodução do log, o que ajuda a evitar interrupções nas operações contínuas e oferece alta disponibilidade do banco de dados.

Para ter uma migração com tempo de inatividade quase zero, o RDS para Db2 implementa a restauração com reprodução de logs. Essa abordagem faz backup do banco de dados do DB2 baseado em Linux autogerenciado e o restaura no servidor RDS para Db2. Com os procedimentos armazenados do Amazon RDS, você aplica os logs de transações subsequentes para atualizar o banco de dados.

Limitações e recomendações de migração com tempo de inatividade quase zero

As seguintes limitações e recomendações se aplicam à utilização da migração de tempo de inatividade quase zero:

  • O Amazon RDS exige um backup on-line para uma migração com tempo de inatividade quase zero. Isso ocorre porque o Amazon RDS mantém o banco de dados em um estado pendente de rollforward à medida que você faz upload dos logs de transações arquivados. Para ter mais informações, consulte Migrar o bancos de dados do Db2.

  • Não é possível restaurar de um bucket do Amazon S3 em uma Região da AWS diferente da região onde a instância de banco de dados do RDS para Db2 está localizada.

  • Não será possível restaurar um banco de dados se a instância de banco de dados do RDS para Db2 já tiver um banco de dados.

  • O Amazon S3 limita o tamanho dos arquivos carregados para um bucket do S3 a 5 TB. Se um arquivo de backup de banco de dados exceder 5 TB, divida o arquivo de backup em arquivos menores.

  • O Amazon RDS não comporta rotinas externas não protegidas, restaurações incrementais nem restaurações Delta.

  • Não é possível restaurar de um banco de dados de origem criptografado, mas você pode restaurar para uma instância de banco de dados do Amazon RDS.

Ao restaurar o banco de dados, o Amazon RDS copia o backup e o extrai na instância de banco de dados do RDS para Db2. Recomendamos provisionar espaço de armazenamento para a instância de banco de dados do RDS para Db2 igual ou maior que a soma do tamanho do backup, além do tamanho do banco de dados original no disco.

O tamanho máximo do banco de dados restaurado é o tamanho máximo do banco de dados compatível menos o tamanho do backup. Por exemplo, se o tamanho máximo do banco de dados compatível for de 64 TiB e o tamanho do backup for de 30 TiB, o tamanho máximo do banco de dados restaurado será de 34 TiB.

64 TiB - 30 TiB = 34 TiB

Fazer backup do banco de dados no Amazon S3

Para fazer backup do banco de dados no Amazon S3, são necessários os seguintes componentes da AWS:

  • Um bucket do Amazon S3 para armazenar arquivos de backup: faça upload de todos os arquivos de backup que você deseja migrar para o Amazon RDS. O Amazon RDS exige um backup on-line para uma migração com tempo de inatividade quase zero. Se você já tiver um bucket do Amazon S3, poderá usá-lo. Se você não tiver um bucket do S3, consulte Criar um bucket no Guia do usuário do Amazon S3.

    nota

    Se o banco de dados for grande e levar muito tempo para ser transferido para um bucket do S3, será possível solicitar um dispositivo AWS Snow Family e pedir para que a AWS realize o backup. Depois de copiar os arquivos para o dispositivo e devolvê-los à equipe da família Snow, a equipe vai transferir as imagens de backup para o bucket do S3. Para obter mais informações, consulte a documentação do AWS Snow Family.

  • Um perfil do IAM para acessar o bucket do S3: se você já tem um perfil do AWS Identity and Access Management (IAM), pode usá-lo. Se não tiver um perfil, consulte Etapa 2: Criar um perfil do IAM e associar a política do IAM.

  • Uma política do IAM com relações de confiança e permissões anexadas ao perfil do IAM: consulte mais informações em Etapa 1: criar uma política do IAM.

  • O perfil do IAM adicionado à instância de banco de dados do RDS para Db2: consulte mais informações em Etapa 3: Adicionar o perfil do IAM à instância de banco de dados do RDS para Db2.

Criar um grupo de armazenamento automático padrão

O banco de dados de origem deve ter um grupo de armazenamento automático padrão. Se o banco de dados não tiver um grupo de armazenamento automático padrão, você deverá criar um.

Como criar um grupo de armazenamento automático padrão
  1. Conecte-se ao seu banco de dados de origem. No exemplo a seguir, substitua source_database pelo nome do banco de dados.

    db2 connect to source_database
  2. Crie um grupo de armazenamento automático e defina-o como padrão. No exemplo a seguir, substitua storage_path pelo caminho absoluto de onde o grupo de armazenamento está localizado.

    db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
  3. Encerre os processos de backend.

    db2 terminate

Migrar o bancos de dados do Db2

Depois de fazer backup do banco de dados no Amazon S3 e criar um grupo de armazenamento automático, estará tudo pronto para migrar o banco de dados do Db2 para a instância de banco de dados do RDS para Db2.

Como realizar uma migração com tempo de inatividade quase zero
  1. Execute um backup on-line do banco de dados de origem. Para ter mais informações, consulte BACKUP DATABASE command na documentação do IBM Db2.

  2. Copie o backup do banco de dados para um bucket do Amazon S3. Para ter informações sobre o Amazon S3, consulte o Guia do usuário do Amazon Simple Storage Service.

  3. Conecte-se ao servidor rdsadmin com o master_username e a master_password da instância de banco de dados do RDS para Db2.

    db2 connect to rdsadmin user master_username using master_password
  4. (Opcional) Para garantir que o banco de dados tenha as configurações ideais definidas para a operação de restauração, é possível chamar rdsadmin.show_configuration para conferir os valores de RESTORE_DATABASE_PARALLELISM e RESTORE_DATABASE_NUM_BUFFERS. Chame rdsadmin.set_configuration para alterar esses valores, conforme necessário. Definir explicitamente esses valores pode melhorar a performance ao restaurar bancos de dados com grandes volumes de dados.

  5. Restaure o backup no servidor RDS para Db2 chamando rdsadmin.restore_database. Defina backup_type como ONLINE. Para ter mais informações, consulte rdsadmin.restore_database.

  6. Copie os logs de arquivamento do servidor de origem para o bucket do S3. Para ter mais informações, consulte Archive logging na documentação do IBM Db2.

  7. Aplique logs de arquivamento quantas vezes for necessário chamando rdsadmin.rollforward_database. Defina complete_rollforward como FALSE para manter o banco de dados em um estado ROLL-FORWARD PENDING. Para ter mais informações, consulte rdsadmin.rollforward_database.

  8. Depois de aplicar todos os logs de arquivamento, coloque o banco de dados on-line chamando rdsadmin.complete_rollforward. Para ter mais informações, consulte rdsadmin.complete_rollforward.

  9. Alterne as conexões da aplicação para o servidor RDS para Db2 atualizando os endpoints da aplicação para o banco de dados ou atualizando os endpoints do DNS para redirecionar o tráfego para o servidor RDS para Db2. Também é possível usar o recurso de redirecionamento automático do cliente Db2 no banco de dados do Db2 autogerenciado com o endpoint do banco de dados do RDS para Db2. Para ter mais informações, consulte Automatic client reroute description and setup na documentação do IBM Db2.

  10. (Opcional) Encerre o banco de dados de origem.