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.
Tópicos
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 obter 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.
-
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.
O processo de restauração varia de acordo com sua configuração.
Se você definir USE_STREAMING_RESTORE como TRUE, o Amazon RDS transmitirá diretamente seu backup do bucket do S3 durante a restauração. O streaming reduz significativamente os requisitos de armazenamento. Você só precisa provisionar espaço de armazenamento igual ou superior ao tamanho do backup ou ao tamanho do banco de dados original, o que for maior.
Se você definir USE_STREAMING_RESTORE como FALSE, o Amazon RDS primeiro baixará o backup na instância de banco de dados do RDS para Db2 e, depois, o extrairá. A extração requer espaço de armazenamento adicional. É necessário provisionar espaço de armazenamento equivalente ou maior que a soma do tamanho do backup mais o tamanho do banco de dados original.
O tamanho máximo do banco de dados restaurado é igual ao tamanho máximo aceito do banco de dados menos o espaço necessário para armazenamento temporário durante o processo de restauração.
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 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
-
Conecte-se ao seu banco de dados de origem. No exemplo a seguir, substitua
source_databasepelo nome do banco de dados.db2 connect tosource_database -
Crie um grupo de armazenamento automático e defina-o como padrão. No exemplo a seguir, substitua
storage_pathpelo caminho absoluto de onde o grupo de armazenamento está localizado.db2 "create stogroup IBMSTOGROUP ONstorage_pathset as default" -
Encerre os processos de backend.
db2 terminate
Migrar o bancos de dados do Db2
Depois de configurar uma migração com tempo de inatividade quase zero, estará tudo pronto para migrar o banco de dados Db2 para o bucket do Amazon S3 para sua instância de banco de dados do RDS para Db2.
Como realizar uma migração com tempo de inatividade quase zero dos arquivos de backup do bucket do Amazon S3 para a instância de banco de dados do RDS para Db2
-
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. -
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.
-
Conecte-se ao servidor
rdsadmincom omaster_usernamee amaster_passwordda instância de banco de dados do RDS para Db2.db2 connect to rdsadmin usermaster_usernameusingmaster_password -
(Opcional) Para garantir que seu banco de dados esteja configurado da forma ideal, confira os valores dos seguintes parâmetros chamando rdsadmin.show_configuration:
-
RESTORE_DATABASE_NUM_BUFFERS -
RESTORE_DATABASE_PARALLELISM -
RESTORE_DATABASE_NUM_MULTI_PATHS -
USE_STREAMING_RESTORE
Use rdsadmin.set_configuration para modificar esses valores conforme necessário. Definir adequadamente esses parâmetros pode melhorar significativamente a performance ao restaurar bancos de dados com grandes volumes de dados. Para a maioria dos cenários de migração, recomendamos definir
USE_STREAMING_RESTOREcomoTRUEporque reduz os requisitos de armazenamento e pode aumentar a velocidade de restauração. -
-
Restaure o backup no servidor RDS para Db2 chamando
rdsadmin.restore_database. Definabackup_typecomoONLINE. Para obter mais informações, consulte rdsadmin.restore_database. -
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. -
Aplique logs de arquivamento quantas vezes for necessário chamando
rdsadmin.rollforward_database. Definacomplete_rollforwardcomoFALSEpara manter o banco de dados em um estadoROLL-FORWARD PENDING. Para obter mais informações, consulte rdsadmin.rollforward_database. -
Depois de aplicar todos os logs de arquivamento, coloque o banco de dados on-line chamando
rdsadmin.complete_rollforward. Para obter mais informações, consulte rdsadmin.complete_rollforward. -
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. -
(Opcional) Encerre o banco de dados de origem.