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 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
Datastream admite dos métodos para extraer cambios en los datos de los archivos de registro de rehacer en línea: el lector de registros binarios de Oracle (versión preliminar) y Oracle LogMiner.
Con el método del lector de registros binarios (Versión preliminar), se observa el siguiente comportamiento:
Si hay un retraso de lectura cuando se extraen los cambios de los archivos de registro en línea, Datastream extrae los cambios de los archivos de registro archivados.
Datastream solo replica los cambios confirmados en el destino. Las transacciones no confirmadas o revertidas no se replican.
El lector binario admite la replicación de columnas
VARCHAR2
de Oracle de más de 4,000 caracteres.
Datastream también admite la función Oracle LogMiner para exponer los cambios en los datos. El método tiene el siguiente comportamiento:
- 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 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 los cambios confirmados y, en algunos casos, los cambios no confirmados en el destino. Datastream lee 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ónDELETE
correspondiente. En este caso, el evento aparecerá como un eventoDELETE
con solo elROWID
.
Reabastecimiento basado en ROWID
En Oracle, ROWID
es una pseudocolumna que almacena identificadores únicos para las filas de una tabla. Datastream usa los valores 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 filas:
- Operaciones de exportación e importación: Cuando exportas una tabla y, luego, la vuelves a importar, es posible que cambie la ubicación física de las filas, lo que genera valores
ROWID
nuevos. - Comando
ALTER TABLE (...) MOVE
: Mover una tabla a un espacio de tabla diferente puede cambiar el almacenamiento físico y provocar cambios enROWID
. - Comando
ALTER TABLE (...) SHRINK SPACE
: Este comando comprime la tabla, lo que puede mover filas y afectar sus valoresROWID
. - Operaciones de particionamiento: Dividir, combinar o mover particiones puede cambiar la ubicación física de las filas y sus valores
ROWID
.
- Operaciones de exportación e importación: Cuando exportas una tabla y, luego, la vuelves a importar, es posible que cambie la ubicación física de las filas, lo que genera valores
Operaciones de Flashback:
- Comando
FLASHBACK TABLE
: Restaurar una tabla a un estado anterior implica borrar y volver a insertar filas, lo que crea valoresROWID
nuevos. FLASHBACK_TRANSACTION_QUERY
: Similar aFLASHBACK TABLE
. La reversión de una transacción puede provocar cambios enROWID
si se borraron o actualizaron filas dentro de la transacción.
- Comando
Versiones
Datastream admite las siguientes versiones de la base de datos de Oracle:
- Oracle 11g, versión 11.2.0.4 (solo se admite con el método de 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 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
- Base de datos en espera de Oracle Active Data Guard
Configuración
Para configurar una base de datos de Oracle de origen para que los datos se puedan transmitir a un destino, debes configurar la base de datos para otorgar acceso, configurar el registro y definir una política de retención.
Consulta Configura una base de datos de Oracle de origen para obtener información sobre cómo 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:
- Las transmisiones se limitan a 10,000 tablas. Si un flujo incluye más de 10,000 tablas, es posible que se produzcan errores.
- Datastream admite la arquitectura multiusuario de Oracle (CDB/PDB). Sin embargo, solo puedes replicar una sola base de datos conectable 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 en el lado del consumidor. Ten en cuenta que es posible queROWID
no sea único. Por ejemplo, si borras y vuelves a insertar una fila con la utilidad de Importación/Exportación de Oracle, es posible que cambie elROWID
de la fila. Si borras una fila, Oracle puede reasignar suROWID
a una fila nueva que se inserte más adelante. - No se admiten las tablas organizadas por índices (IOT).
- Las tablas temporales no son compatibles.
- No se admiten las columnas de tipos de datos
ANYDATA
,BFILE
,INTERVAL DAY TO SECOND
,INTERVAL YEAR TO MONTH
,LONG/LONG RAW
,SDO_GEOMETRY
,UDT
,UROWID
yXMLTYPE
, y se reemplazan con valoresNULL
. - Para transmitir columnas de tipos de datos de objetos grandes, como objetos grandes binarios (
BLOB
), objetos grandes de caracteres (CLOB
) y objetos grandes de caracteres nacionales (NCLOB
), debes incluir la marcastreamLargeObjects
en la configuración de la transmisión. Si no incluyes la marca, Datastream no transmitirá esas columnas y se reemplazarán por valoresNULL
en el destino. Para obtener más información, consulta Habilita la transmisión de objetos grandes para fuentes de Oracle. - En el caso de Oracle 11g, no se admiten las tablas que tienen columnas de tipos de datos
ANYDATA
oUDT
, y no se replicará toda la tabla. - No se replica la seguridad de etiquetas de Oracle (OLS).
- Datastream recupera 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 el esquema anterior aún se aplica. 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 (relevante si se vuelve a crear la misma tabla con datos nuevos)
- Truncar tablas
- Datastream no admite la replicación de vistas.
- Datastream admite vistas materializadas. Sin embargo, las vistas nuevas que se crean mientras la transmisión está en ejecución no se reabastecen automáticamente.
- Cuando se usa el método Oracle LogMiner, no se admiten las sentencias
SAVEPOINT
y pueden causar discrepancias de datos en caso de una reversión. - Datastream admite las siguientes codificaciones de conjuntos 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
. - La generación de archivos de registro muy grandes puede hacer que se agote el tiempo de espera de Datastream, lo que puede provocar fallas en la transmisión. El tamaño recomendado del archivo de registro de rehacer es inferior a 1 GB.
- Datastream no admite la conectividad directa a bases de datos con la función Nombre de acceso de cliente único (SCAN) en entornos de Oracle Real Application Clusters (RAC). Para obtener información sobre posibles soluciones, consulta Comportamiento y limitaciones de la fuente de Oracle.
- Si la fuente es una base de datos de Oracle Active Data Guard en espera, Datastream no admite la replicación de datos encriptados.
Limitaciones adicionales cuando se usa el lector de objetos binarios
El lector de objetos binarios no admite las siguientes funciones:
- Encriptación de base de datos transparente (TDE)
- Compresión híbrida en columnas
- Protege archivos
- El método de CDC del lector binario no admite la recuperación de transmisiones.
- ASM no es compatible con las fuentes de Amazon RDS.
- El método de CDC del lector binario no es compatible con Oracle 11g y versiones anteriores.
¿Qué sigue?
- Obtén información para configurar una fuente de Oracle para usarla con Datastream.