Base de datos de Oracle de origen

Esta sección contiene información sobre lo siguiente:

  • El comportamiento de cómo Datastream controla los datos que se extraen de una base de datos de Oracle de origen
  • Las versiones de la base de datos de Oracle que Datastream admite
  • Una descripción general de cómo configurar una base de datos de Oracle de origen para que los datos se puedan transmitir a un destino
  • Limitaciones conocidas para usar la base de datos de Oracle como fuente

Comportamiento

La base de datos de Oracle de origen depende de su función Oracle Logminer para exponer los cambios en los datos.

  • Se pueden seleccionar todos los esquemas o los esquemas específicos de una base de datos determinada, así como todas las tablas de los esquemas o tablas específicas.
  • Se replican todos los datos históricos.
  • Se replican todos los cambios en el lenguaje de manipulación de datos (DML), como las inserciones, actualizaciones y eliminaciones desde las bases de datos y tablas especificadas.
  • Datastream replica los cambios confirmados y, en algunos casos, no confirmados en el destino. Datastream lee los cambios no confirmados. En caso de una reversión, los registros de salida de Datastream también incluyen la operación opuesta. Por ejemplo, si hay una operación INSERT revertida, los registros de salida también contendrán una operación DELETE correspondiente. En este caso, el evento aparecerá como un evento DELETE con solo el elemento ROWID.

reabastecimiento basado en ROWID

En Oracle, ROWID es una seudocolumna que almacena identificadores únicos de filas en una tabla. Datastream usa los valores de ROWID para sus operaciones de reabastecimiento. Por este motivo, te recomendamos que no realices ninguna acción que pueda cambiar los valores de ROWID en tu base de datos de Oracle de origen hasta que se complete la operación de reabastecimiento.

Entre las acciones que pueden cambiar los valores de ROWID, se incluyen las siguientes:

  • Movimiento físico de las filas:

    • Operaciones de importación y exportación: cuando exportas una tabla y, luego, la vuelves a importar, la ubicación física de las filas puede cambiar, lo que daría como resultado nuevos valores ROWID.
    • Comando ALTER TABLE (...) MOVE: Mover una tabla a un espacio de tabla diferente puede cambiar el almacenamiento físico y generar cambios ROWID.
    • Comando ALTER TABLE (...) SHRINK SPACE: Este comando comprime la tabla, lo que podría mover filas y afectar sus valores de ROWID.
    • Operaciones de partición: dividir, combinar o mover particiones puede cambiar la ubicación física de las filas y sus valores de ROWID.
  • Operaciones de retrospectiva:

    • Comando FLASHBACK TABLE: El restablecimiento de una tabla a un estado anterior implica borrar y volver a insertar filas y, así, crear nuevos valores ROWID.
    • FLASHBACK_TRANSACTION_QUERY: Es similar a FLASHBACK TABLE. Revertir una transacción puede causar cambios en ROWID si se borraron o actualizaron filas en la transacción.

Versiones

Datastream admite las siguientes versiones de la base de datos de Oracle:

  • Oracle 11g, versión 11.2.0.4
  • Oracle 12c, versión 12.1.0.2
  • Oracle 12c, versión 12.2.0.1
  • Oracle 18c
  • Oracle 19c
  • Oracle 21c

Datastream admite los siguientes tipos de bases de datos de Oracle:

  • Alojamiento local propio o en cualquier proveedor de servicios en la nube
  • Amazon RDS for Oracle
  • Oracle Cloud
  • Oracle Exadata
  • RAC de Oracle

Configuración

Para configurar una base de datos de Oracle de origen de modo que sus datos se puedan transmitir a un destino, debes configurar la base de datos para que otorgue acceso, configure el registro, define una política de retención, etcétera.

Consulta Configura una base de datos de origen de Oracle para aprender a configurar esta base de datos a fin de que Datastream pueda extraer datos de ella a un destino.

Limitaciones conocidas

Entre las limitaciones conocidas para usar la base de datos de Oracle como fuente, se incluyen las siguientes:

  • Una tabla que tiene más de 500 millones de filas no se puede reabastecer, a menos que se cumplan las siguientes condiciones:
    1. La tabla tiene un índice único.
    2. Este índice también debe ser de árbol B, que es un índice predeterminado. El índice puede ser compuesto.
    3. No se puede revertir el índice.
    4. El índice no puede contener una columna basada en funciones.
    5. Ninguna de las columnas del índice es anulable.
    6. El índice no incluye una columna de tipo DATE que contenga fechas negativas como valores.
    7. Todas las columnas del índice se incluyen en el flujo.
  • Las transmisiones tienen un límite de 10,000 tablas.
  • Datastream admite la arquitectura multiusuario de Oracle (CDB/PDB). Sin embargo, solo puedes replicar una única base de datos conectable en una transmisión.
  • La base de datos autónoma de Oracle no es compatible.
  • En el caso de las tablas que no tienen una clave primaria, Datastream usa el ROWID de la fila para realizar una operación de combinación del consumidor. Ten en cuenta que es posible que ROWID no sea único. Si borras y vuelves a insertar una fila con la utilidad de importación y exportación de Oracle, por ejemplo, el ROWID de la fila podría cambiar. Si borras una fila, Oracle podrá reasignar su ROWID a una fila nueva que se inserte más tarde.
  • No se admiten las tablas organizadas por índices (IOT).
  • No se admiten las tablas temporales.
  • En el caso de las columnas de tipo BFILE, solo se replica la ruta de acceso al archivo. El contenido del archivo no se replica.
  • No se admiten las columnas de los tipos de datos ANYDATA, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, SDO_GEOMETRY, UDT, UROWID y XMLTYPE, y se reemplazan por valores NULL.
  • Para transmitir columnas de tipos de datos de objetos grandes, como objetos binarios grandes (BLOB), objetos grandes de caracteres (CLOB) y objetos grandes de caracteres nacionales (NCLOB), debes incluir la marca streamLargeObjects en la configuración de transmisión. Si no incluyes la marca, Datastream no transmitirá esas columnas y se reemplazarán por valores NULL en el destino. Si deseas obtener más información, consulta Habilita la transmisión de objetos grandes para las fuentes de Oracle.
  • En Oracle 11g, no se admiten las tablas que tienen columnas de los tipos de datos ANYDATA o UDT, y no se replicará toda la tabla.
  • Oracle Label Security (OLS) no se replica.
  • Datastream recupera periódicamente el esquema más reciente de la fuente a medida que se procesan los eventos. Si un esquema cambia, es posible que algunos eventos del esquema nuevo se lean mientras se aplica el esquema anterior. En este caso, Datastream detecta el cambio de esquema, activa una recuperación de esquema y vuelve a procesar los eventos con errores.
  • No todos los cambios en el esquema de origen se pueden detectar automáticamente, en cuyo caso pueden ocurrir daños en los datos. Los siguientes cambios de esquema pueden causar daños en los datos o que no se puedan procesar los eventos en etapas posteriores:
    • Descarta columnas
    • Agregar columnas en medio de una tabla
    • Cambiar el tipo de datos de una columna
    • Reordenar las columnas
    • Eliminación de tablas (relevantes si la misma tabla se vuelve a crear tras agregar datos nuevos)
    • Truncar tablas
  • Datastream no admite la replicación de vistas.
  • Datastream admite vistas materializadas. Sin embargo, las vistas nuevas creadas mientras se ejecuta la transmisión no se reabastecen automáticamente.
  • Las instrucciones SAVEPOINT no son compatibles y pueden causar discrepancias en los datos en caso de una reversión.
  • Datastream admite las siguientes codificaciones de grupo de caracteres para bases de datos de Oracle:
    • AL16UTF16
    • AL32UTF8
    • IN8ISCII
    • JA16SJIS
    • JA16SJISTILDE
    • US7ASCII
    • UTF8
    • WE8ISO8859P1
    • WE8ISO8859P9
    • WE8ISO8859P15
    • WE8MSWIN1252
    • ZHT16BIG5
  • Datastream no admite la replicación de valores de fecha cero. Esas fechas se reemplazan por valores NULL.
  • Generar archivos de registro muy grandes puede hacer que se agote el tiempo de espera de Datastream, lo que puede provocar un error de transmisión. El tamaño recomendado del archivo de registro para rehacer es inferior a 1 GB.
  • Datastream no admite conectividad directa a bases de datos que usan la función de nombre de acceso de cliente único (SCAN) en entornos de Oracle Real Application Clusters (RAC). Para obtener información sobre soluciones posibles, consulta Comportamiento y limitaciones de la fuente de Oracle.