Migre las funciones nativas de Oracle a Postgre mediante extensiones SQL - Recomendaciones de AWS

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.

Migre las funciones nativas de Oracle a Postgre mediante extensiones SQL

Creado AWS por Pinesh Singal ()

Resumen

Este patrón de migración proporciona step-by-step orientación para migrar una instancia de base de datos de Amazon Relational Database Service (RDSAmazon) para Oracle a una base de datos de Amazon for SQL Postgre o RDS Amazon SQL Aurora Postgre -Compatible Edition mediante la aws_oracle_ext modificación de las extensiones y orafce las extensiones SQL al código integrado nativo de Postgre (). psql Esto ahorrará tiempo de procesamiento.

El patrón describe una estrategia de migración manual fuera de línea sin tiempo de inactividad para una base de datos de origen de Oracle de varios terabytes con un elevado número de transacciones.

El proceso de migración utiliza AWS Schema Conversion Tool (AWSSCT) con las orafce extensiones aws_oracle_ext y para convertir un esquema de base de datos de Amazon RDS for Oracle en un esquema de base de datos compatible con Amazon RDS for Postgre o SQL Aurora PostgreSQL. A continuación, el código se cambia manualmente a un código integrado nativo compatible con PostgreSQL. psql Esto se debe a que las llamadas a la extensión afectan al procesamiento del código en el servidor de SQL bases de datos de Postgre y no todo el código de la extensión es totalmente compatible o compatible con el código de Postgre. SQL

Este patrón se centra principalmente en la migración manual de SQL códigos utilizando AWS SCT las extensiones y. aws_oracle_ext orafce Las extensiones que ya se utilizan se convierten en elementos integrados nativos de Postgre SQL ()psql. A continuación, se eliminan todas las referencias a las extensiones y se convierten los códigos en consecuencia.

Requisitos previos y limitaciones

Requisitos previos 

  • ¿AWSUna cuenta activa 

  • Sistema operativo (Windows o Mac) o EC2 instancia de Amazon (en funcionamiento) 

  • Orafce

Limitaciones

No todas las funciones de Oracle que utilizan aws_oracle_ext nuestras orafce extensiones se pueden convertir en funciones nativas de Postgre. SQL Es posible que necesite una revisión manual para poder compilarlo con las bibliotecas de Postgre. SQL

Un inconveniente del uso de AWS SCT extensiones es su lento rendimiento a la hora de ejecutar y obtener los resultados. Su coste puede calcularse a partir de un simple plan de Postgre (SQLEXPLAINplan de ejecución de una declaración) sobre la migración de una SYSDATE función de Oracle a la SQL NOW() función de Postgre entre los tres códigos (aws_oracle_ext, y psql por defecto)orafce, tal y como se explica en la sección de comprobación comparativa del rendimiento del documento adjunto.

Versiones de producto

  • Fuente: base de datos de Amazon RDS for Oracle 10.2 y versiones posteriores (para 10.x), 11g (11.2.0.3.v1 y posteriores) y hasta 12.2, 18c y 19c (y posteriores) para Enterprise Edition, Standard Edition, Standard Edition 1 y Standard Edition 2

  • Destino: Amazon RDS for Postgre o SQL Aurora: base de datos SQL compatible con Postgre 9.4 y versiones posteriores (para 9.x), 10.x, 11.x, 12.x, 13.x y 14.x (y versiones posteriores)

  • AWSSCT: Versión más reciente (este patrón se probó con la 1.0.632)

  • Oracle: última versión (este patrón se probó con la versión 3.9.0)

Arquitectura

Pila de tecnología de origen

  • Una instancia de base de datos de Amazon RDS for Oracle con la versión 12.1.0.2.v18

Pila de tecnología de destino

  • Una instancia de base de datos SQL compatible con Amazon RDS for Postgre o SQL Aurora Postgre con la versión 11.5

Arquitectura de migración de base de datos

El siguiente diagrama representa la arquitectura de migración de bases de datos entre las bases de datos Oracle de origen y Postgre de destino. SQL La arquitectura incluye AWS Cloud, una nube privada virtual (VPC), zonas de disponibilidad, una subred privada, una base de datos de Amazon RDS for Oracle AWSSCT, una base de datos SQL compatible con Amazon RDS for Postgre o SQL Aurora Postgre, extensiones para Oracle (aws_oracle_extyorafce) y archivos de lenguaje de consulta estructurado (). SQL

El proceso se explica en la siguiente lista.
  1. Inicie la instancia de base de datos Amazon RDS for Oracle (base de datos de origen).

  2. Úselo AWS SCT con los paquetes de orafce extensión aws_oracle_ext y los paquetes de extensión para convertir el código fuente de Oracle a PostreSQL.

  3. La conversión produce archivos.sql SQL migrados compatibles con Postgre.

  4. Convierta manualmente los códigos de extensión de Oracle no convertidos en códigos Postgre (). SQL psql

  5. La conversión manual produce archivos.sql convertidos compatibles con Postgre. SQL

  6. Ejecute estos archivos.sql en su instancia de base de datos Amazon RDS for Postgre (SQLbase de datos de destino).

Herramientas

Herramientas

Servicios de AWS

  • AWSSCT- AWS Schema Conversion Tool (AWSSCT) convierte el esquema de base de datos existente de un motor de base de datos a otro. Puede convertir un esquema relacional de procesamiento transaccional en línea (OLTP) o un esquema de almacén de datos. El esquema convertido es adecuado para una instancia de SQL base de datos de Amazon RDS for My, un clúster de base de datos de Amazon Aurora, una instancia de base de SQL datos de Amazon RDS for Postgre o un clúster de Amazon Redshift. El esquema convertido también se puede usar con una base de datos en una EC2 instancia de Amazon o se puede almacenar como datos en un bucket de Amazon S3.

    AWSSCTproporciona una interfaz de usuario basada en proyectos para convertir automáticamente el esquema de base de datos de la base de datos de origen a un formato compatible con la RDS instancia de Amazon de destino. 

    Puede utilizarla AWS SCT para realizar la migración desde una base de datos fuente de Oracle a cualquiera de los destinos enumerados anteriormente. Con él AWSSCT, puede exportar las definiciones de los objetos de la base de datos de origen, como el esquema, las vistas, los procedimientos almacenados y las funciones. 

    Puede utilizarlos AWS SCT para convertir datos de Oracle a Amazon RDS para Postgre SQL o Amazon Aurora SQL Postgre -Compatible Edition. 

    En este patrón, se suele convertir y migrar el código de Oracle AWS SCT a Postgre SQL mediante las extensiones aws_oracle_ext yorafce, además, se migran manualmente los códigos de extensión a código predeterminado o nativo integrado. psql

  • El paquete de AWSSCTextensiones es un módulo adicional que emula las funciones presentes en la base de datos de origen que se requieren para convertir objetos en la base de datos de destino. Antes de poder instalar el paquete de AWS SCT extensión, debe convertir el esquema de la base de datos.

    Al convertir el esquema de la base de datos o del almacén de datos, AWS SCT agrega un esquema adicional a la base de datos de destino. Este esquema implementa las funciones del SQL sistema de la base de datos de origen que se requieren al escribir el esquema convertido en la base de datos de destino. El esquema adicional se denomina esquema del paquete de extensión.

    El esquema del paquete de extensiones para OLTP bases de datos recibe el nombre de la base de datos de origen. Para las bases de datos de Oracle, el esquema del paquete de extensiones es AWS_ORACLE_EXT.

Otras herramientas

  • Oracle: Orafce es un módulo que implementa funciones, tipos de datos y paquetes compatibles con Oracle. Es una herramienta de código abierto con una licencia de Berkeley Source Distribution (BSD) para que cualquiera pueda utilizarla. El orafce módulo es útil para migrar de Oracle a Postgre SQL porque tiene muchas funciones de Oracle implementadas en Postgre. SQL

Código

Para obtener una lista de todos los códigos más utilizados y migrados de Oracle a Postgre SQL para evitar el uso de códigos de AWS SCT extensión, consulte el documento adjunto.

Epics

TareaDescripciónHabilidades requeridas

Cree la instancia de base de datos de Oracle.

Cree una instancia de base de datos SQL compatible con Amazon RDS for Oracle o Aurora Postgre desde la consola de Amazon. RDS

En AWS general, DBA

Configuración de los grupos de seguridad.

Configure grupos de seguridad entrantes y salientes.

General AWS

Cree la base de datos.

Crear la base de datos de Oracle con los usuarios y esquemas necesarios.

GeneralAWS, DBA

Cree los objetos.

Crear objetos e introducir datos en el esquema.

DBA
TareaDescripciónHabilidades requeridas

Cree la instancia de base de datos de PostgreSQL.

Cree una instancia de SQL base de datos de Amazon RDS for Postgre SQL o Amazon Aurora Postgre desde la consola de Amazon. RDS

En AWS general, DBA

Configuración de los grupos de seguridad.

Configure grupos de seguridad entrantes y salientes.

General AWS

Cree la base de datos.

Cree la SQL base de datos de Postgre con los usuarios y esquemas necesarios.

AWSGeneral, DBA

Valide las extensiones.

Asegúrese de que orafce están instalados aws_oracle_ext y configurados correctamente en la base de datos de Postgre. SQL

DBA

Compruebe que la base de datos de Postgre SQL esté disponible.

Asegúrese de que la SQL base de datos de Postgre esté en funcionamiento.

DBA
TareaDescripciónHabilidades requeridas

Instalar. AWS SCT

Instale la última versión de AWSSCT.

DBA

Configurar AWSSCT.

Configure AWS SCT con los controladores de conectividad de bases de datos Java (JDBC) para Oracle (ojdbc8.jar) y Postgre SQL (postgresql-42.2.5.jar).

DBA

Habilite el paquete de AWS SCT extensión o la plantilla.

En Configuración AWS SCT del proyecto, habilite la implementación de funciones integradas con las orafce extensiones aws_oracle_ext y para el esquema de la base de datos Oracle.

DBA

Convierta el esquema.

En AWSSCT, seleccione Convertir esquema para convertir el esquema de Oracle a Postgre SQL y generar los archivos.sql.

DBA
TareaDescripciónHabilidades requeridas

Convertir el código manualmente.

Convierta manualmente cada línea de código compatible con la extensión en código integrado predeterminado psql, como se detalla en el documento adjunto. Por ejemplo, cambie AWS_ORACLE_EXT.SYSDATE() a ORACLE.SYSDATE() o NOW().

DBA

Valida el código

(Opcional) Valide cada línea de código ejecutándola temporalmente en la base de datos de PostgreSQL.

DBA

Cree objetos en la base de datos de PostgreSQL.

Para crear objetos en la SQL base de datos de Postgre, ejecute los archivos.sql que se generaron AWS SCT y modificaron en los dos pasos anteriores.

DBA

Recursos relacionados

Información adicional

Para obtener más información, siga los comandos detallados, con sintaxis y ejemplos, para convertir el código manualmente en el documento adjunto.

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip