Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Dieser Abschnitt enthält Informationen über:
Der Umgang von Datastream mit Daten, die aus einer Oracle-Quelldatenbank abgerufen werden
Die von Datastream unterstützten Versionen der Oracle-Datenbank
Eine Übersicht über das Einrichten einer Oracle-Quelldatenbank, damit Daten daraus an ein Ziel gestreamt werden können
Bekannte Einschränkungen bei Verwendung der Oracle-Datenbank als Quelle
Verhalten
Datastream unterstützt zwei Methoden zum Extrahieren von Änderungen an den Daten aus Online-Redo-Logdateien: das Oracle-Binärlog-Leseprogramm (Vorabversion) und Oracle LogMiner.
Bei der Methode „Binäres Log lesen“ (Vorschau) wird das folgende Verhalten beobachtet:
Wenn beim Extrahieren der Änderungen aus den Online-Logdateien eine Leseverzögerung auftritt, extrahiert Datastream die Änderungen aus archivierten Logdateien.
Datastream repliziert nur Änderungen, für die ein Commit durchgeführt wurde, in das Ziel.
Nicht festgeschriebene oder zurückgesetzte Transaktionen werden nicht repliziert.
Das binäre Leseprogramm unterstützt die Replikation von Oracle-VARCHAR2-Spalten mit einer Länge von mehr als 4.000 Zeichen.
Datastream unterstützt auch das Oracle LogMiner-Feature, um Änderungen an den Daten aufzuzeigen. Die Methode hat das folgende Verhalten:
Es können alle Schemas oder bestimmte Schemas einer bestimmten Datenbank sowie alle Tabellen der Schemas oder bestimmte Tabellen ausgewählt werden.
Alle Verlaufsdaten werden repliziert.
Alle DML-Änderungen (Data Manipulation Language, DML) wie Einfügungen, Aktualisierungen und Löschungen aus den angegebenen Datenbanken und Tabellen werden repliziert.
Datastream repliziert sowohl Änderungen, für die ein Commit durchgeführt wurde, also auch (in einigen Fällen) Änderungen, für die kein Commit durchgeführt wurde. Datastream liest Änderungen, für die kein Commit durchgeführt wurde. Bei einem Rollback enthalten die Datastream-Ausgabedatensätze auch den umgekehrten Vorgang. Wenn es beispielsweise einen Rollback-Vorgang INSERT gibt, enthalten die Ausgabedatensätze auch einen entsprechenden DELETE-Vorgang. In diesem Fall wird das Ereignis als DELETE-Ereignis angezeigt, das nur ROWID enthält.
ROWID-basierter Backfill
In Oracle ist ROWID eine Pseudospalte, in der eindeutige Kennungen für Zeilen in einer Tabelle gespeichert werden. Datastream verwendet die ROWID-Werte für seine Backfill-Vorgänge. Aus diesem Grund empfehlen wir, bis zum Abschluss des Backfill-Vorgangs keine Aktionen auszuführen, die die ROWID-Werte in Ihrer Oracle-Quelldatenbank ändern könnten.
Die Aktionen, die die ROWID-Werte ändern können, sind:
Physische Bewegung von Zeilen:
Export- und Importvorgänge: Wenn Sie eine Tabelle exportieren und dann wieder importieren, kann sich der physische Speicherort von Zeilen ändern, was zu neuen ROWID-Werten führt.
ALTER TABLE (...) MOVE-Befehl: Wenn Sie eine Tabelle in einen anderen Tabellenbereich verschieben, kann sich der physische Speicher ändern und zu ROWID-Änderungen führen.
ALTER TABLE (...) SHRINK SPACE-Befehl: Mit diesem Befehl wird die Tabelle komprimiert. Dabei werden möglicherweise Zeilen verschoben, was sich auf ihre ROWID-Werte auswirkt.
Partitionierungsvorgänge: Durch das Aufteilen, Zusammenführen oder Verschieben von Partitionen kann sich die physische Platzierung von Zeilen und deren ROWID-Werte ändern.
Flashback-Vorgänge:
FLASHBACK TABLE-Befehl: Wenn Sie eine Tabelle in einen früheren Zustand zurückversetzen, werden Zeilen gelöscht und neu eingefügt. Dadurch werden neue ROWID-Werte erstellt.
FLASHBACK_TRANSACTION_QUERY: Ähnlich wie FLASHBACK TABLE. Wenn Sie eine Transaktion rückgängig machen, kann dies zu ROWID-Änderungen führen, wenn Zeilen innerhalb der Transaktion gelöscht oder aktualisiert wurden.
Versionen
Datastream unterstützt die folgenden Versionen der Oracle-Datenbank:
Oracle 11g, Version 11.2.0.4 (wird nur mit der Logminer-CDC-Methode unterstützt)
Oracle 12c, Version 12.1.0.2
Oracle 12c, Version 12.2.0.1
Oracle 18c
Oracle 19c
Oracle 21c
Datastream unterstützt die folgenden Arten von Oracle-Datenbanken:
Selbst gehostet, lokal oder bei einem beliebigen Cloud-Anbieter
Amazon RDS für Oracle
Oracle Cloud
Oracle Exadata
Oracle RAC
Oracle Active Data Guard-Standby-Datenbank
Einrichtung
Damit Sie eine Oracle-Quelldatenbank so einrichten können, dass Daten aus ihr in ein Ziel gestreamt werden können, muss die Datenbank so konfiguriert werden, dass sie Zugriff gewährt, eine Logging-Funktion einrichtet und eine Aufbewahrungsrichtlinie definiert.
Unter Oracle-Quelldatenbank konfigurieren wird erläutert, wie Sie diese Datenbank so konfigurieren, dass Datastream Daten aus einem Datenbankziel abrufen kann.
Bekannte Einschränkungen
Bekannte Einschränkungen bei Verwendung der Oracle-Datenbank als Quelle:
Streams sind auf 10.000 Tabellen beschränkt. Wenn ein Stream mehr als 10.000 Tabellen enthält, können Fehler auftreten.
Datastream unterstützt die mehrmandantenfähige Architektur von Oracle (CDB/PDB). Sie können jedoch nur eine einzelne Plug-in-Datenbank in einem Stream replizieren.
Oracle Autonomous Database wird nicht unterstützt.
Bei Tabellen ohne Primärschlüssel verwendet Datastream die ROWID der Zeile, um auf Nutzerseite einen Merge-Vorgang auszuführen. Beachten Sie, dass die ROWID möglicherweise nicht eindeutig ist. Wenn Sie beispielsweise eine Zeile mit dem Export-/Importdienstprogramm von Oracle löschen und neu einfügen, kann sich die ROWID der Zeile ändern. Wenn Sie eine Zeile löschen, kann Oracle ihre ROWID einer später eingefügten neuen Zeile neu zuweisen.
Indexbasierte Tabellen (Index-organized Tables, IOTs) werden nicht unterstützt.
Temporäre Tabellen werden nicht unterstützt.
Spalten der Datentypen ANYDATA, BFILE, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, SDO_GEOMETRY, UDT, UROWID, XMLTYPE werden nicht unterstützt und werden durch NULL-Werte ersetzt.
Wenn Sie Spalten mit großen Objektdatentypen wie binären großen Objekten (BLOB), großen Zeichenobjekten (CLOB) und großen nationalen Zeichenobjekten (NCLOB) streamen möchten, müssen Sie das Flag streamLargeObjects in Ihre Streamkonfiguration aufnehmen. Wenn Sie das Flag nicht angeben, werden solche Spalten nicht in Datastream übertragen und in der Zielumgebung durch NULL-Werte ersetzt. Weitere Informationen finden Sie unter Streaming großer Objekte für Oracle-Quellen aktivieren.
Bei Oracle 11g werden Tabellen mit Spalten vom Datentyp ANYDATA oder UDT nicht unterstützt und die gesamte Tabelle wird nicht repliziert.
Oracle Label Security (OLS) wird nicht repliziert.
Datastream ruft das aktuelle Schema regelmäßig von der Quelle ab, während Ereignisse verarbeitet werden. Wenn sich ein Schema ändert, werden möglicherweise einige Ereignisse aus dem neuen Schema gelesen, während das alte Schema noch angewendet wird. In diesem Fall erkennt Datastream die Schemaänderung, löst einen Schemaabruf aus und verarbeitet die fehlgeschlagenen Ereignisse noch einmal.
Nicht alle Änderungen am Quellschema können automatisch erkannt werden. Dies kann zu Datenbeschädigungen führen. Die folgenden Schemaänderungen können zu Datenbeschädigungen oder Fehlern bei der nachgelagerten Verarbeitung der Ereignisse führen:
Spalten entfernen
Spalten in der Mitte einer Tabelle einfügen
Datentyp einer Spalte ändern
Spalten neu sortieren
Tabellen löschen (relevant, wenn dieselbe Tabelle anschließend mit neuen Daten neu erstellt wird)
Tabellen kürzen
Datastream unterstützt keine Replikation von Ansichten.
Datastream unterstützt materialisierte Ansichten. Für neue Ansichten, die während der Ausführung des Streams erstellt werden, erfolgt jedoch kein automatischer Backfill.
Bei Verwendung der Oracle LogMiner-Methode werden SAVEPOINT-Anweisungen nicht unterstützt und können im Falle eines Rollbacks zu Datenabweichungen führen.
Wenn Sie die Oracle LogMiner-Methode verwenden, unterstützt Datastream die Replikation von Tabellen und Spalten, deren Namen länger als 30 Zeichen sind, nicht.
Datastream unterstützt die folgenden Zeichensatzcodierungen für Oracle-Datenbanken:
AL16UTF16
AL32UTF8
IN8ISCII
IW8ISO8859P8
JA16SJIS
JA16SJISTILDE
KO16MSWIN949
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
Datastream unterstützt keine Replikation von Nulldatumswerten. Solche Datumsangaben werden durch NULL-Werte ersetzt.
Datastream unterstützt keine direkte Verbindung zu Datenbanken, die das SCAN-Feature (Single Client Access Name) in Oracle RAC-Umgebungen (Real Application Clusters) verwenden. Informationen zu möglichen Lösungen finden Sie unter Verhalten und Einschränkungen von Oracle-Quellen.
Wenn die Quelle eine Oracle Active Data Guard-Standby-Datenbank ist, unterstützt Datastream die Replikation verschlüsselter Daten nicht.
Zusätzliche Einschränkungen bei der Verwendung des binären Readers
Der binäre Reader unterstützt die folgenden Funktionen nicht:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-12 (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."]]