Database Oracle di origine

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.

Passaggi successivi