Limitaciones de la copia de objetos y datos de base de datos

Limitaciones y restricciones existentes actualmente con respecto a la copia de objetos y datos de base de datos.
Limitaciones generales
Este conjunto de limitaciones es aplicable a más de un tipo de objeto.
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows:
    • Si una definición del objeto origen contiene la cláusula OR REPLACE, el objeto destino se crea sin la cláusula. Esta limitación es aplicable a vistas, procedimientos, funciones definidas por el usuario y paquetes.
    • Si una definición del objeto origen contiene la cláusula AUTHID CURRENT_USER, se produce un error. Esta limitación es aplicable a procedimientos, funciones definidas por el usuario y paquetes.
  • Si una referencia a tabla contenida en un objeto de origen no está cualificada, la operación de pegar ejecuta la tabla para el esquema predeterminado que está asociado a la conexión de destino. Esta limitación es aplicable a vistas, procedimientos, funciones definidas por el usuario y paquetes.

    Sólo puede añadir o cambiar un calificador en el DDL generado modificando el script SQL en el editor de SQL y XQuery.

Copia de tablas
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows
    • DB2 para Linux, UNIX y Windows no da soporte a las columnas de tipo ARRAY o VARRAY en las definiciones de tabla. Si una tabla de origen contiene una columna de tipo ARRAY o VARRAY, la acción de pegar fallará.
  • Origen DB2 para Linux, UNIX y Windows → Destino DB2 para z/OS
    • La copia de datos en una columna XML no está soportada. Si una tabla contiene una columna de tipo XML, la definición de tabla puede copiarse y pegarse satisfactoriamente. No obstante, los datos XML de la columna no se copiarán.
    • En el DDL generado para una tabla copiada, CCSID se establece en EBCDIC de forma predeterminada. En este caso, el CCSID debe establecerse en EBCDIC en el espacio de tabla o la base de datos de destino, ya sea de forma específica o predeterminada; de lo contrario, la acción de pegar fallará.

      CCSID se establece en UNICODE en el DDL generado sólo cuando la tabla copiada contiene una columna de tipo GRAPHIC o VARGRAPHIC.

Copia de vistas
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows:
    • La opción WITH READ ONLY no se puede utilizar en DB2. Si la definición de la vista de origen contiene esta opción, la acción de pegar falla.
  • Origen DB2 para Linux, UNIX y Windows → Destino Oracle:
    • Las opciones WITH NO ROW MOVEMENT y WITH ROW MOVEMENT no se pueden utilizar en Oracle. Si la definición de la vista de origen contiene cualquiera de estas dos opciones, la acción de pegar falla.
  • Origen Oracle → Destino Oracle
    • Si una definición de vista de origen contiene una cláusula FORCE o NO FORCE, la vista de destino se crea sin la cláusula.
  • Si la expresión de consulta CREATE VIEW no se ajusta a la sintaxis de la base de datos de destino, se produce un error en la base de datos de destino.
Copia de activadores
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows:
    • Una cláusula de sucesos DML compuesta como, por ejemplo, INSERT OR UPDATE o INSERT OR UPDATE OR DELETE no está soportada en una definición de activador de DB2. Si la definición de activador de origen contiene una cláusula de sucesos DML compuesta, la definición de activador de destino contendrá sólo el primer suceso de la cláusula. Aparece un mensaje de error informándole de esta incidencia.
    • Las siguientes sintaxis no están soportadas. Si se produce alguna de estas sintaxis en un activador de origen, el activador no se copia; no obstante, su tabla asociada sí se copia.
      • Bloque de activador compuesto
      • Activador en una tabla anidada
      • Activador en un suceso de sistema o un suceso de usuario
      • Activador en un esquema
      • Activador que contiene una llamada CALL de procedimiento.
      • Activador que contiene una cláusula de referencia PARENT AS PARENT
      • Activador que contiene una cláusula INSTEAD OF y una cláusula FOR EACH ROW
  • Origen DB2 para Linux, UNIX y Windows → Destino Oracle:
    • Los activadores SPL PL no están soportados para la copia.
Copia de tipos definidos por el usuario
  • Si el origen de la copia es una base de datos Oracle, existen las siguientes limitaciones:
    • Los tipos definidos por el usuario VARRAY no aparecen como objetos dependientes en el modelo de datos físico. Los tipos definidos por el usuario VARRAY no se copian con los procedimientos PL/SQL y los paquetes PL/SQL que los utilizan. Si un procedimiento PL/SQL o un paquete PL/SQL utiliza un tipo definido por el usuario VARRAY, debe copiar el tipo definido por el usuario antes de copiar el objeto PL/SQL que lo utiliza.
    • La copia de datos en una columna de tipo definido por el usuario VARRAY no está soportada. Si una tabla contiene una columna de tipo definido por el usuario VARRAY, la definición de tabla puede copiarse y pegarse satisfactoriamente. No obstante, los datos en una columna de tipo definido por el usuario VARRAY no pueden copiarse; la acción de pegar fallará.
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows
    • DB2 no da soporte a la cláusula NOT NULL en una definición VARRAY. Si la definición de VARRAY de origen contiene una cláusula NOT NULL, la acción de pegar falla.
  • Origen DB2 para Linux, UNIX y Windows → Destino Oracle
    • Si un procedimiento almacenado que utiliza un tipo definido por el usuario VARRAY no es un procedimiento PL/SQL, la acción de pegar falla.
Copia de sinónimos
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows
    • La copia de sinónimos para los objetos siguientes no está soportada. Si se definen sinónimos para alguno de los objetos siguientes, no se generará la sentencia DDL correspondiente.
      • Secuencias
      • Procedimientos almacenados, funciones y paquetes
      • Vistas materializadas
      • Tipos definidos por el usuario
Copia de secuencias
  • El parámetro CACHE no está soportado para la copia.
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows
    • El tipo de datos de destino predeterminado de DB2 para Linux, UNIX y Windows de una secuencia de origen Oracle es DECIMAL, con una precisión de 27.
  • Origen DB2 para Linux, UNIX y Windows → Destino Oracle
    • La cláusula NO MINVALUE predeterminada no está soportada. Si la definición de origen incluye una cláusula MAXVALUE, pero no incluye específicamente una cláusula MINVALUE o una cláusula NO MINVALUE, la acción de pegar fallará.
Copia de módulos
  • Origen DB2 Versión 9.7 para Linux, UNIX y Windows → Destino DB2 Versión 9.7 para Linux, UNIX y Windows
    • Sólo pueden copiarse módulos completos; la copia de elementos individuales de los módulos no está soportada.
Copia de paquetes PL/SQL
  • Si el origen de la copia es una base de datos DB2 para Linux, UNIX y Windows, los objetos dependientes de paquetes PL/SQL no se copian.
  • Si el origen de la copia es una base de datos Oracle, los objetos dependientes de paquetes no se copian.
  • Si se copia una especificación de paquete PL/SQL, el cuerpo del paquete PL/SQL, si existe, se copia en la misma operación. El cuerpo de un paquete PL/SQL no puede copiarse por separado.
Copia de datos
  • Origen Oracle → Destino DB2 para Linux, UNIX y Windows:
    • Solamente se copian los objetos grandes (LOB) inferiores a 2 GB.
  • Si pega datos y objetos de base de datos directamente en la base de datos de destino, se aplica la siguiente limitación:
    • Si especifica opciones de filtro o límites de fila en datos de origen que contienen restricciones de clave foránea, no hay ninguna garantía de que se copien datos coherentes en la base de datos de destino.

      Para extraer los datos coherentes de una tabla de relación padre-hijo con un número limitado de filas, especifique filtros de consulta en la página Movimiento de datos del asistente Pegar objetos de base de datos.

      Ejemplo: Origen DB2 para Linux, UNIX y Windows → Destino DB2 para Linux, UNIX y Windows

      Copie la tabla cust_customer (tabla padre) y la tabla cust_crdt_card (tabla hijo) en la base de datos de demostración GOSALES.

      La tabla 1 muestra la información que se especifica en las columnas Filtro y Límite de filas de la cuadrícula en la página Movimiento de datos del asistente.

      Tabla 1. Filtro de ejemplo e información de límite de filas que deben especificarse para la extracción de datos coherentes
      Tabla Filtro Límite de filas
      cust_customer ORDER BY cust_code 1000
      cust_crdt_card WHERE cust_code in ( SELECT cust_code FROM gosalesct.cust_customer ORDER BY cust_code FETCH FIRST 1000 ROWS ONLY)  
  • Si copia una tabla que contiene una columna de tipo LOB y luego edita el script de DDL, al ejecutar el script se generarán valores nulos para los datos de LOB copiados.
  • Los formatos de los datos copiados pueden ser diferentes entre una base de datos de origen y una base de datos de destino. Por ejemplo, es posible que los formatos de los datos de fecha y hora que se copian desde la base de datos de origen no coincidan con los formatos predeterminados de la base de datos de destino. Puede que sea necesario especificar el formato de los valores literales al aplicarlos a la base de datos de destino. Para obtener información acerca de la especificación de descriptores de formato, consulte la documentación de la base de datos de destino.
Limitaciones de la correlación de tipos de datos
Algunos tipos de datos de Oracle no se corresponden con tipos de datos de DB2. La Tabla 1 muestra cómo se manejan los tipos de datos Oracle no soportados cuando se copian en una base de datos DB2 para Linux, UNIX y Windows.
Tabla 2. Cómo se manejan los tipos de datos Oracle no soportados en DB2 para Linux, UNIX y Windows
Tipo de datos de Oracle Resultado
BFILE La columna se correlaciona con el tipo de datos BLOB de DB2; los datos no se copian.
INTERVAL YEAR TO MONTH Se correlaciona con el tipo de datos CHAR de DB2.
INTERVAL DAY TO SECOND Se correlaciona con el tipo de datos CHAR de DB2.
NUMBER( p,-s ) Se correlaciona con el tipo de datos NUMBER( p,0 ) de DB2.
NUMBER( p,s ) donde s > p La columna no se crea; los datos no se copian.
TIMESTAMP WITH LOCAL TIME ZONE La columna no se crea; los datos no se copian.
TIMESTAMP WITH TIME ZONE La columna no se crea; los datos no se copian.
XMLTYPE La columna se correlaciona con el tipo de datos XML de DB2; los datos no se copian.
Manejo de errores
  • La opción Retrotraer al surgir error del asistente Pegar objetos de base de datos no se puede utilizar para una base de datos de destino Oracle.

Comentarios