Base de datos de Oracle de origen

En esta sección, se incluye información sobre lo siguiente:

  • El comportamiento de cómo Datastream controla los datos que se extraen de una base de datos de origen de Oracle
  • 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.
  • Todos los datos históricos se replican.
  • Se replican todos los cambios en el lenguaje de manipulación de datos (DML), como inserciones, actualizaciones y eliminaciones de las bases de datos y tablas especificadas.
  • Datastream replica en el destino los cambios confirmados y, en algunos casos, no confirmados. 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, aparecerá como un evento DELETE con solo el ROWID.

Reabastecimiento basado en ROWID

En Oracle, ROWID es una seudocolumna que almacena identificadores únicos para las filas de una tabla. Datastream usa los valores ROWID para sus operaciones de reabastecimiento. Debido a esto, te recomendamos que no realices ninguna acción que pueda cambiar los valores ROWID en tu base de datos de origen de Oracle 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 genera nuevos valores de ROWID.
    • Comando ALTER TABLE (...) MOVE: Mover una tabla a un espacio de tabla diferente puede cambiar el almacenamiento físico y generar cambios en ROWID.
    • Comando ALTER TABLE (...) SHRINK SPACE: Este comando comprime la tabla, por lo que es posible que mueva filas y afecte sus valores de ROWID.
    • Operaciones de partición: dividir, combinar o mover particiones pueden cambiar la ubicación física de las filas y sus valores de ROWID.
  • Operaciones de Flashback:

    • Comando FLASHBACK TABLE: Restablecer una tabla a un estado anterior implica borrar y volver a insertar filas, lo que crea valores ROWID nuevos.
    • FLASHBACK_TRANSACTION_QUERY: Es similar a FLASHBACK TABLE. La reversión de una transacción puede provocar cambios de ROWID si se borraron o actualizaron filas dentro de 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:

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

Configuración

Para configurar una base de datos de Oracle de origen a fin de que los datos de esta se puedan transmitir a un destino, debes configurar la base de datos para otorgar acceso, establecer el registro, definir una política de retención, etcétera.

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

Limitaciones conocidas

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

  • Una tabla con 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 un árbol B, que es un índice predeterminado. El índice puede ser compuesto.
    3. El índice no se puede revertir.
    4. El índice no puede contener una columna basada en funciones.
    5. Ninguna de las columnas del índice puede anularse.
    6. El índice no incluye una columna de tipo DATE que contiene 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 base de datos conectable única en una transmisión.
  • No se admite la base de datos autónoma de Oracle.
  • 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 lado del consumidor. Ten en cuenta que el ROWID podría no ser único. Por ejemplo, si borras una fila y la vuelves a insertar con la utilidad Export/Import de Oracle, es posible que cambie el ROWID de la fila. Si borras una fila, Oracle puede reasignar su ROWID a una fila nueva que se insertará más tarde.
  • No se admiten las tablas organizadas por índices (IOT).
  • Las tablas temporales no son compatibles.
  • Para las columnas de tipo BFILE, solo se replica la ruta de acceso al archivo. El contenido del archivo no se replica.
  • 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 no son compatibles y se reemplazan por valores NULL.
  • Para transmitir columnas de tipos de datos de objetos grandes, como objetos binarios grandes (BLOB), objetos grandes con caracteres (CLOB) y objetos grandes de caracteres nacionales (NCLOB), debes incluir la marca streamLargeObjects en la configuración de la transmisión. Si no incluyes la marca, Datastream no transmite esas columnas y se reemplazan por valores NULL en el destino. Si deseas obtener más información, consulta Habilita la transmisión de objetos grandes para fuentes de Oracle.
  • Para Oracle 11g, las tablas que tienen columnas de los tipos de datos ANYDATA o UDT no son compatibles, y no se replicará toda la tabla.
  • La seguridad de etiquetas de Oracle (OLS) no se replica.
  • Datastream recupera de forma periódica el esquema más reciente de la fuente a medida que se procesan los eventos. Si un esquema cambia, es posible que se lean algunos eventos del esquema nuevo mientras aún 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
    • Eliminar tablas (relevante si la misma tabla se vuelve a crear con nuevos datos agregados)
    • Truncar tablas
  • Datastream no admite la replicación de vistas.
  • Datastream admite vistas materializadas. Sin embargo, las vistas nuevas que se creen mientras se ejecuta la transmisión no se reabastecerán automáticamente.
  • Las declaraciones SAVEPOINT no son compatibles y pueden causar discrepancias de datos en caso de una reversión.
  • Datastream admite las siguientes codificaciones de grupo de caracteres para las 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.
  • La generación de 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 de archivo de registro de rehacer es inferior a 1 GB.
  • Datastream no admite la conectividad directa a bases de datos mediante la función de nombre de acceso de cliente único (SCAN) en entornos de clústeres de aplicaciones reales (RAC) de Oracle. Para obtener información sobre posibles soluciones, consulta Comportamiento y limitaciones de la fuente de Oracle.