Migrar una base de datos de Oracle a Cloud SQL para PostgreSQL

En esta página se describe cómo convertir tu base de datos de Oracle a la sintaxis de PostgreSQL y migrar los datos a Cloud SQL para PostgreSQL con Database Migration Service.

El proceso de migración implica las siguientes tareas:

  1. Configurar la base de datos de origen para la conectividad de la migración y preparar los datos para la conversión a PostgreSQL.

  2. Crear la instancia de Cloud SQL para PostgreSQL de destino.

  3. Convertir tu esquema de Oracle y otros objetos a la sintaxis de PostgreSQL con un espacio de trabajo de conversión de Database Migration Service.

  4. Crear y ejecutar la tarea de migración en Database Migration Service.

  5. Monitorizar el progreso de la tarea de migración con las funciones de observabilidad de Database Migration Service.

  6. Promocionar la tarea de migración una vez que se hayan migrado todos los datos.

Costes

En este documento, se usan los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Antes de empezar

  1. Verifica si esta ruta de migración puede admitir completamente tu situación. Consulta las siguientes páginas:
    • En la sección Fuentes y destinos admitidos de la página Descripción general de los escenarios se enumeran todas las versiones de origen y destino admitidas.
    • En Limitaciones conocidas se describen los tipos de datos, los tamaños de las bases de datos y otras limitaciones admitidos.
    • En Información general sobre las redes se describen las soluciones de conectividad de red disponibles.

      Para migrar tus datos, Database Migration Service necesita establecer una conexión de red con tus instancias de origen y de destino. En función de tu arquitectura, es posible que necesites realizar preparaciones adicionales para facilitar la conectividad de red.

  2. Ten en cuenta en qué región quieres crear la base de datos de destino. Database Migration Service es un producto totalmente regional, lo que significa que todas las entidades relacionadas con tu migración (perfiles de conexión de origen y destino, tareas de migración, bases de datos de destino y espacios de trabajo de conversión) deben guardarse en una sola región.
  3. En la Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto.

    Ir al selector de proyectos

  4. Habilita las APIs Database Migration Service, Compute Engine, Cloud Storage y Cloud SQL Admin.

    Habilita las APIs

Roles obligatorios

Para obtener los permisos que necesitas para realizar migraciones heterogéneas de Oracle con Database Migration Service, pide a tu administrador que te conceda los roles de gestión de identidades y accesos necesarios en tu proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso en la documentación de gestión de identidades y accesos.

Estos roles predefinidos contienen los permisos necesarios para realizar migraciones heterogéneas de Oracle con Database Migration Service. Para ver los permisos exactos que se necesitan, despliega la sección Permisos obligatorios:

Permisos obligatorios

Para realizar migraciones heterogéneas de Oracle con Database Migration Service, se necesitan los siguientes permisos:

  • datamigration.*
  • cloudaicompanion.entitlements.get

    Este permiso se incluye en el rol roles/datamigration.admin. Es obligatorio para las funciones de conversión mejoradas con Gemini.

  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Paso 1. Preparar la base de datos de origen

Para preparar los datos de origen para la migración, sigue estos pasos:

  1. Configura la conectividad de la base de datos de origen. Sigue estos pasos:
    1. Opcional: decide si quieres usar certificados SSL/TLS para proteger la conexión de red de origen. Para obtener más información, consulta el artículo Proteger las conexiones de red con TLS.

      El cifrado SSL/TLS es compatible con Oracle 12 y versiones posteriores. Database Migration Service solo admite el método de cifrado TLS. En función de la configuración de SSL/TLS, es posible que tengas que seguir otros pasos en la base de datos de origen.

    2. Elige y configura el método de conectividad de la red de origen.
  2. Configure la instancia de la base de datos de origen.

    En este paso, creará una cuenta de usuario de base de datos de migración específica y habilitará las funciones de replicación necesarias.

  3. Opcional: Optimiza la configuración del archivo de registro.

    Acceder a archivos de registro archivados añade cierta latencia al proceso de migración. Puedes ajustar determinados ajustes de los archivos de registro para controlar el impacto de la latencia.

  4. Crea un perfil de conexión de origen.

    Los perfiles de conexión contienen la información necesaria para que el servicio de migración de bases de datos establezca la conexión con tu base de datos de origen. Los detalles de la conexión varían en función del método de conectividad de la red de origen que utilices.

Paso 2: Preparar la instancia de destino de Cloud SQL para PostgreSQL

Para configurar la instancia de Cloud SQL de destino, sigue estos pasos:

  1. Elige y configura el método de conectividad de la red de destino.
  2. Crea y configura tu instancia de destino de Cloud SQL para PostgreSQL.

    Asegúrate de usar suficientes recursos de computación y memoria para cubrir tus necesidades de migración. Para obtener más información, consulta las recomendaciones de migración.

  3. Crea un perfil de conexión de destino.

    Los perfiles de conexión contienen la información necesaria para que el servicio de migración de bases de datos establezca la conexión con tu base de datos de destino. Los detalles de la conexión varían en función del método de conectividad de la red de destino que utilices.

Paso 3: Convertir objetos de Oracle a la sintaxis de PostgreSQL

Las bases de datos suelen tener miles de objetos. Convertirlos todos en una sola sesión puede ser un proceso complicado. Con los espacios de trabajo de conversión, puedes dividir el proceso de conversión en varias fases en las que añades nuevos objetos a la conversión, solucionas los problemas y, a continuación, los pruebas en tu base de datos de destino.

Para convertir objetos de tu base de datos de origen, sigue estos pasos:

  1. Crea el espacio de trabajo de conversión y ejecuta la conversión inicial.
  2. Soluciona los problemas de conversión y aplica el esquema a tu base de datos de destino.

Paso 4: Crear y ejecutar la tarea de migración

Para configurar y ejecutar la migración, sigue estos pasos:

  1. Opcional: Si quieres gestionar tus propios certificados para el trabajo de migración, prepara las claves de cifrado necesarias.
  2. Opcional: Si quieres realizar la fase de volcado completo por tu cuenta, puedes exportar todos los datos de la base de datos de origen de Oracle y cargarlos en la instancia de Cloud SQL para PostgreSQL de destino fuera de Database Migration Service.

    Si decides realizar el volcado completo fuera del flujo de la tarea de migración, asegúrate de registrar el número de cambio del sistema (SCN) en el que Database Migration Service debe iniciar la replicación de CDC.

  3. Crea y ejecuta la tarea de migración.

    La base de datos de Cloud SQL de destino se puede escribir durante la migración para permitir que se apliquen cambios de DML si es necesario. Asegúrate de no hacer ningún cambio en la configuración de la base de datos ni en las estructuras de las tablas que pueda interrumpir el proceso de migración o afectar a la integridad de los datos.

    Puedes monitorizar el progreso de la migración, así como el estado de tu instancia de destino, con las funciones de observabilidad de Database Migration Service. Consulta Métricas de tareas de migración.

Paso 5: Finalizar la migración

Cuando decidas cambiar tu aplicación a la nueva instancia de Cloud SQL para PostgreSQL, finaliza la migración siguiendo estos pasos:

  1. Detén todas las operaciones de escritura en la base de datos de origen. Puedes cambiarlos al modo de solo lectura para mantener la funcionalidad operativa.
  2. Opcional: Verifica que los datos de migración estén completos.
  3. Promociona la tarea de migración.

Ahora puede limpiar todas las entidades del servicio de migración de bases de datos, como los perfiles de conexión, las tareas de migración y los espacios de trabajo de conversión. También puedes conservarlas y reutilizarlas en otra migración.

Siguientes pasos

Consulta más información sobre las Google Cloud funciones de Cloud SQL para PostgreSQL. Consulta las funciones de Cloud SQL para PostgreSQL.