Esta sección contiene información sobre lo siguiente:
- El comportamiento de Datastream al gestionar los datos que se extraen de una base de datos de Oracle de origen
- Versiones de la base de datos de Oracle compatibles con Datastream
- Descripción general de cómo configurar una base de datos de Oracle de origen para que se puedan transmitir datos desde ella a un destino
- Limitaciones conocidas al usar una base de datos de Oracle como origen
Comportamiento
Datastream admite dos métodos para extraer los cambios de los datos de los archivos de registro de rehacer online: el lector de registros binarios de Oracle (vista previa) y Oracle LogMiner.
Con el método de lectura de registros binarios (vista previa), se observa el siguiente comportamiento:
Si hay un retraso de lectura al extraer los cambios de los archivos de registro online, Datastream extraerá los cambios de los archivos de registro archivados.
Datastream solo replica en el destino los cambios confirmados. Las transacciones no confirmadas o restauradas no se replican.
El lector binario admite la replicación de columnas
VARCHAR2
de Oracle con más de 4000 caracteres.
Datastream también admite la función Oracle LogMiner para mostrar los cambios en los datos. El método se comporta de la siguiente manera:
- Se pueden seleccionar todos los esquemas o 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 del lenguaje de manipulación de datos (DML), como las inserciones, las actualizaciones y las eliminaciones de las bases de datos y las tablas especificadas.
- Datastream replica en el destino tanto los cambios confirmados como, en algunos casos, los no confirmados. Datastream lee los cambios no confirmados. En caso de 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ónDELETE
correspondiente. En este caso, el evento aparecerá como un eventoDELETE
con solo elROWID
.
Reposición basada en ROWID
En Oracle, ROWID
es una pseudocolumna que almacena identificadores únicos de las filas de una tabla. Datastream usa los valores de ROWID
para sus operaciones de relleno. Por este motivo, le recomendamos que no realice ninguna acción que pueda cambiar los valores de ROWID
en su base de datos Oracle de origen hasta que se complete la operación de relleno.
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, después, la vuelves a importar, la ubicación física de las filas puede cambiar, lo que da lugar a nuevos valores de
ROWID
. - Comando
ALTER TABLE (...) MOVE
: mover una tabla a otro espacio de tablas puede cambiar el almacenamiento físico y provocar cambios enROWID
. ALTER TABLE (...) SHRINK SPACE
Comando: este comando comprime la tabla, lo que puede provocar que se muevan filas y que se vean afectados sus valores deROWID
.- 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 importación y exportación: cuando exportas una tabla y, después, la vuelves a importar, la ubicación física de las filas puede cambiar, lo que da lugar a nuevos valores de
Operaciones de Flashback:
FLASHBACK TABLE
: para restaurar una tabla a un estado anterior, se eliminan y se vuelven a insertar las filas, lo que crea nuevos valores deROWID
.FLASHBACK_TRANSACTION_QUERY
: similar aFLASHBACK TABLE
. Si se revierte una transacción, se pueden producirROWID
cambios si se han eliminado o actualizado 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 (solo compatible con el método CDC de Logminer)
- 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 Oracle:
- Servidores propios on-premise o en cualquier proveedor de servicios en la nube
- Amazon RDS para Oracle
- Nube de Oracle
- Oracle Exadata
- Oracle RAC
- Base de datos de espera de Oracle Active Data Guard
Configuración
Para configurar una base de datos Oracle de origen de forma que se puedan transmitir datos a un destino, debes configurar la base de datos para conceder acceso, configurar el registro y definir una política de conservación.
Consulte el artículo Configurar una base de datos de Oracle de origen para saber cómo configurar esta base de datos de forma que Datastream pueda extraer datos de ella y enviarlos a un destino.
Limitaciones conocidas
Estas son algunas de las limitaciones conocidas al usar una base de datos de Oracle como fuente:
- Las secuencias tienen un límite de 10.000 tablas. Si una secuencia incluye más de 10.000 tablas, es posible que se produzcan errores.
- Datastream admite la arquitectura multiinquilino de Oracle (CDB/PDB). Sin embargo, solo puede replicar una base de datos conectable en un flujo.
- No se admite Oracle Autonomous Database.
- En las tablas que no tienen una clave principal, Datastream usa el
ROWID
de la fila para realizar una operación de combinación en el lado del consumidor. Ten en cuenta que elROWID
puede no ser único. Por ejemplo, si eliminas y vuelves a insertar una fila con la utilidad de exportación/importación de Oracle, es posible que cambie elROWID
de la fila. Si elimina una fila, Oracle puede reasignar suROWID
a una nueva fila insertada más adelante. - No se admiten tablas organizadas por índice (IOTs).
- No se admiten tablas temporales.
- No se admiten las columnas de los tipos de datos
ANYDATA
,BFILE
,INTERVAL DAY TO SECOND
,INTERVAL YEAR TO MONTH
,LONG/LONG RAW
,SDO_GEOMETRY
,UDT
,UROWID
yXMLTYPE
, y se sustituyen por valoresNULL
. - 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
), debe incluir la marcastreamLargeObjects
en la configuración de la transmisión. Si no incluye la marca, Datastream no transmite esas columnas y se sustituyen por valoresNULL
en el destino. Para obtener más información, consulta Habilitar la transmisión de objetos grandes en fuentes de Oracle. - En Oracle 11g, no se admiten las tablas que tengan columnas de los tipos de datos
ANYDATA
oUDT
, y no se replicará toda la tabla. - Oracle Label Security (OLS) no se replica.
- Datastream obtiene periódicamente el esquema más reciente de la fuente a medida que se procesan los eventos. Si cambia un esquema, es posible que se lean algunos eventos del nuevo esquema mientras se sigue aplicando el antiguo. En este caso, Datastream detecta el cambio de esquema, activa una obtención de esquema y vuelve a procesar los eventos fallidos.
- No todos los cambios en el esquema de origen se pueden detectar automáticamente, por lo que puede que los datos se dañen. Los siguientes cambios en el esquema pueden provocar que los datos se dañen o que no se puedan procesar los eventos posteriores:
- Eliminar columnas
- Añadir columnas en medio de una tabla
- Cambiar el tipo de datos de una columna
- Reordenar columnas
- Eliminar tablas (es relevante si la misma tabla se vuelve a crear con nuevos datos añadidos)
- Truncar tablas
- Datastream no admite la replicación de vistas.
- Datastream admite vistas materializadas. Sin embargo, las vistas que se creen mientras la emisión esté activa no se rellenarán automáticamente.
- Cuando se usa el método Oracle LogMiner, no se admiten las instrucciones
SAVEPOINT
y pueden provocar discrepancias en los datos en caso de reversión. - Cuando se usa el método Oracle LogMiner, Datastream no admite la replicación de tablas y columnas cuyos nombres superen los 30 caracteres.
- Datastream 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
- Datastream no admite la replicación de valores de fecha cero. Esas fechas se sustituyen por valores
NULL
. - Datastream no admite la conectividad directa a bases de datos mediante la función Single Client Access Name (SCAN) en entornos de Oracle Real Application Clusters (RAC). Para obtener información sobre posibles soluciones, consulta Comportamiento y limitaciones de las fuentes de Oracle.
- Si la fuente es una base de datos de reserva de Oracle Active Data Guard, Datastream no admite la replicación de datos cifrados.
Limitaciones adicionales al usar el lector binario
El lector binario no admite las siguientes funciones:
- Cifrado de bases de datos transparente (TDE)
- Compresión columnar híbrida
- Archivos seguros
- ASM no se admite en las fuentes de Amazon RDS.
- El método CDC del lector binario no es compatible con Oracle 11g ni con versiones anteriores.
Siguientes pasos
- Consulta cómo configurar un origen de Oracle para usarlo con DataStream.