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
Amazon RDS para Oracle. Para obter mais informações, consulte Usando um banco de dados Oracle como fonte para o AWS DMS.
Pilha de tecnologias de destino
Amazon RDS para MySQL. Para obter mais informações, consulte Uso de um banco de dados compatível com MySQL como destino para o AWS DMS.
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.](images/pattern-img/e1efa7c2-47c1-4677-80bc-6b19250fc0d6/images/b54a8442-9ab9-4074-b8f6-a08f87fa2f52.jpeg)
Ferramentas
O AWS Data Migration Service ajuda você a migrar armazenamentos de dados para a nuvem da AWS ou entre combinações de configurações na nuvem e no local.
O Amazon Relational Database Service (Amazon RDS) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS. Esse padrão usa Amazon RDS para Oracle e Amazon RDS para MySQL.
O AWS Schema Conversion Tool (AWS SCT) oferece suporte a migrações heterogêneas de bancos de dados convertendo automaticamente o esquema do banco de dados de origem e a maior parte do código personalizado em um formato compatível com o banco de dados de destino.
Épicos
Tarefa | Descrição | Habilidades 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 |
Tarefa | Descrição | Habilidades 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. |
Tarefa | Descrição | Habilidades 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 |
Tarefa | Descrição | Habilidades 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 |
Tarefa | Descrição | Habilidades 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 |
Tarefa | Descrição | Habilidades 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 |