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 (SQLEXPLAINplanSYSDATE
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_ext
yorafce
) y archivos de lenguaje de consulta estructurado (). SQL
Inicie la instancia de base de datos Amazon RDS for Oracle (base de datos de origen).
Úselo AWS SCT con los paquetes de
orafce
extensiónaws_oracle_ext
y los paquetes de extensión para convertir el código fuente de Oracle a PostreSQL.La conversión produce archivos.sql SQL migrados compatibles con Postgre.
Convierta manualmente los códigos de extensión de Oracle no convertidos en códigos Postgre (). SQL
psql
La conversión manual produce archivos.sql convertidos compatibles con Postgre. SQL
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
Tarea | Descripción | Habilidades 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 |
Tarea | Descripción | Habilidades 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 | 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 |
Tarea | Descripción | Habilidades 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 ( | 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 | DBA |
Convierta el esquema. | En AWSSCT, seleccione Convertir esquema para convertir el esquema de Oracle a Postgre SQL y generar los archivos.sql. | DBA |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Convertir el código manualmente. | Convierta manualmente cada línea de código compatible con la extensión en código integrado predeterminado | 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
Base de datos
AWS SCT
Extensiones para AWS SCT
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