

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Migración gradual de Amazon RDS para Oracle a Amazon RDS para PostgreSQL con Oracle SQL Developer y 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*

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

Muchas estrategias y enfoques de migración se ejecutan en varias fases y pueden durar desde unas semanas hasta varios meses. Durante este tiempo, puede experimentar retrasos debido a la aplicación de parches o actualizaciones en las instancias de base de datos de Oracle de origen que desee migrar a las instancias de base de datos de PostgreSQL. Para evitar esta situación, le recomendamos que migre de forma incremental el código de base de datos de Oracle restante al código de base de datos de PostgreSQL.

Este patrón proporciona una estrategia de migración incremental sin tiempo de inactividad para una instancia de base de datos de Oracle de varios terabytes que tiene un número elevado de transacciones realizadas después de la migración inicial y que debe migrarse a una base de datos PostgreSQL. Puede utilizar el step-by-step enfoque de este patrón para migrar de forma incremental una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle a una instancia de base de datos de Amazon RDS for PostgreSQL sin iniciar sesión en la consola de administración de Amazon Web Services (AWS).

El patrón utiliza [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) para encontrar las diferencias entre dos esquemas de la base de datos de Oracle de origen. A continuación, utilice la herramienta de conversión de esquemas de AWS (AWS SCT) para convertir los objetos de esquema de base de datos de Amazon RDS para Oracle en objetos de esquema de base de datos de Amazon RDS para PostgreSQL. A continuación, puede ejecutar un script de Python en la línea de comandos de Windows para crear objetos SCT de AWS para los cambios incrementales en los objetos de la base de datos de origen.

**nota**  
Antes de migrar sus cargas de trabajo de producción, le recomendamos que ejecute una prueba de concepto (PoC) para el enfoque de este patrón en un entorno de pruebas o que no sea de producción.

## Requisitos previos y limitaciones
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una instancia existente de base de datos de Amazon RDS para Oracle. 
+ Una instancia de base de datos de Amazon RDS para PostgreSQL.
+ AWS SCT, instalado y configurado con controladores JDBC para motores de bases de datos de Oracle y PostgreSQL. Para obtener más información al respecto, consulte [Instalación de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) e [Instalación de los controladores de base de datos necesarios](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers) en la documentación de AWS SCT. 
+ Oracle SQL Developer, instalado y configurado. Para obtener más información acerca de estos componentes, consulte la documentación de [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html). 
+ El archivo (adjunto) `incremental-migration-sct-sql.zip`, descargado en su equipo local.

**Limitaciones**
+ Los requisitos mínimos para la instancia de base de datos de Amazon RDS para Oracle son:
  + Oracle versiones 10.2 y posteriores (para las versiones 10.x), 11g (versiones 11.2.0.3.v1 y posteriores) y hasta 12.2 y 18c para las ediciones Enterprise, Standard, Standard One y Standard Two
+ Los requisitos mínimos para su instancia de base de datos de Amazon RDS para PostgreSQL de destino son:  
  + PostgreSQL versiones 9.4 y posteriores (para las versiones 9.x), 10.x y 11.x
+ En este patrón, se utiliza Oracle SQL Developer. Los resultados pueden variar si utiliza otras herramientas para buscar y exportar las diferencias de esquema.
+ Los [scripts SQL](https://docs.oracle.com/database/121/AEUTL/sql_rep.htm#AEUTL191) generados por Oracle SQL Developer pueden generar errores de transformación, lo que significa que es necesario realizar una migración manual.
+ Si las conexiones de prueba de origen y destino de AWS SCT fallan, asegúrese de configurar las versiones del controlador JDBC y las reglas de entrada para que el grupo de seguridad de la nube privada virtual (VPC) acepte el tráfico entrante.

**Versiones de producto**
+ Instancia de base de datos Amazon RDS para Oracle, versión 12.1.0.2 (versión 10.2 y posteriores)
+ Instancia de base de datos Amazon RDS para PostgreSQL versión 11.5 (versión 9.4 y posteriores)
+ Oracle SQL Developer, versión 19.1 y posteriores
+ AWS SCT versión 1.0.632 y versiones posteriores

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

**Pila de tecnología de origen**
+ Instancia de base de datos de Amazon RDS para Oracle

**Pila de tecnología de destino**
+ Amazon RDS para instancia de base de datos para PostgreSQL

**Arquitectura de origen y destino**

El siguiente diagrama muestra la migración de una instancia de base de datos Amazon RDS para Oracle a una instancia de base de datos Amazon RDS para PostgreSQL.

![\[Flujo de trabajo de migración de Amazon RDS para Oracle a Amazon RDS para PostgreSQL.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/c7eed517-e496-4e8e-a520-c1e43397419e/images/bfbbed5e-db13-4a22-99aa-1a17f00f5faf.png)


En el diagrama, se muestra el siguiente flujo de migración:

1. Abra Oracle SQL Developer y conéctese a las bases de datos de origen y destino.

1. Genere un [informe de diferencias](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) y, a continuación, genere el archivo de scripts SQL para los objetos de diferencias de esquema. Para obtener más información acerca de los informes de diferencias, consulte [Informes de diferencias detallados](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) en la documentación de Oracle.

1. Configure AWS SCT y ejecute el código de Python.

1. El archivo de scripts SQL se convierte de Oracle a PostgreSQL.

1. Ejecute el archivo de scripts SQL en la instancia de base de datos PostgreSQL de destino. 

**Automatizar y escalar**

Para automatizar esta migración se pueden agregar parámetros adicionales y cambios relacionados con la seguridad para múltiples funcionalidades de un solo programa al Script de Python.

## Tools (Herramientas)
<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): la herramienta de conversión de esquemas de AWS (AWS SCT) convierte el esquema de base de datos existente de un motor de base de datos a otro.
+ [Desarrollador de Oracle SQL](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html): Oracle SQL Developer es un entorno de desarrollo integrado (IDE) que simplifica el desarrollo y la administración de las bases de datos de Oracle, tanto en las implementaciones tradicionales como en las basadas en la nube.

**Código**

El archivo (adjunto) `incremental-migration-sct-sql.zip` contiene el código fuente completo de este patrón.

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

### Cree el archivo de scripts SQL para las diferencias del esquema de la base de datos de origen
<a name="create-the-sql-scripts-file-for-the-source-database-schema-differences"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute Database Diff en Oracle SQL Developer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | Administrador de base de datos | 
| Genere el archivo de scripts SQL. | Elija **Generar script** para generar las diferencias en los archivos SQL. Esto genera el archivo de scripts SQL que AWS SCT utiliza para convertir la base de datos de Oracle a PostgreSQL. | Administrador de base de datos | 

### Use el script de Python para crear los objetos de base de datos de destino en AWS SCT
<a name="use-the-python-script-to-create-the-target-db-objects-in-aws-sct"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure AWS SCT con la línea de comandos de Windows.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/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 los parámetros de configuración de AWS SCT según sus requisitos y, a continuación, copie el archivo de scripts SQL en el directorio de trabajo del subdirectorio `input`. | Administrador de base de datos | 
| Ejecutar el script de Python .  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | Administrador de base de datos | 
|  Cree los objetos en Amazon RDS para PostgreSQL | Ejecute los archivos SQL y cree objetos en su instancia de base de datos de Amazon RDS para PostgreSQL. | Administrador de base de datos | 

## 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 en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [PostgreSQL en Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Uso de la interfaz de usuario de AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Uso de Oracle como origen para AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

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

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/c7eed517-e496-4e8e-a520-c1e43397419e/attachments/attachment.zip)