Tutorial: Conversión de esquemas de Oracle a Azure Database for PostgreSQL (servidor flexible)

Este tutorial le guía a través de la conversión de esquemas de base de datos de Oracle a Azure Database for PostgreSQL mediante la extensión Visual Studio Code PostgreSQL con Microsoft Foundry para automatizar y validar la traducción de esquemas.

En él se explica cómo conectarse a la fuente de Oracle y al destino de Azure Database for PostgreSQL, cómo configurar Microsoft Foundry, cómo ejecutar el asistente de migración y cómo revisar los artefactos de PostgreSQL generados. Antes de empezar, asegúrese de que tiene acceso a la red y credenciales para los servidores y una implementación de Microsoft Foundry.

Esto es lo que puede esperar durante la conversión:

  • Detección de esquemas: la herramienta analiza los objetos de esquema de Oracle.
  • procesamiento AI: Microsoft Foundry procesa y convierte objetos compatibles.
  • Validación: los objetos convertidos se validan en la base de datos temporal.
  • Tareas de revisión: los objetos que requieren atención manual se marcan.
  • Generación de salida: los objetos convertidos correctamente se guardan como archivos PostgreSQL.

Prerequisites

En esta sección se describen los requisitos previos para usar la característica de conversión de esquemas de Oracle a Azure Database for PostgreSQL en Visual Studio Code antes de iniciar una conversión.

Requisitos del sistema

Categoría Detalles
Versión de Visual Studio Code 1.95.2 o posterior
suscripción GitHub Copilot Pro+, Business, Enterprise

Compatibilidad con sistema operativo

Sistema operativo Detalles de soporte técnico
Windows Solo arquitectura x64
Linux Arquitectura x64
macOS macOS 13+

Requisitos de Azure Database for PostgreSQL de destino

Componente Requisito de versión
Base de datos de Azure para PostgreSQL PostgreSQL versión 15 o posterior
Base de datos de borrador Azure Database para PostgreSQL - servidor flexible

Requisitos del modelo de IA

Necesita uno de los siguientes componentes de IA configurados:

Componente de IA Versión del modelo
Microsoft Foundry Implementación de GPT-5.2

configuración de implementación de Microsoft Foundry

En Microsoft Foundry, cree una implementación que use el modelo de gpt-5.2. El nombre de implementación es el que eligió al crear la implementación; no tiene que coincidir con el nombre del modelo.

El punto de conexión es la dirección URL del recurso Microsoft Foundry. Los recursos de Microsoft Foundry exponen varios nombres de host equivalentes; cualquiera de los siguientes formatos es válido:

  • https://{your-resource}.services.ai.azure.com
  • https://{your-resource}.openai.azure.com
  • https://{your-resource}.cognitiveservices.azure.com

Reemplace {your-resource} por el nombre del recurso Microsoft Foundry (por ejemplo, oracletopg). Si necesita llamar directamente a una ruta de inferencia, la ruta de vista previa actual es /openai/responses?api-version=2025-04-01-preview.

Para obtener más información sobre los formatos de punto de conexión y las rutas de inferencia, vea Endpoints for Microsoft Foundry Models.

Tip

Para enrutar el tráfico de Microsoft Foundry a través de Azure API Management para una gobernanza centralizada, la limitación de velocidad y la observabilidad, configure una puerta de enlace de IA delante de su recurso de Foundry y use la dirección URL de la puerta de enlace como punto de conexión. Para más información, consulte Configuración de AI Gateway en los recursos de Foundry.

Privilegios de base de datos necesarios

Antes de ejecutar la conversión de esquema, asegúrese de que las cuentas que utilice cuenten con los privilegios mínimos necesarios tanto en la base de datos Oracle de origen como en el servidor flexible temporal de Azure Database for PostgreSQL. La cuenta de Oracle necesita acceso de lectura a los datos y las vistas de diccionario para que la herramienta pueda analizar el esquema y el código. La cuenta de pruebas de Azure Database for PostgreSQL debe poder crear esquemas, tablas y otros objetos para llevar a cabo la validación. Use una cuenta de servicio dedicada siempre que sea posible. Siga el principio de mínimo privilegio. Coordinar con los DBA para conceder derechos elevados temporales y validar la conectividad y el acceso antes de iniciar la conversión.

Privilegios de origen de Oracle

Se requieren los siguientes privilegios mínimos en la base de datos de Oracle de origen:

Privilegio Purpose
CONNECT Conexión básica de base de datos
SELECT_CATALOG_ROLE Acceso a vistas de diccionario de datos
SELECCIONAR CUALQUIER DICCIONARIO Leer los metadatos del sistema y los objetos de diccionario
SELECCIONAR SYS.ARGUMENT$ Acceso a información de procedimientos y argumentos de función

Privilegios de base de datos de prueba

Se requieren los siguientes privilegios en el servidor flexible Azure Database for PostgreSQL (base de datos temporal):

Privilegio Purpose
CREAR ESQUEMA Creación de esquemas de validación
CREAR EN BASE DE DATOS Creación de objetos de base de datos para la validación
CONCEDER CONEXIÓN EN LA BASE DE DATOS Permisos de conexión para procesos de validación

Requisitos de red

  • Conectividad saliente: puntos de conexión de Microsoft Foundry.
  • Conectividad de base de datos: tanto el origen es Oracle como el destino es Azure Database for PostgreSQL Flexible Server.
  • HTTPS access: Visual Studio Code Extensions Marketplace y servicios GitHub Copilot.
  • Acceso al repositorio de GitHub: https://github.com/microsoft/pgsql-tools/.

Oracle Instant Client (para el modo de cliente pesado)

La herramienta de conversión de esquemas se conecta a Oracle mediante el modo de cliente fino de forma predeterminada, lo que no requiere software adicional. Si el entorno requiere el modo de cliente grueso, instale Oracle Instant Client en el equipo que ejecuta Visual Studio Code. La herramienta lee la configuración de sqlnet.ora y tnsnames.ora y cambia automáticamente al modo completo cuando un ajuste lo requiere.

Puede determinar si se requiere el modo de cliente grueso comprobando los archivos de configuración de red de Oracle en el entorno de origen. Busque los parámetros siguientes en el sqlnet.ora archivo (normalmente ubicado en $ORACLE_HOME/network/admin/):

Parámetro Indica que se requiere el modo grueso.
SQLNET.CRYPTO_CHECKSUM_CLIENT Establecer en REQUIRED o REQUESTED para el cifrado de red nativo
SQLNET.ENCRYPTION_CLIENT Establecer en REQUIRED o REQUESTED para el cifrado de red nativo

autenticación de Microsoft Foundry

Configure uno de los métodos de autenticación siguientes para Microsoft Foundry:

Método de autenticación Requisitos
Clave de API La dirección URL del punto de conexión de Microsoft Foundry y la clave de API.
Microsoft Entra ID Sesión iniciada en la extensión Cuenta de Azure, rol Usuario de Foundry (anteriormente Usuario de Azure AI) asignado al recurso de Microsoft Foundry.

Proceso de migración

En esta sección se explica el flujo de trabajo de migración completo. Instala la extensión de PostgreSQL, crea y prueba conexiones con el origen de Oracle y el destino de Azure Database for PostgreSQL, abre e inicializa un proyecto de migración, configura Microsoft Foundry para la traducción de esquemas, ejecuta el Asistente para migraciones para descubrir y convertir esquemas, valida los objetos convertidos en una base de datos de prueba y revisa o corrige los elementos marcados antes de aplicar los artefactos de PostgreSQL generados al destino.

Paso 1: Instalación de la extensión de Visual Studio Code de PostgreSQL

  1. Inicie Visual Studio Code.

  2. Vaya a la vista Extensiones (Ctrl+Shift+X).

  3. Busque PostgreSQL e instale la extensión PostgreSQL publicada por Microsoft.

    1. Descarga de Marketplace

    Captura de pantalla de la instalación de la extensión PostgreSQL en Visual Studio Code.

Paso 2: Crear una conexión a Azure Database for PostgreSQL

  1. En el panel de la extensión de PostgreSQL, cree una conexión a la instancia de servidor flexible de Azure Database for PostgreSQL.

  2. Escriba los detalles de conexión (host, base de datos, nombre de usuario, contraseña).

  3. Pruebe y guarde la conexión.

    Captura de pantalla de la adición de una nueva conexión de Azure Database for PostgreSQL.

Paso 3: Abrir una nueva área de trabajo

  1. Cree una carpeta en la máquina local para el proyecto de migración.

  2. Abra la carpeta como nuevo área de trabajo en Visual Studio Code.

    Captura de pantalla de cómo agregar una nueva área de trabajo en Visual Studio Code.

Paso 4: Inicialización de un proyecto de migración

  1. Abra la extensión PostgreSQL.

  2. Vaya al panel Migraciones .

  3. Seleccione Crear proyecto de migración.

    Captura de pantalla de la creación de un nuevo proyecto de migración.

Paso 5: Configurar las opciones del proyecto

  1. En el Asistente para migración, escriba el nombre del proyecto.

  2. Seleccione Siguiente para continuar.

    Captura de pantalla del nombre del proyecto.

Paso 6: Configurar la conexión de Oracle

  1. Escriba los detalles de conexión de Oracle:

    • Nombre de host o servidor.
    • Número de puerto.
    • Nombre de la base de datos o del servicio.
    • Nombre de usuario y contraseña.

    La herramienta selecciona automáticamente el modo de cliente ligero o pesado según la configuración de sqlnet.ora y tnsnames.ora; la interfaz de usuario no muestra un selector manual. El modo fino se usa de forma predeterminada. Si su sqlnet.ora requiere el modo Thick, asegúrese de que Oracle Instant Client esté instalado y de que su ubicación esté incluida en la variable de entorno PATH antes de continuar. Para obtener más información, consulte Oracle Instant Client.

  2. Seleccione Cargar esquemas. La herramienta prueba la conexión de Oracle y, si se ejecuta correctamente, enumera todos los esquemas definidos por el usuario disponibles en Oracle.

  3. Seleccione uno o varios esquemas para convertir en PostgreSQL.

  4. Seleccione Siguiente para continuar.

    Captura de pantalla de la configuración de un servidor oracle.

Paso 7: Configurar una base de datos de prueba de Azure Database for PostgreSQL

  1. Seleccione la conexión Azure Database for PostgreSQL que definió en la extensión PostgreSQL.

  2. Seleccione la base de datos de destino en la lista desplegable.

  3. Seleccione Siguiente para continuar.

    Captura de pantalla de la configuración de una base de datos temporal.

Paso 8: Configurar el modelo de lenguaje foundry de Microsoft

  1. Escriba los detalles de Microsoft Foundry:

    • Dirección URL del punto de conexión.
    • Nombre de implementación (el nombre asignado a la implementación en Microsoft Foundry; el modelo subyacente debe ser gpt-5.2).
  2. Seleccione el método de autenticación:

    • API: escriba la clave de API para la implementación de Microsoft Foundry.
    • Microsoft Entra ID: inicie sesión con la extensión de cuenta de Azure. La herramienta adquiere automáticamente el token de autenticación. Asegúrese de que la identidad de sesión tiene el rol Foundry User (anteriormente Azure AI User) en el recurso Microsoft Foundry. Para obtener más información, consulte Control de acceso basado en rol para Microsoft Foundry.
  3. Seleccione Probar conexión para comprobar la configuración.

  4. Después de que la conexión se haya realizado correctamente, seleccione Crear proyecto de migración.

    Captura de pantalla de la configuración del modelo de lenguaje.

Paso 9: Ejecución de la conversión del esquema

  1. El sistema navega al Asistente para la migración principal.

  2. Seleccione Migrar para iniciar el proceso de conversión de esquema.

  3. Supervise el progreso de la conversión en la interfaz Visual Studio Code.

    Captura de pantalla del progreso del paso de migración.

Paso 10: Revisión del informe de conversión de esquema

  1. Una vez finalizada la conversión de esquema, la herramienta genera un informe de conversión de esquema.
  2. Revise los objetos que se convirtieron correctamente y los objetos que se omitieron.
  3. El informe muestra el porcentaje de éxito de la conversión.

Paso 11: Revisar y refinar las tareas de conversión

  1. Una vez finalizada la conversión del esquema, la herramienta crea tareas de revisión para los objetos que necesitan atención.
  2. Usa el modo agente de GitHub Copilot para resolver las tareas, o convierte manualmente los esquemas a PostgreSQL.
  3. Compare las instrucciones de conversión de esquemas anteriores y las recién convertidas.
  4. Para obtener más información sobre las prioridades de tareas, los archivos SQL generados y las carpetas de salida, consulte Revisión de las tareas y carpetas de salida de Oracle para Azure Database for PostgreSQL conversión de esquemas de servidor flexible.

Paso 12: Validación de objetos convertidos antes de la implementación

  1. Valide de forma independiente todos los objetos convertidos en un entorno que no sea de producción.
  2. Confirme que las dependencias, las restricciones y las cargas de trabajo representativas se comportan según lo previsto.
  3. Revise las resoluciones de todas las tareas de revisión y vuelva a probar después de los cambios.

Importante

Responsabilidad de validación del cliente: el mismo motor de IA que se usa para la conversión de esquemas también puede ayudar con la validación y revisión. Los sistemas de inteligencia artificial pueden confirmar ocasionalmente sus propios errores. Para evitar la pérdida de datos, regresiones funcionales o problemas de seguridad, valide de forma independiente todos los objetos convertidos y las resoluciones de la tarea de revisión antes de implementar en producción. Como parte de los controles, considere la posibilidad de habilitar el filtrado de contenido de Microsoft Foundry para ayudar a reducir las salidas perjudiciales o no deseadas. Para obtener instrucciones, consulte Content filtering for Microsoft Foundry Models.

Para obtener más información sobre la extensión Visual Studio Code, visite extensión postgreSQL para Visual Studio Code y cursor.