Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette section contient des informations sur les éléments suivants :
Comportement de Datastream concernant la gestion des données extraites d'une base de données Oracle source
Versions de la base de données Oracle compatibles avec Datastream
Présentation de la configuration d'une base de données Oracle source afin que les données puissent être diffusées en streaming vers une destination
Limites connues de l'utilisation de la base de données Oracle en tant que source
Comportement
Datastream est compatible avec deux méthodes d'extraction des modifications apportées aux données à partir des fichiers journaux de rétablissement en ligne : le lecteur de journaux binaires Oracle (aperçu) et Oracle LogMiner.
Avec la méthode du lecteur de journaux binaires (aperçu), le comportement suivant est observé :
En cas de latence de lecture lors de l'extraction des modifications à partir des fichiers journaux en ligne, Datastream extrait les modifications à partir des fichiers journaux archivés.
Datastream ne réplique que les modifications validées dans la destination.
Les transactions non validées ou annulées ne sont pas répliquées.
Le lecteur binaire permet de répliquer les colonnes VARCHAR2 Oracle de plus de 4 000 caractères.
Datastream est également compatible avec la fonctionnalité Oracle LogMiner pour exposer les modifications apportées aux données. La méthode présente le comportement suivant :
Vous pouvez sélectionner tous les schémas ou des schémas spécifiques d'une base de données donnée, ainsi que toutes les tables des schémas ou des tables spécifiques.
Toutes les données historiques sont répliquées.
Toutes les modifications apportées au langage de manipulation de données (LMD), telles que les insertions, les mises à jour et les suppressions des bases de données et tables spécifiées, sont répliquées.
Datastream réplique les modifications validées et, dans certains cas, non validées dans la destination. Datastream lit les modifications non validées. En cas de restauration, les enregistrements de sortie Datastream incluent également l'opération inverse. Par exemple, si une opération INSERT a été annulée, les enregistrements de sortie contiendront également une opération DELETE correspondante. Dans ce cas, l'événement s'affiche en tant qu'événement DELETE avec uniquement ROWID.
Remplissage basé sur ROWID
Dans Oracle, ROWID est une pseudocolonne qui stocke des identifiants uniques pour les lignes d'une table. Datastream utilise les valeurs ROWID pour ses opérations de remplissage. Pour cette raison, nous vous recommandons de ne pas effectuer d'actions susceptibles de modifier les valeurs ROWID dans votre base de données Oracle source tant que l'opération de remplissage n'est pas terminée.
Voici les actions qui peuvent modifier les valeurs ROWID :
Déplacement physique des lignes :
Opérations d'exportation et d'importation : lorsque vous exportez une table, puis que vous l'importez à nouveau, l'emplacement physique des lignes peut changer, ce qui entraîne de nouvelles valeurs ROWID.
Commande ALTER TABLE (...) MOVE : le déplacement d'une table vers un autre espace de tables peut modifier le stockage physique et entraîner des modifications ROWID.
Commande ALTER TABLE (...) SHRINK SPACE : cette commande compresse le tableau, ce qui peut entraîner le déplacement de lignes et affecter leurs valeurs ROWID.
Opérations de partitionnement : la division, la fusion ou le déplacement de partitions peuvent modifier l'emplacement physique des lignes et leurs valeurs ROWID.
Opérations de retour en arrière :
Commande FLASHBACK TABLE : la restauration d'une table à un état antérieur implique la suppression et la réinsertion de lignes, ce qui crée de nouvelles valeurs ROWID.
FLASHBACK_TRANSACTION_QUERY : semblable à FLASHBACK TABLE. L'annulation d'une transaction peut entraîner des modifications de ROWID si des lignes ont été supprimées ou mises à jour au cours de la transaction.
Versions
Datastream est compatible avec les versions suivantes de la base de données Oracle :
Oracle 11g, version 11.2.0.4 (compatible uniquement avec la méthode CDC Logminer)
Oracle 12c, version 12.1.0.2
Oracle 12c, version 12.2.0.1
Oracle 18c
Oracle 19c
Oracle 21c
Datastream est compatible avec les types de bases de données Oracle suivants :
Auto-hébergé sur site ou chez n'importe quel fournisseur de services cloud
Amazon RDS pour Oracle
Oracle Cloud
Oracle Exadata
Oracle RAC
Base de données de secours Oracle Active Data Guard
Configuration
Pour configurer une base de données Oracle source afin que ses données puissent être diffusées vers une destination, vous devez configurer la base de données pour accorder l'accès, configurer la journalisation et définir une règle de conservation.
Pour savoir comment configurer cette base de données afin que Datastream puisse en extraire des données dans une destination, consultez Configurer une base de données Oracle source.
Limitations connues
Les limites connues d'utilisation de la base de données Oracle en tant que source incluent les suivantes :
Les flux sont limités à 10 000 tables. Si un flux inclut plus de 10 000 tables, des erreurs peuvent se produire.
Datastream est compatible avec l'architecture mutualisée Oracle (CDB/PDB). Toutefois, vous ne pouvez répliquer qu'une seule base de données connectable dans un flux.
Oracle Autonomous Database n'est pas compatible.
Pour les tables sans clé primaire, Datastream utilise le ROWID de la ligne pour effectuer une opération de fusion côté consommateur. Notez que le ROWID n'est pas forcément unique. Si vous supprimez et réinsérez une ligne avec l'utilitaire d'exportation/d'importation d'Oracle, par exemple, le ROWID de la ligne peut changer. Si vous supprimez une ligne, Oracle peut réaffecter son ROWID à une nouvelle ligne insérée ultérieurement.
Les tables organisées en index (IOT) ne sont pas acceptées.
Les tables temporaires ne sont pas acceptées.
Les colonnes des types de données ANYDATA, BFILE, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, SDO_GEOMETRY, UDT, UROWID et XMLTYPE ne sont pas acceptées et sont remplacées par des valeurs NULL.
Pour diffuser des colonnes de types de données d'objets volumineux, tels que les objets binaires volumineux (BLOB), les objets volumineux de caractères (CLOB) et les objets volumineux de caractères nationaux (NCLOB), vous devez inclure l'indicateur streamLargeObjects dans la configuration de votre flux. Si vous n'incluez pas l'indicateur, Datastream ne diffuse pas ces colonnes, qui sont remplacées par des valeurs NULL dans la destination. Pour en savoir plus, consultez Activer le streaming d'objets volumineux pour les sources Oracle.
Pour Oracle 11g, les tables comportant des colonnes de types de données ANYDATA ou UDT ne sont pas acceptées, et la table entière ne sera pas répliquée.
Oracle Label Security (OLS) n'est pas répliqué.
Datastream récupère régulièrement le dernier schéma de la source à mesure que les événements sont traités. Si un schéma change, certains événements du nouveau schéma peuvent être lus alors que l'ancien schéma est toujours appliqué. Dans ce cas, Datastream détecte la modification du schéma, déclenche une récupération du schéma et retraite les événements ayant échoué.
Certaines modifications apportées au schéma source ne peuvent pas être détectées automatiquement, ce qui peut provoquer une corruption des données. Les modifications de schéma suivantes peuvent entraîner une corruption des données ou l'échec du traitement des événements en aval :
Supprimer des colonnes
Ajout de colonnes au milieu d'une table
Changement du type de données d'une colonne
Réorganisation des colonnes
Suppression de tables (pertinente si la même table est ensuite recréée avec de nouvelles données ajoutées)
Troncation de tables
Datastream n'accepte pas la réplication des vues.
Datastream est compatible avec les vues matérialisées. Toutefois, les vues créées pendant la diffusion du flux ne sont pas automatiquement remplies.
Lorsque vous utilisez la méthode Oracle LogMiner, les instructions SAVEPOINT ne sont pas acceptées et peuvent entraîner des écarts de données en cas de rollback.
Lorsque vous utilisez la méthode Oracle LogMiner, Datastream ne permet pas de répliquer les tables et les colonnes dont les noms dépassent 30 caractères.
Datastream est compatible avec les encodages de jeu de caractères suivants pour les bases de données Oracle :
AL16UTF16
AL32UTF8
IN8ISCII
IW8ISO8859P8
JA16SJIS
JA16SJISTILDE
KO16MSWIN949
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
Datastream n'accepte pas la réplication des valeurs de date nulles. Ces dates sont remplacées par des valeurs NULL.
Datastream n'est pas compatible avec la connectivité directe aux bases de données à l'aide de la fonctionnalité SCAN (Single Client Access Name) dans les environnements Oracle RAC (Real Application Clusters). Pour en savoir plus sur les solutions potentielles, consultez Comportement et limites de la source Oracle.
Si la source est une base de données de secours Oracle Active Data Guard, Datastream n'est pas compatible avec la réplication des données chiffrées.
Limites supplémentaires lors de l'utilisation du lecteur binaire
Le lecteur binaire n'est pas compatible avec les fonctionnalités suivantes :
Chiffrement transparent des données (TDE)
Compression en colonnes hybrides
Sécuriser des fichiers
ASM n'est pas compatible avec les sources Amazon RDS.
La méthode CDC du lecteur binaire n'est pas compatible avec Oracle 11g ni les versions antérieures.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]