Migre do Amazon RDS para Oracle para o Amazon RDS para MySQL - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Migre do Amazon RDS para Oracle para o Amazon RDS para MySQL

Criado por Jitender Kumar (AWS), Neha Sharma (AWS) e Srini Ramaswamy (AWS)

Ambiente: PoC ou piloto

Origem: Amazon RDS para Oracle

Destino: Amazon RDS para MySQL

Tipo R: redefinir arquitetura

Workload: Oracle

Tecnologias: migração; bancos de dados

Serviços da AWS: Amazon RDS

Resumo

Esse padrão fornece orientação para migrar uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) para Oracle para uma instância de banco de dados Amazon RDS for MySQL na Amazon Web Services (AWS). O padrão usa o AWS Database Migration Service (AWS DMS) e a AWS Schema Conversion Tool (AWS SCT). 

O padrão fornece as melhores práticas para lidar com a migração de procedimentos armazenados. Ele também abrange e codifica alterações para dar suporte à camada de aplicação.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Banco de dados de origem do Amazon RDS para Oracle.

  • Banco de dados de destino do Amazon RDS para MySQL. Os bancos de dados de origem e destino devem estar na mesma nuvem privada virtual (VPC). Se você estiver usando várias VPCs ou precisar ter as permissões de acesso necessárias.

  • Grupos de segurança que permitem a conectividade entre os bancos de dados de origem e de destino, o AWS SCT, o servidor de aplicativos e o AWS DMS.

  • Uma conta de usuário com o privilégio necessário para executar o AWS SCT no banco de dados de origem.

  • Registro suplementar habilitado para execução do AWS DMS no banco de dados de origem.

Limitações

  • O limite de tamanho do banco de dados Amazon RDS de origem e destino é 64 TB. Para obter informações sobre o tamanho do Amazon RDS, consulte a documentação da AWS.

  • O Oracle não diferencia maiúsculas de minúsculas para objetos de banco de dados, mas o MySQL não. O AWS SCT pode lidar com esse problema ao criar um objeto. No entanto, é necessário algum trabalho manual para suportar a insensibilidade total de maiúsculas e minúsculas.

  • Essa migração não usa extensões do MySQL para habilitar funções nativas da Oracle. O AWS SCT processa a maior parte da conversão, mas é necessário algum trabalho para alterar o código manualmente.

  • Alterações do driver Java Database Connectivity (driver JDBC) são necessárias no aplicativo.

Versões do produto

  • Amazon RDS para Oracle 12.2.0.1 e versões posteriores. Para ver as versões do RDS para Oracle atualmente suportadas, consulte a documentação da AWS.

  • Amazon RDS para MySQL 8.0.15 e versões posteriores. Para ver as versões atualmente suportadas do RDS para MySQL, consulte a documentação da AWS.

  • AWS DMS versão 3.3.0 e posterior. Consulte a documentação da AWS para obter mais informações sobre endpoints de origem e endpoints de destino suportados pelo AWS DMS.

  • AWS SCT versão 1.0.628 e posterior.  Veja a matriz de suporte de endpoints de origem e destino do AWS SCT na documentação da AWS.

Arquitetura

Pilha de tecnologia de origem

Pilha de tecnologias de destino

Arquitetura de migração

No diagrama a seguir, o AWS SCT copia e converte objetos de esquema do banco de dados de origem do Amazon RDS for Oracle e envia os objetos para o banco de dados de destino do Amazon RDS for MySQL. O AWS DMS replica dados do banco de dados de origem e os envia para a instância do Amazon RDS for MySQL.

AWS SCT, AWS DMS e Amazon RDS implantados em uma sub-rede privada.

Ferramentas

Épicos

TarefaDescriçãoHabilidades necessárias

Validar versões e mecanismos do banco de dados de origem e de destino.

DBA

Identifique os requisitos de hardware para a instância do servidor de destino.

DBA, SysAdmin

Identifique os requisitos de armazenamento (tipo e capacidade de armazenamento).

DBA, SysAdmin

Escolha o tipo de instância adequado (capacidade, atributos de armazenamento e atributos de rede).

DBA, SysAdmin

Identifique os requisitos de segurança do acesso à rede para os bancos de dados de origem e de destino.

DBA, SysAdmin

Escolha uma estratégia de migração de aplicativos.

Considere se você quer tempo de inatividade total ou parcial para atividades de substituição.

DBA SysAdmin, proprietário do aplicativo
TarefaDescriçãoHabilidades necessárias

Criar uma VPC e sub-redes.

SysAdmin

Criar grupos de segurança e listas de controle de acesso (ACLs) à rede.

SysAdmin

Configure e inicie a instância do Amazon RDS para Oracle.

DBA, SysAdmin

Configure e inicie a instância do Amazon RDS para MySQL.

DBA, SysAdmin

Prepare um caso de teste para validação da conversão de código.

Isso ajudará no teste de unidade do código convertido.

DBA, Desenvolvedor

Configure a instância do AWS DMS.

Configure endpoints de origem e destino no AWS DMS.

TarefaDescriçãoHabilidades necessárias

Gere o script do banco de dados de destino usando o AWS SCT.

Verifique a precisão do código que foi convertido pelo AWS SCT. Será necessário algum trabalho manual.

DBA, Desenvolvedor

No AWS SCT, escolha a configuração “Sem distinção entre maiúsculas e minúsculas”.

No AWS SCT, escolha Configurações do projeto, Diferenciação entre maiúsculas e minúsculas e maiúsculas e minúsculas.

DBA, Desenvolvedor

No AWS SCT, escolha não usar a função nativa da Oracle.

Em Configurações do projeto, verifique as funções TO_CHAR/TO_NUMBER/TO_DATE.

DBA, Desenvolvedor

Faça alterações no código “sql%notfound”.

Talvez seja necessário converter o código manualmente.

Consulte tabelas e objetos em procedimentos armazenados (use consultas em minúsculas).

DBA, Desenvolvedor

Crie o script primário depois que todas as alterações forem feitas e, em seguida, implante o script primário no banco de dados de destino.

DBA, Desenvolvedor

Teste de unidade os procedimentos armazenados e as chamadas de aplicativos usando dados de amostra.

Limpe os dados que foram criados durante o teste de unidade.

DBA, Desenvolvedor

Elimine restrições de chave no banco de dados de destino.

Essa etapa é necessária para carregar dados iniciais. Se você não quiser eliminar as restrições de chave estrangeira, deverá criar uma tarefa de migração para dados específicos das tabelas primária e secundária.

DBA, Desenvolvedor

Coloque chaves primárias e chaves exclusivas no banco de dados de destino.

Essa etapa resulta em melhor desempenho para a carga inicial.

DBA, Desenvolvedor

Habilite o log suplementar no banco de dados de origem.

DBA

Crie uma tarefa de migração para a carga inicial no AWS DMS e, em seguida, execute-a.

Selecionar a opção Migrar dados existentes.

DBA

Adicione as chaves primárias e estrangeiras ao banco de dados de destino.

Restrições precisam ser adicionadas após a carga inicial.

DBA, Desenvolvedor

Crie uma tarefa de migração para a replicação contínua.

A replicação contínua mantém o banco de dados de destino sincronizado com o banco de dados de origem.

DBA
TarefaDescriçãoHabilidades necessárias

Substitua as funções nativas do Oracle pelas funções nativas do MySQL.

Proprietário do App

Certifique-se de que somente nomes em minúsculas sejam usados para objetos de banco de dados em consultas SQL.

DBA SysAdmin, proprietário do aplicativo
TarefaDescriçãoHabilidades necessárias

Encerre o servidor do aplicativo.

Proprietário do App

Valide se os bancos de dados de origem e de destino estão em sincronia.

DBA, proprietário do aplicativo

Encerre a instância de banco de dados do Amazon RDS para Oracle.

DBA

Pare a tarefa de migração.

Isso será interrompido automaticamente depois que você concluir a etapa anterior.

DBA

Altere a conexão JDBC do Oracle para o MySQL.

Proprietário do aplicativo, DBA

Inicie o aplicativo.

DBA SysAdmin, proprietário do aplicativo
TarefaDescriçãoHabilidades necessárias

Revise e valide os documentos do projeto.

DBA, SysAdmin

Reúna métricas sobre o tempo de migração, porcentagem de tarefas manuais versus tarefas de ferramentas, economia de custos, etc.

DBA, SysAdmin

Pare e exclua instâncias do AWS DMS.

DBA

Remova os endpoints de origem e de destino.

DBA

Remova as tarefas de migração.

DBA

Faça uma instância de banco de dados do Amazon RDS para Oracle.

DBA

Exclua a instância de banco de dados do Amazon RDS para Oracle.

DBA

Encerre e exclua quaisquer outros recursos temporários da AWS que você usou.

DBA, SysAdmin

Feche o projeto e forneça feedback, se houver.

DBA

Recursos relacionados