

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 incrementalmente do Amazon RDS para Oracle para o Amazon RDS para PostgreSQL usando o Oracle SQL Developer e o AWS SCT
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct"></a>

*Pinesh Singal, Amazon Web Services*

## Resumo
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-summary"></a>

Muitas estratégias e abordagens de migração são executadas em várias fases, que podem durar de algumas semanas a vários meses. Durante esse período, você pode enfrentar atrasos devido a patches ou atualizações nas instâncias de banco de dados Oracle de origem que você deseja migrar para instâncias de banco de dados PostgreSQL. Para evitar essa situação, recomendamos que você migre incrementalmente o código restante do banco de dados Oracle para o código do banco de dados PostgreSQL.

Esse padrão fornece uma estratégia de migração incremental sem tempo de inatividade para uma instância de banco de dados Oracle de vários terabytes que tem um grande número de transações realizadas após a migração inicial e que deve ser migrada para um banco de dados PostgreSQL. Você pode usar essa step-by-step abordagem padrão para migrar incrementalmente 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 PostgreSQL sem entrar no console de gerenciamento da Amazon Web Services (AWS).

O padrão usa o [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) para encontrar as diferenças entre dois esquemas no banco de dados Oracle de origem. Em seguida, você usa a AWS Schema Conversion Tool (AWS SCT) para converter os objetos do esquema do banco de dados do Amazon RDS para Oracle em objetos do esquema do banco de dados Amazon RDS para PostgreSQL. Então, você pode executar um script Python no prompt de comando do Windows para criar objetos do AWS SCT para as alterações incrementais nos objetos do banco de dados de origem.

**nota**  
Antes de migrar as workloads do ambiente de produção, recomendamos executar uma prova de conceito (PoC, na sigla em inglês) da abordagem apresentada neste padrão em um ambiente de teste ou não destinado à produção.

## Pré-requisitos e limitações
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa
+ Instância de banco de dados existente Amazon RDS para Oracle. 
+ Uma instância existente de banco de dados do Amazon RDS para PostgreSQL.
+ AWS SCT, instalada e configurada com drivers JDBC para mecanismos de banco de dados Oracle e PostgreSQL. Para obter mais informações sobre isso, consulte [Instalação do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) e [Instalação dos drivers de banco de dados necessários](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers) na documentação da AWS SCT. 
+ Oracle SQL Developer, instalado e configurado. Para obter mais informações sobre isso, consulte a documentação do [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html). 
+ O arquivo `incremental-migration-sct-sql.zip` (anexado), baixado no seu computador local.

**Limitações**
+ Os requisitos mínimos para sua instância de banco de dados do Amazon RDS para Oracle de origem são:
  + Oracle versões 10.2 e posteriores (para versões 10.x), 11g (versões 11.2.0.3.v1 e posteriores) e até 12.2 e 18c para as edições Enterprise, Standard, Standard One e Standard Two
+ Os requisitos mínimos para sua instância de banco de dados do Amazon RDS para PostgreSQL de origem são:  
  + PostgreSQL versões 9.4 e posterior (para versões 9.x), 10.x e 11.x
+ Esse padrão usa o Oracle SQL Developer. Seus resultados podem variar se você usar outras ferramentas para encontrar e exportar diferenças de esquema.
+ Os [scripts SQL](https://docs.oracle.com/database/121/AEUTL/sql_rep.htm#AEUTL191) gerados pelo Oracle SQL Developer podem gerar erros de transformação, o que significa que você precisa realizar uma migração manual.
+ Se as conexões de teste de origem e destino do AWS SCT falharem, certifique-se de configurar as versões do driver JDBC e as regras de entrada para que o grupo de segurança da nuvem privada virtual (VPC) aceite o tráfego de entrada.

**Versões do produto**
+ Instância do banco de dados Amazon RDS para Oracle versão 12.1.0.2 (versão 10.2 e posteriores)
+ Instância do banco de dados Amazon RDS para PostgreSQL versão 11.5 (versão 9.4 e posteriores)
+ Oracle SQL Developer versão 19.1 e posteriores
+ AWS SCT versão 1.0.632 e posteriores

## Arquitetura
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-architecture"></a>

**Pilha de tecnologia de origem**
+ Instância do banco de dados Amazon RDS para Oracle

**Pilha de tecnologias de destino**
+ instância do banco de dados Amazon RDS para PostgreSQL

**Arquitetura de origem e destino**

O diagrama a seguir mostra a migração de uma instância de banco de dados Amazon RDS para Oracle para uma instância de banco de dados Amazon RDS para PostgreSQL.

![\[Fluxo de migração do Amazon RDS para Oracle para o Amazon RDS para PostgreSQL.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/c7eed517-e496-4e8e-a520-c1e43397419e/images/bfbbed5e-db13-4a22-99aa-1a17f00f5faf.png)


O diagrama mostra o seguinte fluxo de trabalho de migração:

1. Abra o Oracle SQL Developer e conecte-se aos bancos de dados de origem e destino.

1. Gere um [relatório de diferença](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) e, em seguida, gere o arquivo de scripts SQL para os objetos de diferença do esquema. Para obter mais informações sobre relatórios de diferença, consulte [Relatórios de diferença detalhados](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) na documentação da Oracle.

1. Configure o AWS SCT e execute o código Python.

1. O arquivo de scripts SQL é convertido do Oracle para o PostgreSQL.

1. Execute o arquivo de scripts SQL na instância do banco de dados PostgreSQL de destino. 

**Automação e escala**

Você pode automatizar esta migração incluindo parâmetros adicionais e alterações relacionadas à segurança para várias funcionalidades em um único programa ao seu script do Python.

## Ferramentas
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-tools"></a>
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html): o AWS Schema Conversion Tool (AWS SCT) converte seu esquema de banco de dados existente de um mecanismo de banco de dados para outro.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html): o Oracle SQL Developer é um ambiente de desenvolvimento integrado (IDE) que simplifica o desenvolvimento e o gerenciamento de bancos de dados Oracle em implantações tradicionais e baseadas em nuvem.

**Código **

O arquivo `incremental-migration-sct-sql.zip` (anexo) contém o código-fonte completo para esse padrão.

## Épicos
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-epics"></a>

### Crie o arquivo de scripts SQL para as diferenças do esquema do banco de dados de origem
<a name="create-the-sql-scripts-file-for-the-source-database-schema-differences"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Execute Database Diff no Oracle SQL Developer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
| Gere o arquivo de scripts SQL. | Escolha **Gerar script** para gerar as diferenças nos arquivos SQL. Isso gera o arquivo de scripts SQL que o AWS SCT usa para converter seu banco de dados do Oracle para o PostgreSQL. | DBA | 

### Use o script Python para criar os objetos de banco de dados de destino no AWS SCT
<a name="use-the-python-script-to-create-the-target-db-objects-in-aws-sct"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Configure o AWS SCT com o prompt de comando do Windows.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html)<pre>#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port<br /><br />ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432</pre>4. Modifique os parâmetros de configuração do AWS SCT de acordo com seus requisitos e, em seguida, copie o arquivo de scripts SQL em seu diretório de trabalho no subdiretório `input`. | DBA | 
| Execute o script em Python .  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
|  Crie os objetos no Amazon RDS para PostgreSQL | Execute os arquivos SQL e crie objetos na sua instância do banco de dados Amazon RDS para PostgreSQL. | DBA | 

## Recursos relacionados
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-resources"></a>
+ [Oracle no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [PostgreSQL no Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Usar a interface de usuário do AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Usar Oracle como origem para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

## Anexos
<a name="attachments-c7eed517-e496-4e8e-a520-c1e43397419e"></a>

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo:[ attachment.zip](samples/p-attach/c7eed517-e496-4e8e-a520-c1e43397419e/attachments/attachment.zip)