Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta sección, se incluye información sobre lo siguiente:
El comportamiento de Datastream en el manejo de 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 del uso de la base de datos de Oracle como fuente
Comportamiento
Datastream admite dos métodos para extraer los 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 de lectura de registros binarios (versión preliminar), se observa el siguiente comportamiento:
Si hay un retraso en la lectura al extraer los cambios de los archivos de registro en línea, Datastream los extraerá 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 con 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 en el destino los cambios confirmados y, 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 de INSERT revertida, los registros de salida también contendrán una operación de DELETE correspondiente. En este caso, el evento 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 de ROWID para sus operaciones de carga inicial. 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 carga inicial.
Las acciones que pueden cambiar los valores de ROWID 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, es posible que cambie la ubicación física de las filas, lo que generará nuevos valores de ROWID.
Comando ALTER TABLE (...) MOVE: Mover una tabla a otro espacio de tablas puede cambiar el almacenamiento físico y generar cambios en ROWID.
Comando ALTER TABLE (...) SHRINK SPACE: Este comando comprime la tabla, lo que puede provocar que se muevan filas y se vean afectados 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 Flashback:
Comando FLASHBACK TABLE: Restablecer una tabla a un estado anterior implica borrar y volver a insertar filas, lo que crea nuevos valores de ROWID.
FLASHBACK_TRANSACTION_QUERY: Similar a FLASHBACK TABLE. Si se revierten transacciones, se pueden producir cambios en 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 (solo compatible 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 de modo 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
Estas son algunas de las limitaciones conocidas del uso de la base de datos de Oracle como fuente:
Las transmisiones se limitan a 10,000 tablas. Si una transmisión 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 cliente. Ten en cuenta que es posible que el 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, es posible que cambie el ROWID de la fila. Si borras una fila, Oracle puede reasignar su ROWID a una nueva fila 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 y XMLTYPE, y se reemplazan con 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 transmite esas columnas y se reemplazan por valores NULL en el destino. Para obtener más información, consulta Cómo habilitar 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 o UDT, y no se replicará la tabla completa.
La seguridad de etiquetas de Oracle (OLS) no se replica.
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 esquema nuevo mientras aún se aplica el esquema anterior. En este caso, Datastream detecta el cambio de esquema, activa una recuperación del esquema y vuelve a procesar los eventos fallidos.
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
Borrar tablas (relevante si luego 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 se ejecuta la transmisión no se completan automáticamente.
Cuando se usa el método Oracle LogMiner, no se admiten las sentencias SAVEPOINT y pueden causar 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 grupo 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. Estas fechas se reemplazan por valores de NULL.
Datastream no admite la conectividad directa a bases de datos con la función de 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 en espera de Oracle Active Data Guard, Datastream no admite la replicación de datos encriptados.
Limitaciones adicionales cuando se usa el lector binario
El lector binario no admite las siguientes funciones:
Encriptación transparente de bases de datos (TDE)
Compresión híbrida en columnas
Protege archivos
ASM no es compatible con las fuentes de Amazon RDS.
El método de CDC del lector binario no admite Oracle 11g ni versiones anteriores.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eDatastream extracts data changes from Oracle databases using either the Oracle binary log reader or Oracle LogMiner, each with distinct behaviors regarding committed vs.uncommitted transactions and handling of data types.\u003c/p\u003e\n"],["\u003cp\u003eDatastream supports multiple versions of Oracle database, ranging from 11g to 21c, and various deployment types including self-hosted, Amazon RDS, and Oracle Cloud, however Oracle Autonomous Database is not supported.\u003c/p\u003e\n"],["\u003cp\u003eProper configuration of the source Oracle database is required to allow Datastream to stream data, including setting up logging and defining a retention policy.\u003c/p\u003e\n"],["\u003cp\u003eThere are several known limitations when using an Oracle database as a source, such as restrictions on the number of tables, certain data types not being supported, and limitations on schema changes.\u003c/p\u003e\n"],["\u003cp\u003eThe use of the binary reader has additional limitations such as not supporting Transparent Database Encryption, Hybrid Columnar Compression, and Secure files, as well as not being available for Oracle 11g and earlier versions.\u003c/p\u003e\n"]]],[],null,["# Source Oracle database\n\nThis section contains information about:\n\n- The behavior of how Datastream handles data that's being pulled from a source Oracle database\n- The versions of Oracle database that Datastream supports\n- An overview of how to setup a source Oracle database so that data can be streamed from it to a destination\n- Known limitations for using Oracle database as a source\n\nBehavior\n--------\n\nDatastream supports two methods of extracting changes to the data from\nonline redo log files: the Oracle binary log reader\n([Preview](/products#product-launch-stages)) and the Oracle LogMiner.\n\nWith the binary log reader method\n([Preview](/products#product-launch-stages)), the following behavior\nis observed:\n\n- If there's a read lag when extracting the changes from the online log files,\n Datastream extracts the changes from archived log files.\n\n- Datastream replicates only committed changes into the destination.\n Uncommitted or rolled back transactions aren't replicated.\n\n- The binary reader supports replicating Oracle `VARCHAR2` columns longer than\n 4000 characters.\n\nDatastream also supports the [Oracle LogMiner](https://docs.oracle.com/en/database/oracle/oracle-database/18/sutil/oracle-logminer-utility.html#GUID-3417B738-374C-4EE3-B15C-3A66E01AE2B5) feature for exposing changes to the data. The method has the following behavior:\n\n- All schemas or specific schemas from a given database, as well as all tables from the schemas or specific tables, can be selected.\n- All historical data is replicated.\n- All data manipulation language (DML) changes, such as inserts, updates, and deletes from the specified databases and tables, are replicated.\n- Datastream replicates both committed and, in some cases, uncommitted changes into the destination. Datastream reads uncommitted changes. In case of a rollback, the Datastream output records also include the opposite operation. For example, if there's a rolled-back `INSERT` operation, then the output records will also contain a corresponding `DELETE` operation. In this case, the event will appear as a `DELETE` event with only the `ROWID`.\n\n### `ROWID` based backfill\n\nIn Oracle, `ROWID` is a pseudocolumn that stores unique identifiers for rows in a table. Datastream uses the `ROWID` values for its backfill operations. Because of this, we recommend that you don't perform any actions that could change the `ROWID` values in your source Oracle database until the backfill operation completes.\n\nThe actions that can change the `ROWID` values include:\n\n- Physical movement of rows:\n\n - Export and import operations: when you export a table, and then you import it back, the physical location of rows might change, resulting in new `ROWID` values.\n - `ALTER TABLE (...) MOVE` command: moving a table to a different tablespace can change the physical storage and lead to `ROWID` changes.\n - `ALTER TABLE (...) SHRINK SPACE` command: this command compresses the table, potentially moving rows and affecting their `ROWID` values.\n - Partitioning operations: splitting, merging, or moving partitions can change the physical placement of rows and their `ROWID` values.\n- Flashback operations:\n\n - `FLASHBACK TABLE` command: restoring a table to a previous state involves deleting and re-inserting rows, thus creating new `ROWID` values.\n - `FLASHBACK_TRANSACTION_QUERY`: Similar to `FLASHBACK TABLE`. Rolling back a transaction can cause `ROWID` changes if rows were deleted or updated within the transaction.\n\nVersions\n--------\n\nDatastream supports the following versions of Oracle database:\n\n- Oracle 11g, Version 11.2.0.4 (supported only with the Logminer CDC method)\n- Oracle 12c, Version 12.1.0.2\n- Oracle 12c, Version 12.2.0.1\n- Oracle 18c\n- Oracle 19c\n- Oracle 21c\n\nDatastream supports the following types of Oracle database:\n\n- Self-hosted on-premises or on any cloud provider\n- Amazon RDS for Oracle\n- Oracle Cloud\n- Oracle Exadata\n- Oracle RAC\n- Oracle Active Data Guard standby database\n\nSetup\n-----\n\nTo set up a source Oracle database so that data from it can be streamed into a destination, you must configure the database to grant access, set up logging, and define a retention policy.\n\nSee [Configure a source Oracle database](/datastream/docs/configure-your-source-oracle-database) to learn how to configure this database so that Datastream can pull data from it into a destination.\n\nKnown limitations\n-----------------\n\nKnown limitations for using Oracle database as a source include:\n\n- Streams are limited to 10,000 tables. If a stream includes more than 10,000 tables, then it might run into errors.\n- Datastream supports Oracle multi-tenant architecture (CDB/PDB), however, you can only replicate a single pluggable database in a stream.\n- Oracle Autonomous Database isn't supported.\n- For tables that don't have a primary key, Datastream uses the row's [`ROWID`](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROWID-Pseudocolumn.html) to perform a merge operation on the consumer side. Note that the `ROWID` might not be unique. If you delete and reinsert a row with [Oracle's Export/Import utility](https://docs.oracle.com/en/database/other-databases/nosql-database/21.2/admin/using-export-and-import-utilities.html), for example, then the row's `ROWID` might change. If you delete a row, then Oracle can reassign its `ROWID` to a new row inserted later.\n- Index-organized tables (IOTs) aren't supported.\n- Temporary tables aren't supported.\n- Columns of data types `ANYDATA`, `BFILE`, `INTERVAL DAY TO SECOND`, `INTERVAL YEAR TO MONTH`, `LONG/LONG RAW`, `SDO_GEOMETRY`, `UDT`, `UROWID`, `XMLTYPE` aren't supported, and are replaced with `NULL` values.\n- To stream columns of large object data types, such as binary large objects (`BLOB`), character large objects (`CLOB`) and national character large objects (`NCLOB`), you need to include the `streamLargeObjects` flag in your stream configuration. If you don't include the flag, Datastream doesn't stream such columns and they're replaced with `NULL` values in the destination. For more information, see [Enable streaming of large objects for Oracle sources](/datastream/docs/manage-streams#streamlargeobjects).\n- For Oracle 11g, tables that have columns of data types `ANYDATA` or `UDT` aren't supported, and the entire table won't be replicated.\n- Oracle Label Security (OLS) isn't replicated.\n- Datastream periodically fetches the latest schema from the source as events are processed. If a schema changes, then some events from the new schema might be read while the old schema is still applied. In this case, Datastream detects the schema change, triggers a schema fetch, and reprocesses the failed events.\n- Not all changes to the source schema can be detected automatically, in which case data corruption may occur. The following schema changes may cause data corruption or failure to process the events downstream:\n - Dropping columns\n - Adding columns to the middle of a table\n - Changing the data type of a column\n - Reordering columns\n - Dropping tables (relevant if the same table is then recreated with new data added)\n - Truncating tables\n- Datastream doesn't support replicating views.\n- Datastream supports materialized views. However, new views created while the stream is running aren't backfilled automatically.\n- When using the Oracle LogMiner method, [`SAVEPOINT` statements](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10001.htm) aren't supported and can cause data discrepancy in case of a rollback.\n- When using the Oracle LogMiner method, Datastream doesn't support replicating tables and columns whose names exceed 30 characters.\n- Datastream supports the following character set encodings for Oracle databases:\n - `AL16UTF16`\n - `AL32UTF8`\n - `IN8ISCII`\n - `IW8ISO8859P8`\n - `JA16SJIS`\n - `JA16SJISTILDE`\n - `KO16MSWIN949`\n - `US7ASCII`\n - `UTF8`\n - `WE8ISO8859P1`\n - `WE8ISO8859P9`\n - `WE8ISO8859P15`\n - `WE8MSWIN1252`\n - `ZHT16BIG5`\n- Datastream doesn't support replicating zero date values. Such dates are replaced with `NULL` values.\n- Datastream doesn't support direct connectivity to databases using the Single Client Access Name (SCAN) feature in Oracle Real Application Clusters (RAC) environments. For information about potential solutions, see [Oracle source behavior and limitations](/datastream/docs/faq#oracle-source).\n- If the source is an Oracle Active Data Guard standby database, Datastream doesn't support replicating encrypted data.\n\nAdditional limitations when using the binary reader\n---------------------------------------------------\n\n|\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\n- Binary reader doesn't support the following features:\n\n - Transparent Database Encryption (TDE)\n - Hybrid Columnar Compression\n - Secure files\n - ASM isn't supported for Amazon RDS sources.\n - The binary reader CDC method doesn't support Oracle 11g and earlier versions.\n\nWhat's next\n-----------\n\n- Learn how to [configure an Oracle source](/datastream/docs/configure-your-source-oracle-database) for use with Datastream."]]