Limitaciones y recomendaciones conocidas

En esta página se describen las limitaciones conocidas (incluidas las consideraciones especiales para gestionar entidades como claves primarias o claves externas y activadores), así como las prácticas recomendadas para las migraciones heterogéneas de Oracle con Database Migration Service.

Qué no se migra

  • Los usuarios y los permisos no se migran.
  • Los cambios de esquema que se produzcan durante un trabajo de migración activo no se migrarán automáticamente. Si cambias el esquema durante la migración, primero debes actualizar el espacio de trabajo de conversión con los cambios del esquema y, a continuación, actualizar los trabajos de migración pertinentes. Para obtener más información, consulta el artículo Añadir un esquema o tablas actualizados al trabajo de migración.
  • No se admiten las instrucciones SAVEPOINT y pueden provocar discrepancias en los datos en caso de reversión.
  • Database Migration Service replica los tipos de datos definidos por el usuario, pero solo almacena el tipo de datos base del que derivas tus tipos definidos por el usuario. Por ejemplo, si defines un tipo de datos USERNAME basado en el tipo de datos VARCHAR2, los datos se almacenan en el destino como VARCHAR.

Bases de datos, transacciones y coherencia de datos

  • La migración es coherente en última instancia, ya que el servicio de migración de bases de datos no replica cada transacción a medida que se produce. La migración incorpora datos de varias tablas. El orden en el que se cargan los datos en el destino puede variar, pero se vuelve a alinear con el origen después de que se detengan las escrituras en el origen y se borre el búfer de migración.
  • En el caso de las migraciones heterogéneas de Oracle, Database Migration Service solo puede migrar una base de datos por tarea de migración.
  • Database Migration Service admite la arquitectura multi-tenant de Oracle (CDB/PDB), pero solo puedes migrar una base de datos conectable por tarea de migración.
  • Oracle Label Security (OLS) no se replica.
  • Las transacciones que se reviertan en la base de datos de origen durante el proceso de migración pueden ser visibles en el destino temporalmente (si la transacción es lo suficientemente larga).
  • Database Migration Service no admite la conectividad directa a bases de datos mediante la función de nombre de acceso de cliente único (SCAN) en entornos de Oracle Real Application Clusters (RAC). Para ver posibles soluciones a los problemas de conectividad mediante la lista de permitidas de IPs públicas en estos entornos, consulta Solucionar errores de SCAN de Oracle.

Codificación de datos

  • El servicio de migración de bases de datos solo admite UTF8 conjuntos de codificación para la base de datos de destino. No se admiten nombres de esquemas ni de tablas que incluyan caracteres que no formen parte del conjunto de codificación UTF8.
  • Database Migration Service admite las siguientes codificaciones de conjuntos de caracteres para bases de datos de Oracle:
    • AL16UTF16
    • AL32UTF8
    • IN8ISCII
    • IW8ISO8859P8
    • JA16SJIS
    • JA16SJISTILDE
    • KO16MSWIN949
    • US7ASCII
    • UTF8
    • WE8ISO8859P1
    • WE8ISO8859P9
    • WE8ISO8859P15
    • WE8MSWIN1252
    • ZHT16BIG5

Tablas, esquemas y otros objetos

  • Durante una migración, no se admiten los cambios en el lenguaje de definición de datos (DDL) de los datos, los esquemas y los metadatos. Si actualizas tu esquema durante la migración, debes extraer los cambios en tu espacio de trabajo de conversión, convertir el código, limpiar el destino y volver a ejecutar la tarea de migración.
  • No se admiten nombres de columnas de tablas que incluyan caracteres distintos de caracteres alfanuméricos o guiones bajos (_).
  • La longitud máxima del nombre de las tablas o las columnas es de 30 caracteres. Database Migration Service no puede replicar tablas que superen este límite ni tablas que contengan columnas cuyos nombres superen este límite.
  • No se admiten tablas organizadas por índice (IOTs).
  • Las tablas temporales globales requieren que la extensión pgtt PostgreSQL esté instalada y creada en el destino.
  • En las columnas de tipo BFILE, solo se replicará la ruta al archivo. El contenido del archivo no se replicará.
  • En Oracle 11g, no se admiten las tablas que tengan columnas de los tipos de datos ANYDATA o UDT, y no se replicará toda la tabla.
  • Las tareas programadas mediante dbms_job o dbms_scheduler no se migran.
  • Las definiciones de las vistas materializadas se migran, pero sus datos materializados no. Cuando hayas terminado la migración, actualiza las vistas materializadas para rellenarlas con los datos de las tablas migradas.
  • Los valores de secuencia se migran, pero sus valores en la base de datos de origen pueden seguir aumentando antes de que se complete la migración. Una vez que se haya completado la migración, actualiza los valores de secuencia de la instancia de destino para que coincidan con los de la base de datos de origen.
  • Las tareas de migración tienen un límite de 10.000 tablas.
  • Las filas tienen un límite de tamaño de 100 MB. Las filas que superen el límite de 100 MB no se migrarán y se mostrarán como errores en el trabajo de migración.
  • Las tablas que se creen después de que se haya iniciado la migración no se migrarán automáticamente. Primero, debes extraer su esquema en el espacio de trabajo de conversión, aplicar las definiciones convertidas al destino y actualizar el trabajo de migración.

Limitaciones de los tipos de datos

Los siguientes tipos de datos no se admiten en las migraciones de Oracle:

  • ANYDATA (En Oracle 11g, las tablas con ANYDATA no se admiten y no se replican).
  • BFILE
  • INTERVAL DAY TO SECOND
  • INTERVAL YEAR TO MONTH
  • LONG/LONG RAW
  • SDO_GEOMETRY
  • UDT
  • UROWID
  • XMLTYPE
  • Fechas cero en TIMESTAMP

Consideraciones sobre las claves principales

Las tablas sin claves principales no garantizan una réplica coherente. Database Migration Service solo migra las tablas que tienen claves principales. Si tu base de datos de origen incluye tablas que no tienen claves principales, los espacios de trabajo de conversión de Database Migration Service crearán automáticamente las claves principales que falten en las tablas de destino cuando conviertas el código fuente y el esquema.

Si usas espacios de trabajo de conversión antiguos, debes crear manualmente restricciones de clave principal en las tablas convertidas de la base de datos de destino antes de iniciar la migración. Para obtener más información, consulta Espacios de trabajo de conversión antiguos.

Consideraciones sobre las claves externas y los activadores

Las claves externas y los activadores presentes en la base de datos de origen pueden provocar problemas de integridad de los datos o incluso hacer que falle el trabajo de migración. Puedes evitar estos problemas si te saltas las claves externas y los activadores usando la opción REPLICATION para el usuario de migración. También puede eliminar todas las claves externas y los activadores de la base de datos de destino y volver a crearlos cuando se haya completado la migración.

Activadores

Los datos replicados por Database Migration Service ya incorporan los cambios realizados por los activadores en la base de datos de origen. Si los activadores están habilitados en el destino, pueden activarse de nuevo y manipular los datos, lo que puede provocar problemas de integridad o duplicación de datos.

Claves externas

Database Migration Service no replica los datos de forma transaccional, por lo que es posible que las tablas se migren en un orden incorrecto. Si hay claves externas y se migra una tabla secundaria que usa una clave externa antes que su tabla principal, es posible que se produzcan errores de replicación.

Recomendaciones

  • Cuando crees tu base de datos de Cloud SQL de destino, asegúrate de usar suficientes recursos de computación y memoria para cubrir tus necesidades de migración. Te recomendamos que elijas un tipo de máquina con una CPU de al menos dos núcleos.

    Por ejemplo, si el nombre de tu máquina es db-custom y tiene 2 CPUs y 3840 MB de RAM, el formato del nombre del tipo de máquina es db-custom-2-3840.

  • La base de datos de Cloud SQL de destino se puede escribir durante la migración para permitir que se apliquen cambios en el lenguaje de manipulación de datos (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.

Cuotas

  • Puedes disponer de hasta 2000 perfiles de conexión y 1000 tareas de migración al mismo tiempo. Si quieres liberar espacio, puedes eliminar los perfiles de conexión y las tareas de migración, incluidas las completadas.