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 flusso da un database a una destinazione
- Limitazioni note per l'utilizzo del database Oracle come origine
Comportamento
Il database Oracle di origine si basa sulla funzionalità Oracle Logminer per esporre le modifiche ai dati.
- È possibile selezionare tutti gli schemi o gli schemi specifici di un determinato database, nonché tutte le tabelle degli schemi o di tabelle specifiche.
- Tutti i dati storici vengono replicati.
- Tutte le modifiche al linguaggio di manipolazione dei dati (DML), come inserimenti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati, vengono replicate.
- Datastream replica nella destinazione le modifiche di cui è stato eseguito il commit e, in alcuni casi, di cui non è stato eseguito il commit. 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 archivia 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 la conseguente generazione di nuovi valori
ROWID
. - Comando
ALTER TABLE (...) MOVE
: lo spostamento di una tabella in un tablespace diverso può modificare l'archiviazione fisica e generare 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 la 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
- 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 cloud provider
- Amazon RDS per Oracle
- Cloud Oracle
- Oracle Exadata
- RAC Oracle
- Database in standby Oracle Active Data Guard
Configurazione
Per configurare un database Oracle di origine in modo che i dati possano essere trasmessi in streaming in una destinazione, devi configurare il database per concedere l'accesso, configurare la registrazione, definire un criterio di conservazione e così via.
Consulta Configura un database Oracle di origine per scoprire come configurare questo database in modo che Datastream possa eseguire il pull dei dati dal database in una destinazione.
Limitazioni note
Le limitazioni note per l'utilizzo del database Oracle come origine includono:
- I flussi sono limitati a 10.000 tabelle. Se un flusso 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. Se elimini e reinserisci una riga, ad esempio 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, 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
oUDT
non sono supportate e l'intera tabella non verrà replicata. - Oracle Label Security (OLS) non è replicata.
- Datastream recupera periodicamente lo schema più recente dall'origine durante l'elaborazione degli eventi. Se uno schema viene modificato, alcuni eventi del nuovo schema potrebbero essere letti mentre quello precedente viene ancora applicato. In questo caso, Datastream rileva la modifica allo schema, attiva un recupero dello schema e rielabora 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 il danneggiamento dei dati o l'elaborazione non corretta degli eventi a valle:
- Eliminazione di colonne
- Aggiungere colonne al centro di una tabella
- Modifica del tipo di dati di una colonna
- Riordinamento delle colonne
- Eliminazione delle tabelle (pertinente 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.
- 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 data zero. Queste date vengono sostituite con valori
NULL
. - La generazione di file di log di grandi dimensioni potrebbe causare un timeout di Datastream, con conseguenti errori di flusso. Le dimensioni consigliate per i file di log di ripetizione sono inferiori a 1 GB.
- 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 potenziali soluzioni, consulta Comportamento e limitazioni delle origini Oracle.
- Se l'origine è un database in standby Oracle Active Data Guard, Datastream non supporta la replica dei dati criptati.
Passaggi successivi
- Scopri come configurare un'origine Oracle per l'utilizzo con Datastream.