Migración de Oracle a PostgreSQL

La extensión PostgreSQL para Visual Studio Code proporciona un flujo de trabajo guiado para la conversión de aplicaciones y esquemas de Oracle. El asistente te guía a lo largo del proceso de conexión a Oracle, selección de esquemas, revisión del análisis, elección de una base de datos temporal de PostgreSQL y configuración de Microsoft Foundry. Tras la conversión, revisa el informe HTML y el Explorador de objetos de conversión y, a continuación, prepara la implementación con la Setup Experience. Planifica la migración de los datos de las filas por separado.

Importante

El flujo de trabajo de migración de Oracle a PostgreSQL solo está disponible en Visual Studio Code.

Cómo encajan entre sí la conversión de esquemas y la de aplicaciones

La extensión convierte una carga de trabajo de Oracle en dos pasos. La conversión de esquemas se ejecuta primero y genera el lenguaje de definición de datos (DDL) de PostgreSQL para los objetos de base de datos. La conversión de aplicaciones se ejecuta después y actualiza el código que llama a esos objetos.

Conversión de esquemas

La conversión de esquemas lee el diccionario de datos de Oracle para los esquemas seleccionados y usa el despliegue de Microsoft Foundry para generar DDL de PostgreSQL. La herramienta intenta compilar en la base de datos temporal y usa comprobaciones estáticas disponibles para identificar problemas. Estas comprobaciones no garantizan un comportamiento equivalente en tiempo de ejecución ni la preparación para la producción. Una ejecución genera:

  • Archivos PostgreSQL .sql de nivel de objeto, organizados por esquema y tipo de objeto de Oracle.
  • Un informe de conversión HTML con resultados de detección, extracción y conversión, tasas de conversión y notas de nivel de objeto.
  • Asignaciones de objetos y notas que puede inspeccionar en Conversion Explorador de objetos, incluidos los objetos que necesitan cambios manuales.
  • Instrucciones de configuración y scripts para una operación de implementación independiente.
  • Notas de codificación que describen los patrones de Oracle que se encuentran en el esquema y cómo se asignan a PostgreSQL.

Conversión de aplicaciones

La conversión de aplicaciones tiene como destino el código específico de Oracle que rodea la base de datos: scripts SQL, llamadas a procedimientos almacenados, archivos de control del cargador, scripts de shell y archivos Java. Toma las notas de codificación de la conversión de esquema como entrada, por lo que el código de aplicación convertido se alinea con los nombres de objeto, los tipos y las convenciones de llamada que realmente generó la conversión de esquema.

Puedes convertir el código de la aplicación relacionado con la base de datos dentro de esta extensión, o delegar el trabajo a la extensión de modernización de aplicaciones de GitHub Copilot para una modernización completa.

Secuencia las dos pasadas

Ejecute primero la conversión de esquema. La conversión de aplicaciones usa las notas de codificación y los nombres de objeto convertidos de la conversión de esquema. Revise el esquema y resuelva los cambios obligatorios antes de convertir el código de la aplicación. Si más adelante editas una definición de PostgreSQL, comprueba de nuevo las aplicaciones que la invocan. No se admite volver a ejecutar una conversión de esquema ya completada.

Prerequisites

Antes de comenzar, asegúrese de que tiene:

  • Visual Studio Code instalado.
  • La extensión PostgreSQL instalada.
  • Acceso a una base de datos de origen de Oracle con permisos para leer metadatos de esquema y vistas de diccionario. No se requiere acceso a datos de fila.
  • Un servidor flexible de Azure Database for PostgreSQL con una base de datos temporal vacía o dedicada y sin usar que no contenga nada que debas conservar. El usuario de conexión debe poder quitar y volver a crear esquemas coincidentes y crear objetos de validación. La conversión de esquemas no admite Azure HorizonDB como base de datos temporal.
  • Un recurso de Microsoft Foundry con un modelo gpt-5.2 implementado y una cuota superior a 1 000 000 de tokens por minuto (TPM). Necesita la dirección URL del punto de conexión y una clave de API o una cuenta de Microsoft Entra ID con acceso.

Para conocer los requisitos de sistema operativo, versión, permisos y conectividad, consulte los requisitos previos del tutorial de conversión de esquemas.

Comprobación de que la característica de migraciones está habilitada

La pgsql.enableMigrations configuración controla la vista Migraciones y todos los comandos de migración. Esta opción está habilitada de manera predeterminada.

Si la vista Migraciones no aparece en la barra lateral, abra la configuración de Visual Studio Code (Ctrl+, en Windows/Linux, Cmd+, en macOS) y compruebe que pgsql.enableMigrations esté establecida en true.

Creación de un proyecto de migración

El asistente de proyectos de migración recopila la fuente, el ámbito de detección, la conexión a la base de datos temporal y la configuración de IA antes de crear el área de trabajo del proyecto.

Paso 1: configuración de Project

  1. Abra la vista Migraciones en la barra lateral.

  2. Inicie un nuevo proyecto de una de estas maneras:

    • Si el área de trabajo aún no contiene un proyecto de migración, seleccione + Crear proyecto de migración en la vista.
    • Selecciona el botón + en la barra de herramientas de la vista.
    • Haz clic con el botón derecho en una carpeta del área de trabajo en el Explorador y selecciona Abrir proyecto de migración.

    Se abre la página Nuevo proyecto de migración de Oracle a Azure Database for PostgreSQL, donde se indica lo que necesita:

    • Detalles de conexión de la base de datos de origen
    • Nombres de los esquemas que se van a convertir
    • Dirección URL del punto de conexión y clave para un recurso de Microsoft Foundry
    • Nombre de conexión de una instancia de Azure Database for PostgreSQL existente
  3. Escriba un nombre en el campo Nombre de Project.

  4. Seleccione Siguiente: Conexión de Oracle.

Captura de pantalla de la nueva página del proyecto de migración con el campo Nombre del proyecto.

Paso 2: Conexión a Oracle

La página Conectar a Oracle recopila las credenciales de la base de datos de origen de Oracle y le permite cargar esquemas.

  1. Complete los campos de conexión de Oracle:

    Campo Description
    Nombre de host de Oracle Nombre de host o dirección IP del servidor de base de datos de Oracle.
    Puerto de Oracle Puerto de escucha (valor predeterminado: 1521).
    SiD de Oracle o nombre del servicio SID de Oracle o nombre de servicio para la instancia de base de datos.
    Nombre de usuario de Oracle Usuario de base de datos con acceso a metadatos de esquema y vistas de diccionario.
    Contraseña de Oracle Contraseña del usuario de Oracle.
  2. Seleccione Cargar esquemas para conectarse y recuperar la lista de esquemas disponibles.

  3. En la lista desplegable Esquemas , seleccione uno o varios esquemas para migrar.

  4. Seleccione Siguiente: Discovery.

Paso 3: Revisar la detección

Discovery comprueba los permisos de origen y realiza un inventario de los esquemas seleccionados antes de la extracción de DDL.

  1. Revisa las comprobaciones de permisos y resuelve cualquier acceso al origen que falte.
  2. Revisa los objetos Detectados, Por extraer, Excluidos y No válidos, junto con los detalles del tipo de objeto y los motivos de exclusión.
  3. Revise las dependencias del esquema. Esquemas dependientes enumera los esquemas a los que se hace referencia y que no ha seleccionado; el hecho de que aparezca una dependencia en la lista no implica que ese esquema se incluya en el ámbito de la conversión.
  4. Confirme el ámbito de origen. Si cambia la selección, actualice Discovery antes de continuar.
  5. Confirme el ámbito revisado y seleccione Siguiente: Conexión a PostgreSQL.

Para ver la pantalla completa de Discovery y la guía, consulte Revisar los resultados de Discovery en el tutorial.

Paso 4: Elija una base de datos temporal de Azure Database for PostgreSQL

La página Elegir una base de datos temporal de Azure Database for PostgreSQL selecciona la base de datos utilizada para validar el DDL convertido.

Warning

La conversión elimina los esquemas que corresponden a los esquemas de Oracle seleccionados usando DROP SCHEMA ... CASCADE y luego los vuelve a crear. Esta acción elimina los objetos y datos existentes en esos esquemas y puede eliminar objetos dependientes en otros esquemas. Utilice una base de datos temporal vacía o una base de datos temporal dedicada y sin usar que no contenga objetos ni datos que necesite conservar.

  1. En la lista desplegable Conexión de PostgreSQL , seleccione un perfil de conexión existente. Si la conexión que necesita no aparece, seleccione Actualizar perfiles para volver a cargar los perfiles disponibles o cree una nueva conexión en la vista Conexiones e identidad en primer lugar.
  2. En la lista desplegable Base de datos postgreSQL , seleccione la base de datos de destino. Seleccione Cargar bases de datos si la lista está vacía.
  3. Seleccione Verificar extensiones para revisar las extensiones recomendadas. Si falta alguno, agregue las extensiones que necesita la conversión a la lista de permitidos del servidor y, a continuación, instálelas. La advertencia amarilla no impide continuar, pero los objetos dependientes podrían requerir cambios manuales.
  4. Seleccione la confirmación de que los esquemas temporales coincidentes se eliminarán y se volverán a crear durante la conversión.
  5. Seleccione Siguiente: Configuración del modelo de Microsoft Foundry.

Paso 5: Configurar el modelo de Microsoft Foundry

La página Elegir un modelo de Microsoft Foundry configura la implementación de Microsoft Foundry que impulsa la conversión de código y esquema.

  1. Complete los campos del modelo de lenguaje:

    Campo Description
    Nombre del modelo gpt-5.2.
    Punto de conexión de Microsoft Foundry Dirección URL del punto de conexión del recurso de Microsoft Foundry (por ejemplo, https://<resource>.openai.azure.com/).
    Método de autenticación Elija Clave de API o id. de Microsoft Entra.
    Clave de API de Microsoft Foundry Clave de API para el recurso Microsoft Foundry (se muestra cuando el método de autenticación es clave de API).
    Cuenta de Azure Cuenta de Microsoft con acceso al recurso (se muestra cuando el método de autenticación es Microsoft Entra Id).
    Inquilino Inquilino de Microsoft Entra para la cuenta (se muestra cuando Método de autenticación es Microsoft Entra Id).
    Nombre de implementación Nombre del modelo implementado en el recurso Microsoft Foundry.
  2. Seleccione Probar la conexión de Microsoft Foundry para comprobar la conectividad.

  3. Seleccione Crear proyecto de migración.

Asigne una cuota de implementación superior a 1.000.000 TPM. Consulte Configurar la capacidad de Microsoft Foundry.

Ejecución de la migración de esquemas

Después de crear el proyecto, ejecute la conversión y revise los resultados en el proyecto de migración.

Extracción y conversión de esquemas

  1. Seleccione Migrar para iniciar la extracción y conversión.
  2. Supervise el progreso de extracción y conversión.
  3. Cuando el proyecto muestre La conversión del esquema se ha completado, seleccione Revisar resumen de conversión.

El informe HTML se abre automáticamente cuando finaliza la conversión. Vuelva a abrirlo seleccionando Informe de conversión en Resumen de conversión. Revise los totales de detección, extracción y conversión por separado; describen diferentes fases.

Revisar objetos convertidos

Utilice Conversion Explorador de objetos para inspeccionar objetos convertidos y no convertidos:

  1. Abre un objeto para comparar sus definiciones de Oracle y PostgreSQL, cuando estén disponibles, y lee sus notas de conversión.
  2. Seleccione Preguntar para obtener una explicación o Corregir para realizar ediciones asistidas por Copilot en su archivo de PostgreSQL.
  3. Si el esquema ya está implementado en una base de datos que no es de producción, compile correcciones allí confirmando el servidor activo y la base de datos, seleccionando instrucciones completas y ejecutando solo esa selección. De lo contrario, prepare primero el despliegue descrito en la sección siguiente.
  4. Confirme que el SQL de implementación incluye las correcciones que pretende implementar. La edición de un archivo de objeto no establece que su objeto de base de datos o el script de implementación generado haya cambiado.

Para ver los filtros, los miembros del paquete y los pasos detallados, consulte Conversion Explorador de objetos.

Preparación de la implementación

En Resumen de la conversión, seleccione Instrucciones de configuración para abrir las instrucciones de implementación generadas y mostrar el directorio de configuración. Revise el paquete, ejecute comprobaciones de solo validación y, a continuación, ejecute el script de implementación generado en una base de datos de destino independiente que no sea de producción. La generación de archivos de configuración no implica la implementación del esquema.

Revise los informes de implementación y valide de forma independiente los datos y el comportamiento de la aplicación antes del uso de producción. Para conocer los requisitos previos, los modos de base de datos y los comandos, consulte Implementar esquemas convertidos con la experiencia de configuración.

Migración del código de la aplicación

Después de la migración del esquema, convierta código de aplicación específico de Oracle (scripts SQL, procedimientos almacenados, archivos de control del cargador, scripts de shell o archivos Java) a equivalentes compatibles con PostgreSQL. La migración de aplicaciones es una característica en versión preliminar.

Elección de un método de migración

La extensión ofrece dos rutas de acceso para la migración de código de aplicación:

  • Modernización completa de la aplicación: Si instala la extensión de modernización de aplicaciones de GitHub Copilot, seleccione Migrar mediante la modernización de la aplicación para continuar la migración con las notas de código de la conversión del esquema. Seleccione Ver notas de codificación para revisar las instrucciones generadas antes de continuar.
  • Opción de solo base de datos: para convertir solo el código de aplicación relacionado con la base de datos dentro de esta extensión, seleccione Migrar mediante la extensión PostgreSQL.

Conversión del código de aplicación dentro de la extensión

  1. En la tarjeta Migración de aplicaciones, seleccione Migrar datos (o Seleccionar método si se detecta la extensión de modernización de aplicaciones).
  2. En la página Convertir aplicación , seleccione Seleccionar aplicación de Oracle para convertir y elija la carpeta que contiene el código de aplicación de Oracle.
  3. Seleccione una conexión de PostgreSQL y una base de datos postgreSQL para el contexto de conversión.
  4. Seleccione Cargar bases de datos si la lista de bases de datos está vacía.
  5. Seleccione Convertir aplicación para iniciar la conversión.

Uso de herramientas de Copilot para la migración de aplicaciones

La extensión registra dos herramientas del modelo de lenguaje de Copilot para ayudar con la migración:

  • Convertidor de código de aplicaciones cliente de Oracle (pgsql_migration_oracle_app): Convierte el código de las aplicaciones cliente de Oracle a sus equivalentes en PostgreSQL utilizando plantillas de indicaciones y directrices de programación derivadas del análisis de migración del esquema. Acepta los parámetros siguientes:

    • Carpeta de código base de la aplicación (obligatorio): ubicación del código que se va a convertir.
    • Ruta de acceso a las notas de programación (opcional): Ruta de acceso a las notas de programación de la migración del esquema.
    • Nombre de base de datos de Postgres (opcional): nombre de la base de datos postgreSQL para el contexto de conversión.
    • Conexión de base de datos de Postgres (opcional): nombre de conexión para la base de datos postgreSQL.
  • Mostrar informe de migración de Oracle a Postgres (pgsql_migration_show_report): muestra el informe de migración generado por la conversión de esquema. Requiere el parámetro Ruta de acceso al archivo de informe.

Para obtener más información sobre el uso de herramientas de Copilot, consulte Copilot integración.

Comparación de archivos convertidos

Después de la conversión, revise los cambios en paralelo mediante los comandos de diferencias integrados.

  1. En el Explorador, haga clic con el botón derecho en un archivo SQL convertido en la oracle carpeta o postgres del proyecto de migración y seleccione Comparar pares de archivos de migración DDL.
  2. Para los archivos de código de aplicación convertidos (.sql, .ctl, .sh, .loado .java), haga clic con el botón derecho en el archivo y seleccione Comparar pares de archivos de migración de aplicaciones.

La vista comparativa en paralelo muestra el código fuente original de Oracle junto con la salida convertida a PostgreSQL, para que pueda identificar cualquier artefacto que requiera un ajuste manual.

El comando Comparar pares de archivos de migración DDL requiere la estructura folder/oracle|postgres/SCHEMA_NAME/DDL-TYPE/filename.sql para localizar un par correspondiente. Para la salida de la conversión de esquemas, use Conversion Explorador de objetos para navegar por las asignaciones de origen a destino.

Administración de proyectos de migración

Use la vista Migraciones en la barra lateral para administrar los proyectos:

Acción Description
Proyecto de Migración Abierto Abra un proyecto de migración existente en el panel.
Mostrar en el Explorador Muestra la carpeta del proyecto en la vista Explorador.
Eliminar Quite un proyecto de migración. Se le pedirá que confirme antes de la eliminación.
Actualizar Vuelva a cargar la lista de proyectos de migración en el área de trabajo actual.