

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
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql"></a>

*Jitender Kumar, Srini Ramaswamy e Neha Sharma, Amazon Web Services*

## Resumo
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-summary"></a>

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

O padrão apresenta as práticas recomendadas para conduzir a migração de procedimentos armazenados. Além disso, ele aborda as alterações de código necessárias para fornecer suporte à camada de aplicação. 

## Pré-requisitos e limitações
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-prereqs"></a>

**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 de destino devem estar na mesma nuvem privada virtual (VPC). Se você estiver usando vários 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 em log suplementar habilitado para a 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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html).
+ 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 durante a criação de um objeto. No entanto, algumas intervenções manuais são exigidas para que haja completa insensibilidade a 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 obter informações sobre as versões do RDS para Oracle com suporte atualmente, consulte a [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.database-versions.html).
+ Amazon RDS para MySQL 8.0.15 e versões posteriores. Para obter informações sobre as versões do RDS para MySQL com suporte atualmente, consulte a [documentação da AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html).
+ AWS DMS, versão 3.3.0 e versões posteriores. Consulte a documentação da AWS para obter mais informações sobre os [endpoints de origem](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html) e os [endpoints de destino](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) compatíveis com o AWS DMS.
+ AWS SCT, versão 1.0.628 e versões posteriores.  Consulte a [matriz de compatibilidade para endpoints de origem e de destino do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) na documentação da AWS.

## Arquitetura
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-architecture"></a>

**Pilha de tecnologia de origem**
+ Amazon RDS para Oracle. Para obter mais informações, consulte [Using an Oracle database as a source for AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). 

**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](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html).

**Arquitetura de migração**

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

![AWS SCT, AWS DMS e Amazon RDS implantados em uma sub-rede privada.](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/e1efa7c2-47c1-4677-80bc-6b19250fc0d6/images/b54a8442-9ab9-4074-b8f6-a08f87fa2f52.jpeg)


## Ferramentas
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-tools"></a>
+ O [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) facilita a migração de armazenamentos de dados para a Nuvem AWS ou entre configurações híbridas de nuvem e ambientes on-premises.
+ O [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS. Esse padrão usa o [Amazon RDS para Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) e o [Amazon RDS para MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html).
+ O [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html) 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
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-epics"></a>

### Preparo para a migração
<a name="prepare-for-migration"></a>


| Tarefa | Description | 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 | 

### Configurar a infraestrutura
<a name="configure-infrastructure"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Criar uma VPC e sub-redes. |  | SysAdmin | 
| Crie grupos de segurança e listas de controle de acesso à rede (ACLs). |  | 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. |  |  | 

### Migrar dados
<a name="migrate-data"></a>


| Tarefa | Description | 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 | 

### Migrar aplicativos
<a name="migrate-applications"></a>


| Tarefa | Description | 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 | 

### Vá para o banco de dados de destino
<a name="cut-over-to-the-target-database"></a>


| Tarefa | Description | 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 | 

### Fechar o projeto
<a name="close-the-project"></a>


| Tarefa | Description | 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 | 

## Recursos relacionados
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html)
+ [Preços do Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Conceitos básicos do AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Conceitos básicos do Amazon RDS](https://aws.amazon.com/rds/getting-started/)