Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa sezione contiene informazioni su:
Il comportamento di Datastream nella gestione dei dati estratti da un database Oracle di origine
Le versioni del database Oracle supportate da Datastream
Una panoramica su come configurare un database Oracle di origine in modo che i dati possano essere trasmessi in streaming a una destinazione
Limitazioni note per l'utilizzo del database Oracle come origine
Comportamento
Datastream supporta due metodi di estrazione delle modifiche ai dati dai file di redo log online: il lettore di log binari Oracle (anteprima) e Oracle LogMiner.
Con il metodo di lettura dei log binari
(anteprima), si osserva il seguente comportamento:
Se si verifica un ritardo di lettura durante l'estrazione delle modifiche dai file di log online,
Datastream estrae le modifiche dai file di log archiviati.
Datastream replica nella destinazione solo le modifiche di cui è stato eseguito il commit.
Le transazioni non confermate o sottoposte a rollback non vengono replicate.
Il lettore binario supporta la replica di colonne Oracle VARCHAR2 più lunghe di
4000 caratteri.
Datastream supporta anche la funzionalità Oracle LogMiner per esporre le modifiche ai dati. Il metodo ha il seguente comportamento:
È possibile selezionare tutti gli schemi o schemi specifici di un determinato database, nonché tutte le tabelle degli schemi o tabelle specifiche.
Tutti i dati storici vengono replicati.
Vengono replicate tutte le modifiche del data manipulation language (DML), come inserimenti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati.
Datastream replica sia le modifiche di cui è stato eseguito il commit sia, in alcuni casi, quelle di cui non è stato eseguito il commit nella destinazione. Datastream legge le modifiche di cui non è stato eseguito il commit. In caso di rollback, i record di output di Datastream includono anche l'operazione opposta. Ad esempio, se è presente un'operazione INSERT di rollback, i record di output conterranno anche un'operazione DELETE corrispondente. In questo caso, l'evento verrà visualizzato come evento DELETE con solo ROWID.
Backfill basato su ROWID
In Oracle, ROWID è una pseudocolonna che memorizza identificatori univoci per le righe di una tabella. Datastream utilizza i valori ROWID per le operazioni di backfill. Per questo motivo, ti consigliamo di non eseguire alcuna azione che possa modificare i valori ROWID nel database Oracle di origine fino al completamento dell'operazione di backfill.
Le azioni che possono modificare i valori di ROWID includono:
Spostamento fisico delle righe:
Operazioni di esportazione e importazione: quando esporti una tabella e poi la importi di nuovo, la posizione fisica delle righe potrebbe cambiare, generando nuovi valori di ROWID.
comando ALTER TABLE (...) MOVE: lo spostamento di una tabella in uno spazio delle tabelle diverso può modificare l'archiviazione fisica e comportare modifiche a ROWID.
Comando ALTER TABLE (...) SHRINK SPACE: questo comando comprime la tabella, spostando potenzialmente le righe e influendo sui relativi valori ROWID.
Operazioni di partizionamento: la suddivisione, l'unione o lo spostamento delle partizioni può modificare il posizionamento fisico delle righe e i relativi valori ROWID.
Operazioni di flashback:
FLASHBACK TABLE: il ripristino di una tabella a uno stato precedente comporta l'eliminazione e il reinserimento delle righe, creando così nuovi valori ROWID.
FLASHBACK_TRANSACTION_QUERY: simile a FLASHBACK TABLE. Il rollback di una transazione può causare modifiche a ROWID se le righe sono state eliminate o aggiornate all'interno della transazione.
Versioni
Datastream supporta le seguenti versioni del database Oracle:
Oracle 11g, versione 11.2.0.4 (supportata solo con il metodo CDC LogMiner)
Oracle 12c, versione 12.1.0.2
Oracle 12c, versione 12.2.0.1
Oracle 18c
Oracle 19c
Oracle 21c
Datastream supporta i seguenti tipi di database Oracle:
Self-hosted on-premise o su qualsiasi provider cloud
Amazon RDS per Oracle
Cloud Oracle
Oracle Exadata
Oracle RAC
Database di standby Oracle Active Data Guard
Configurazione
Per configurare un database Oracle di origine in modo che i dati possano essere trasmessi in streaming a una destinazione, devi configurare il database per concedere l'accesso, impostare la registrazione e definire un criterio di conservazione.
Consulta Configurare un database Oracle di origine per scoprire come configurare questo database in modo che Datastream possa estrarre i dati da questo database in una destinazione.
Limitazioni note
Le limitazioni note per l'utilizzo del database Oracle come origine includono:
Gli stream sono limitati a 10.000 tabelle. Se uno stream include più di 10.000 tabelle, potrebbero verificarsi errori.
Datastream supporta l'architettura multitenant Oracle (CDB/PDB), ma puoi replicare un solo database modulare in uno stream.
Oracle Autonomous Database non è supportato.
Per le tabelle che non hanno una chiave primaria, Datastream utilizza ROWID della riga per eseguire un'operazione di unione lato consumer. Tieni presente che l'ROWID potrebbe non essere univoco. Se elimini e reinserisci una riga con l'utilità di esportazione/importazione di Oracle, ad esempio, il ROWID della riga potrebbe cambiare. Se elimini una riga, Oracle può riassegnare il relativo ROWID a una nuova riga inserita in un secondo momento.
Le tabelle organizzate per indice (IOT) non sono supportate.
Le tabelle temporanee non sono supportate.
Le colonne dei tipi di dati ANYDATA, BFILE, INTERVAL DAY TO SECOND, INTERVAL YEAR TO MONTH, LONG/LONG RAW, SDO_GEOMETRY, UDT, UROWID, XMLTYPE non sono supportate e vengono sostituite con valori NULL.
Per trasmettere in streaming colonne di tipi di dati di oggetti di grandi dimensioni, come oggetti binari di grandi dimensioni (BLOB), oggetti di grandi dimensioni di caratteri (CLOB) e oggetti di grandi dimensioni di caratteri nazionali (NCLOB), devi includere il flag streamLargeObjects nella configurazione dello stream. Se non includi il flag, Datastream non trasmette in streaming queste colonne e vengono sostituite con valori NULL nella destinazione. Per ulteriori informazioni, vedi Attivare lo streaming di oggetti di grandi dimensioni per le origini Oracle.
Per Oracle 11g, le tabelle con colonne di tipi di dati ANYDATA o UDT non sono supportate e l'intera tabella non verrà replicata.
Oracle Label Security (OLS) non viene replicato.
Datastream recupera periodicamente lo schema più recente dall'origine durante l'elaborazione degli eventi. Se uno schema cambia, alcuni eventi del nuovo schema potrebbero essere letti mentre viene ancora applicato quello precedente. In questo caso, Datastream rileva la modifica dello schema, attiva un recupero dello schema ed elabora nuovamente gli eventi non riusciti.
Non tutte le modifiche allo schema di origine possono essere rilevate automaticamente, nel qual caso potrebbe verificarsi un danneggiamento dei dati. Le seguenti modifiche allo schema potrebbero causare il danneggiamento dei dati o l'impossibilità di elaborare gli eventi a valle:
Eliminare colonne
Aggiungere colonne al centro di una tabella
Modifica del tipo di dati di una colonna
Riordinare le colonne
Eliminazione di tabelle (pertinente se la stessa tabella viene poi ricreata con l'aggiunta di nuovi dati)
Troncare le tabelle
Datastream non supporta la replica delle visualizzazioni.
Datastream supporta le viste materializzate. Tuttavia, le nuove visualizzazioni create durante l'esecuzione dello stream non vengono compilate automaticamente.
Quando utilizzi il metodo Oracle LogMiner, le istruzioni SAVEPOINT non sono supportate e possono causare discrepanze nei dati in caso di rollback.
Quando utilizzi il metodo Oracle LogMiner, Datastream non supporta la replica di tabelle e colonne i cui nomi superano i 30 caratteri.
Datastream supporta le seguenti codifiche del set di caratteri per i database Oracle:
AL16UTF16
AL32UTF8
IN8ISCII
IW8ISO8859P8
JA16SJIS
JA16SJISTILDE
KO16MSWIN949
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
Datastream non supporta la replica dei valori di data zero. Queste date vengono sostituite con i valori NULL.
Datastream non supporta la connettività diretta ai database utilizzando la funzionalità Single Client Access Name (SCAN) negli ambienti Oracle Real Application Clusters (RAC). Per informazioni sulle possibili soluzioni, vedi Comportamento e limitazioni dell'origine Oracle.
Se l'origine è un database di standby Oracle Active Data Guard, Datastream non supporta la replica dei dati criptati.
Limitazioni aggiuntive quando utilizzi il lettore binario
Il lettore binario non supporta le seguenti funzionalità:
Crittografia trasparente del database (TDE)
Hybrid Columnar Compression
File protetti
ASM non è supportato per le origini Amazon RDS.
Il metodo CDC del lettore binario non supporta Oracle 11g e le versioni precedenti.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]