Dettagli del supporto per oggetti e operazioni in Oracle DML
Di seguito è riportata una lista degli oggetti Oracle e delle operazioni supportate da Oracle GoldenGate per l'acquisizione e la replica delle operazioni DML.
Container database multi-tenant
Oracle GoldenGate acquisisce e fornisce a un container database multi-tenant. Vedere Configura un container database multi-tenant.
Oracle GoldenGate non supporta la replica end-to-end del contenitore applicazioni Root-Child
Tabelle, viste e viste materializzate
Le seguenti operazioni DML sono supportate per tabelle normali, tabelle organizzate a indice, tabelle in cluster e viste materializzate:
-
INSERT -
UPDATE -
DELETE -
Operazioni di controllo transazione associate
A partire da Oracle GoldenGate 23ai, per le tabelle sono disponibili le funzioni riportate di seguito.
-
Colonna 4K in tabelle con dimensioni di riga inferiori a 4 MB
-
Blockchain e tabelle immutabili
Per i dettagli, vedere Limitazioni del supporto per blockchain e tabelle immutabili.
Suggerimento:
È possibile utilizzare la vista del dizionario dati DBA_GOLDENGATE_SUPPORT_MODE per visualizzare informazioni sul livello di supporto del processo di acquisizione di Oracle GoldenGate per le tabelle nel database. Il valore PLSQL di DBA_GOLDENGATE_SUPPORT_MODE indica che la tabella è supportata in modo nativo, ma richiede un log supplementare procedurale. Per ulteriori informazioni, vedere DBA_GOLDENGATE_SUPPORT_MODE. Se è necessario visualizzare tutte le tabelle senza indici univoci primari e non nulli, è possibile utilizzare DBA_GOLDENGATE_NOT_UNIQUE. Per ulteriori informazioni, vedere DBA_GOLDENGATE_NOT_UNIQUE.
Limitazioni del supporto per le tabelle regolari
Queste limitazioni si applicano a Extract.
-
Oracle GoldenGate supporta tabelle che contengono un numero qualsiasi di righe.
-
Una riga può avere una lunghezza massima di 4 MB. Se Oracle GoldenGate è configurato per includere sia l'immagine precedente che quella successiva di una colonna nell'ambito di elaborazione, la lunghezza massima di 4 MB si applica alla lunghezza totale dell'immagine completa prima dell'immagine più la lunghezza dell'immagine successiva. Ad esempio, se sono presenti operazioni
UPDATEsulle colonne utilizzate come identificativo di riga, le immagini prima e dopo vengono elaborate e non possono superare i 4 MB in totale. Le immagini prima e dopo sono necessarie anche per le colonne che non sono identificatori di riga, ma vengono utilizzate come colonne di confronto nel rilevamento e nella risoluzione dei conflitti (CDR). Le colonne di caratteri che consentono più di 4 KB di dati, ad esempioCLOB, hanno solo i primi 4 KB di dati memorizzati nella riga e contribuiscono alla lunghezza massima della riga di 4 MB. Colonne binarie che consentono più di 4kb di dati, ad esempio unBLOB, i primi 8 KB di dati vengono memorizzati nella riga e contribuiscono alla lunghezza massima della riga di 4 MB. -
Oracle GoldenGate supporta il numero massimo di colonne per tabella supportate dal database.
-
Oracle GoldenGate supporta la dimensione massima delle colonne supportata dal database.
-
Oracle GoldenGate supporta tabelle che contengono una sola colonna, tranne quando la colonna contiene uno dei tipi di dati seguenti:
-
LOB -
LONG -
LONG VARCHAR -
Nested table -
Tipo di definito dall'utente (UDT)
-
VARRAY -
XMLType
-
-
Impostare
DBOPTIONS ALLOWUNUSEDCOLUMNprima di replicare le tabelle da e verso le tabelle con colonne non utilizzate. -
Oracle GoldenGate supporta le tabelle con i seguenti attributi di partizionamento:
-
Partizionamento degli intervalli
-
Partizionamento intervallo di partizionamento hash
-
Partizionamento composto
-
Partizionamento basato su colonne virtuali
-
Partizionamento di riferimento
-
Partitioning con metodo List
-
-
Oracle GoldenGate supporta tabelle con colonne virtuali, ma non acquisisce i dati di modifica per queste colonne o le applica: il database non scrive colonne virtuali nel log delle transazioni e Oracle AI Database non consente DML sulle colonne virtuali. Per lo stesso motivo, i dati di caricamento iniziale non possono essere applicati a una colonna virtuale. È possibile mappare i dati dalle colonne virtuali alle colonne di destinazione non virtuali.
-
Oracle GoldenGate non considererà univoco/indice con colonne virtuali.
-
Oracle GoldenGate supporta la replica da e verso Oracle Exadata. Per supportare la compressione a colonne ibrida Exadata, la compatibilità del database di origine deve essere impostata su 11.2.0.0.0 o versione successiva.
-
Oracle GoldenGate supporta la cifratura dei dati trasparente (TDE, Transparent Data Encryption).
-
Oracle GoldenGate supporta le istruzioni
TRUNCATEcome parte del supporto di replica DDL o come funzionalità standalone indipendente dal supporto DDL. -
Oracle GoldenGate supporta l'acquisizione del caricamento diretto
INSERT, ad eccezione dell'inserimento del percorso diretto SQL*Loader per XML Binary e XML Object Relational. Il log supplementare deve essere abilitato e il database deve essere in modalità log di archivio. Sono supportati i seguenti metodi di caricamento diretto.-
Suggerimento
/*+ APPEND */ -
Suggerimento
/*+ PARALLEL */ -
SQLLDRconDIRECT=TRUE
-
-
Oracle GoldenGate supporta completamente l'acquisizione da oggetti compressi per Extract.
-
Oracle GoldenGate supporta le transazioni distribuite XA e PDML.
-
Oracle GoldenGate supporta le operazioni DML sulle tabelle con
FLASHBACK ARCHIVEabilitato. Tuttavia, Oracle GoldenGate non supporta DDL che crea tabelle con la clausolaFLASHBACK ARCHIVEo DDL che crea, modifica o elimina l'archivio di dati flashback stesso.
Limitazioni del supporto per le viste
Queste limitazioni si applicano a Extract.
-
Oracle GoldenGate supporta l'acquisizione da una vista quando Extract è in modalità caricamento iniziale (acquisizione diretta dalla vista di origine, non dal redo log).
-
Oracle GoldenGate non acquisisce i dati di modifica da una vista, ma supporta l'acquisizione dalle tabelle di base di una vista.
Limiti del supporto per le viste materializzate
Le viste materializzate sono supportate da Extract con le seguenti limitazioni.
-
Le viste materializzate create
WITH ROWIDnon sono supportate. -
Il log delle viste materializzate può essere creato
WITH ROWID. -
La tabella di origine deve disporre di una chiave primaria.
-
I troncamenti delle viste materializzate non sono supportati. È possibile utilizzare un'istruzione
DELETE FROM. -
È supportato DML (ma non DDL) da un aggiornamento completo di una vista materializzata. Se è richiesto il supporto DDL per questa funzione, aprire un caso di supporto di Oracle GoldenGate.
-
Per Replicat, il comando
Create MVdeve includere la clausolaFOR UPDATE -
È possibile replicare le viste materializzate o le tabelle di base sottostanti, ma non entrambe.
Limitazioni del supporto per blockchain e tabelle immutabili
A partire da Oracle AI Database 26ai, sono supportate tabelle immutabili e blockchain. Di seguito sono riportate le operazioni supportate per la funzione.
Supporto per la replica a senso unico
-
Entrambe le tabelle blockchain versioni v1 (introdotte in Oracle Database 19.10) e v2 (introdotte in Oracle AI Database 26ai) e sia le versioni di tabella immutabili v1 (introdotte in Oracle Database 19.11) che v2 (introdotte in Oracle AI Database 26ai) sono supportate per tutte le repliche ad eccezione di Replicat coordinato.
-
Interoperabilità tra tipi e versioni:
-
Supporto per la replica di blockchain e tabelle immutabili di qualsiasi versione all'origine alle tabelle convenzionali nella destinazione.
-
Nessun supporto per la replica di tabelle convenzionali all'origine in qualsiasi blockchain e tabelle immutabili di qualsiasi versione nella destinazione.
-
-
DML, DDL e Replica procedurale devono essere abilitati. Per Replica procedura, è necessario aggiungere la tabella Blockchain.
-
Le operazioni di eliminazione delle righe scadute non vengono replicate. La scadenza viene gestita separatamente da ciascun sistema di database.
Supporto per la replica bidirezionale (attiva-attiva)
-
Supporto solo per la versione v2.
-
Supporto per Replicat parallelo solo in modalità integrata e Replicat integrato.
-
L'ACDR deve essere configurato. ACDR per blockchain e tabelle immutabili contiene i seguenti metodi di risoluzione:
-
Indicatore data/ora più recente
-
Prima data/ora Nota: nessun altro metodo di risoluzione (ad esempio gruppo di colonne o risoluzione delta) è supportato. Non è disponibile alcun supporto per CDR manuale.
-
-
Una tabella blockchain o immutabile può avere al massimo una chiave primaria o un vincolo univoco e non può avere indici univoci.
-
La chiave primaria o il vincolo di chiave univoca su blockchain o tabelle immutabili per ACDR utilizza indici non univoci.
-
ACDR gestisce solo i conflitti INSERT-INSERT perché blockchain e tabelle immutabili sono tabelle solo INSERT. ACDR aggiunge due colonne nascoste per l'indicatore orario (
CDRTS$ROW) e la visibilità (ORABCTAB_INVISIBLE$).
Queste colonne nascoste funzionano come segue:
ACDR risolverà un conflitto e conserverà entrambe le copie della riga. Contrassegnerà un INSERT in conflitto che normalmente sarebbe stato eliminato o sovrascritto come logicamente non valido impostando la colonna nascosta
ORABCTAB_INVISIBLE$su 1. Di conseguenza, potrebbero esistere più righe con lo stesso valore di chiave, ma al massimo 1 riga per ogni chiave sarà valida eORABCTAB_INVISIBLE$sarà impostato su 0. -
Acquisizione automatica DML
Oracle GoldenGate supporta le seguenti operazioni DML con la modalità di acquisizione automatica:
-
Il parametro
TABLEEXCLUSIONè supportato. -
Il parametro
TABLEè supportato. -
Extract scrive i record DML della tabella consegnati dal database per l'acquisizione automatica nel file trail.
Partizionamento del sistema
Il partizionamento del sistema è una funzione di Oracle AI Database che consente di creare una tabella con partizioni denominate. Una tabella partizionata dal sistema non è gestita dal database. Ogni DML deve specificare la partizione in cui risiede la riga. Extract e tutte le modalità di Replicat supportano il partizionamento del sistema. Ogni intestazione di record del file trail relativa a una tabella partizionata dal sistema include il nome della partizione. Da Oracle GoldenGate 21c in poi, per le tabelle partizionate del sistema viene generato un record NPNR (partition Name Record), se incluso nel parametro PARTITION.
Consulta PARTITION \| PARTITIONEXCLUDE in Riferimento su parametri e funzioni per Oracle GoldenGate.
Sequenze e colonne identità
-
Le colonne di identità sono supportate dal database Oracle 18c in poi e richiedono Extract, Parallel Replicat in modalità integrata o Integrated Replicat.
Nota: la replica delle sequenze generate dal sistema per le colonne Identità non è supportata.
-
Oracle GoldenGate supporta la replica dei valori di sequenza e delle colonne di identità in una configurazione ad alta disponibilità unidirezionale e passiva attiva.
-
Oracle GoldenGate garantisce che i valori della sequenza di destinazione siano sempre superiori a quelli dell'origine (o uguali a loro, se la cache è zero).
Limitazioni del supporto per le sequenze
Queste limitazioni si applicano a Extract.
-
Oracle GoldenGate non supporta la replica dei valori di sequenza in una configurazione bidirezionale attiva-attiva.
-
Le dimensioni della cache e l'intervallo di incremento delle sequenze di origine e destinazione devono essere identiche. La cache può essere di qualsiasi dimensione, incluso 0 (
NOCACHE). -
La sequenza può essere impostata su ciclo o meno, ma i database di origine e di destinazione devono essere impostati allo stesso modo.
-
Le tabelle con colonne di sequenza predefinite sono escluse dalla replica per Extract.
Oggetti e operazioni non supportati in DML Oracle
Di seguito sono riportati gli oggetti o le operazioni Oracle aggiuntivi non supportati da Extract.
-
REFsono supportati in modo nativo per la compatibilità con Oracle Database 12.2 e versioni successive, ma non con chiave primariaREFs(PKREFs) -
Valori di sequenza in una configurazione bidirezionale attiva-attiva
-
Ripetizione database
-
Tabelle create come
EXTERNAL