Questa sezione contiene informazioni su:
- Il comportamento di Datastream per la 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 per estrarre le modifiche ai dati dai file di log redo online: il lettore di log binari Oracle (anteprima) e LogMiner di Oracle.
Con il metodo di lettura del log binario (Anteprima), viene osservato il seguente comportamento:
Se si verifica un ritardo nella lettura durante l'estrazione delle modifiche dai file di log online, Datastream estrae le modifiche dai file di log archiviati.
Datastream esegue la replica solo delle modifiche committate nella destinazione. Le transazioni non committate o di cui è stato eseguito il rollback non vengono replicate.
Il lettore binario supporta la replica delle colonne
VARCHAR2
di Oracle 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.
- Tutte le modifiche del linguaggio di manipolazione dei dati (DML), come inserimenti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati, vengono replicate.
- Datastream replica nella destinazione sia le modifiche committate sia, in alcuni casi, quelle non committate. 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 cui è stato eseguito il rollback, i record di output conterranno anche un'operazioneDELETE
corrispondente. In questo caso, l'evento verrà visualizzato come eventoDELETE
con soloROWID
.
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 azioni che potrebbero modificare i valori ROWID
nel database Oracle di origine fino al completamento dell'operazione di backfill.
Le azioni che possono modificare i valori ROWID
includono:
Movimento fisico delle righe:
- Operazioni di esportazione e importazione: quando esporti una tabella e poi la reimporti, la posizione fisica delle righe potrebbe cambiare, con conseguente generazione di nuovi valori
ROWID
. - Comando
ALTER TABLE (...) MOVE
: lo spostamento di una tabella in un altro spazio tabella può modificare lo spazio di archiviazione fisico e comportare modifiche aROWID
. - Comando
ALTER TABLE (...) SHRINK SPACE
: questo comando comprime la tabella, spostando potenzialmente le righe e modificando i relativi valoriROWID
. - Operazioni di partizione: la suddivisione, l'unione o lo spostamento delle partizioni può modificare il posizionamento fisico delle righe e i relativi valori
ROWID
.
- Operazioni di esportazione e importazione: quando esporti una tabella e poi la reimporti, la posizione fisica delle righe potrebbe cambiare, con conseguente generazione di nuovi valori
Operazioni di flashback:
- Comando
FLASHBACK TABLE
: il ripristino di una tabella a uno stato precedente comporta l'eliminazione e la reinserimento delle righe, creando così nuovi valoriROWID
. FLASHBACK_TRANSACTION_QUERY
: simile aFLASHBACK TABLE
. Il rollback di una transazione può causare modificheROWID
se le righe sono state eliminate o aggiornate all'interno della transazione.
- Comando
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:
- Ospitata autonomamente 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, configurare 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 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 multi-tenant 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 sul lato del consumatore. Tieni presente cheROWID
potrebbe non essere univoco. Ad esempio, se elimini e reinserisci una riga con l'utilità di esportazione/importazione di Oracle, il valoreROWID
della riga potrebbe cambiare. Se elimini una riga, Oracle può riassegnare il relativoROWID
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 di 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 valoriNULL
. - Per eseguire lo streaming di colonne di tipi di dati di oggetti di grandi dimensioni, come oggetti di grandi dimensioni binari (
BLOB
), oggetti di grandi dimensioni con caratteri (CLOB
) e oggetti di grandi dimensioni con caratteri nazionali (NCLOB
), devi includere il flagstreamLargeObjects
nella configurazione dello stream. Se non includi l'indicatore, Datastream non esegue lo streaming di queste colonne e vengono sostituite con valoriNULL
nella destinazione. Per ulteriori informazioni, consulta Attivare lo streaming di oggetti di grandi dimensioni per le origini Oracle. - Per Oracle 11g, le tabelle con colonne di tipi di dati
ANYDATA
oUDT
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 il vecchio schema è ancora applicato. In questo caso, Datastream rileva la modifica dello schema, attiva un recupero dello schema e elabora di nuovo gli eventi non riusciti.
- Non tutte le modifiche allo schema di origine possono essere rilevate automaticamente, nel qual caso potrebbe verificarsi la corruzione dei dati. Le seguenti modifiche allo schema potrebbero causare la corruzione dei dati o l'elaborazione non corretta degli eventi a valle:
- Eliminazione di colonne
- Aggiunta di colonne al centro di una tabella
- Modificare il tipo di dati di una colonna
- Riordinare le colonne
- Eliminazione di tabelle (rilevante se la stessa tabella viene poi ricreata con l'aggiunta di nuovi dati)
- Tabella troncata
- Datastream non supporta la replica delle visualizzazioni.
- Datastream supporta le viste materializzate. Tuttavia, le nuove visualizzazioni create durante l'esecuzione dello stream non vengono sottoposte a backfill automaticamente.
- Quando utilizzi il metodo Oracle LogMiner, le istruzioni
SAVEPOINT
non sono supportate e possono causare discrepanze nei dati in caso di rollback. - Datastream supporta le seguenti codifiche dei set di caratteri per i database Oracle:
AL16UTF16
AL32UTF8
IN8ISCII
JA16SJIS
JA16SJISTILDE
US7ASCII
UTF8
WE8ISO8859P1
WE8ISO8859P9
WE8ISO8859P15
WE8MSWIN1252
ZHT16BIG5
- Datastream non supporta la replica di valori di date pari a zero. Queste date vengono sostituite con valori
NULL
. - La generazione di file di log di grandi dimensioni potrebbe causare il timeout di Datastream, che può comportare un errore dello stream. Le dimensioni consigliate per i file di log di ripetizione sono inferiori a 1 GB.
- Datastream non supporta la connettività diretta ai database che utilizzano la funzionalità SCAN (Single Client Access Name) negli ambienti Oracle Real Application Clusters (RAC). Per informazioni sulle potenziali soluzioni, consulta 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 si utilizza il lettore di file binari
Il Lettore di file binari non supporta le seguenti funzionalità:
- Crittografia trasparente del database (TDE)
- Hybrid Columnar Compression
- File protetti
- Il metodo CDC del lettore di file binari non supporta il recupero dello stream.
- ASM non è supportato per le origini Amazon RDS.
- Il metodo CDC del lettore di log binari non supporta Oracle 11g e le versioni precedenti.
Passaggi successivi
- Scopri come configurare un'origine Oracle per l'utilizzo con Datastream.