Informazioni sui componenti di replica dei dati in Oracle GoldenGate
Tipi di configurazioni di replica dei dati
È possibile configurare Oracle GoldenGate per gli scopi seguenti:
-
Estrazione statica di record di dati da un database e caricamento di tali record in un altro database o origine dati.
-
Estrazione e replica continue delle operazioni DML (Data Manipulation Language) transazionali e delle modifiche DDL (Data Definition Language) (per i database supportati) per mantenere coerenti i dati di origine e di destinazione.
-
Estrazione dei dati dalle origini di database supportate e replica ai Big Data e alle destinazioni di file utilizzando le applicazioni e l'analitica distribuite di Oracle GoldenGate.
Processi Oracle GoldenGate
Extract
Il processo di estrazione è configurato per essere eseguito sull'endpoint di origine da cui è necessario acquisire le transazioni del database di cui è stato eseguito il commit. Questo processo è il meccanismo di estrazione o acquisizione dei dati di Oracle GoldenGate.
È possibile configurare il processo di estrazione per acquisire dati dai tipi di origini dati riportati di seguito.
-
Tabelle di origine: questo tipo di origine viene utilizzato per i caricamenti iniziali.
-
Log di recupero del database o log delle transazioni: durante l'acquisizione dai log, il metodo effettivo varia a seconda del tipo di database. Un esempio di questo tipo di origine sono i redo log di Oracle AI Database.
Per ulteriori informazioni, vedere Informazioni su Extract.
Replicat
Il processo Replicat applica gli aggiornamenti dai file trail al database di destinazione. Legge il file trail nel database di destinazione, ricostruisce le operazioni DML o DDL e le applica al database di destinazione.
Il processo Replicat utilizza SQL dinamico per compilare un'istruzione SQL una sola volta, quindi la esegue più volte con bind variable diverse. È possibile configurare il processo Replicat in modo che attenda un periodo di tempo specifico prima di applicare le operazioni replicate al database di destinazione.
Ad esempio, potrebbe essere auspicabile un ritardo per impedire la propagazione dell'istruzione SQL errata, per controllare l'arrivo dei dati in fusi orari diversi o per consentire l'esecuzione di altri eventi pianificati.
Per i due casi d'uso comuni di Oracle GoldenGate, Replicat funziona come indicato di seguito.
-
Carichi iniziali: quando si imposta Oracle GoldenGate per i caricamenti iniziali, il processo Replicat applica una copia dati statica agli oggetti di destinazione o instrada i dati a una utility di caricamento di massa ad alta velocità.
-
Modifica sincronizzazione: quando si imposta Oracle GoldenGate per mantenere sincronizzato il database di destinazione con il database di origine, il processo Replicat applica le operazioni di origine agli oggetti di destinazione utilizzando un'interfaccia di database nativa o ODBC, a seconda del tipo di database.
È possibile configurare più processi Replicat con uno o più processi Extract in parallelo per aumentare il throughput. Per preservare l'integrità dei dati, ogni insieme di processi gestisce un diverso insieme di oggetti. Per differenziare i processi Replicat, è possibile creare gruppi Replicat con un nome di gruppo univoco.
Vedere Informazioni su Replicat per informazioni sui diversi tipi di modalità Replicat.
Percorsi di distribuzione per il trasporto dati
Un percorso di distribuzione o DISTPATH definisce il percorso del file trail tra gli endpoint. Il percorso di distribuzione viene configurato dal servizio di distribuzione. Per ulteriori informazioni, vedere Servizio di distribuzione.
Un percorso di distribuzione avviato dalla destinazione, chiamato anche percorso del ricevente o RECVPATH definisce il percorso del trail, dal servizio del ricevente al servizio di distribuzione in ambienti con endpoint di destinazione sicuri. Vedere Aggiungi percorsi servizio ricevente.
Oggetti Oracle GoldenGate
Gli oggetti Oracle GoldenGate non devono mai essere modificati direttamente. La modifica di file di parametri, trail, file di checkpoint e tabelle deve essere modificata solo tramite chiamate API REST utilizzando AdminClient e l'interfaccia Web.
File trail
Un trail è una serie di file su disco in cui Oracle GoldenGate memorizza le modifiche acquisite per supportare l'estrazione e la replica continue delle modifiche al database.
Un trail può esistere nel sistema di origine, in un sistema intermedio, nel sistema di destinazione o in qualsiasi combinazione di questi sistemi, a seconda della modalità di configurazione di Oracle GoldenGate. Sul sistema locale, è noto come sentiero Extract (o sentiero locale). Su un sistema remoto, è conosciuto come un sentiero remoto. Utilizzando un trail per lo storage, Oracle GoldenGate supporta l'accuratezza dei dati e la tolleranza agli errori. L'uso di un trail consente inoltre di eseguire attività di estrazione e replica indipendentemente l'una dall'altra. Con questi processi separati, hai più scelte su come vengono elaborati e consegnati i dati. Ad esempio, invece di estrarre e replicare continuamente le modifiche, è possibile estrarre continuamente le modifiche e memorizzarle nel trail per la replica alla destinazione in un secondo momento, ogni volta che l'applicazione di destinazione le richiede.
Inoltre, i trail consentono a Oracle AI Database di operare in un ambiente eterogeneo. I dati vengono memorizzati in un file trail in un formato coerente, quindi possono essere letti dal processo Replicat per tutti i database supportati.
Processi che scrivono nel file trail
Oracle GoldenGate Extract scrive nel file trail. Tutti i percorsi locali devono avere nomi di percorso completo diversi, anche se è possibile utilizzare gli stessi nomi di percorso in percorsi diversi.
In Oracle GoldenGate MA, i percorsi di distribuzione e i percorsi del ricevente vengono utilizzati per distribuire gli trail remoti. Il servizio di distribuzione e il servizio di ricezione vengono utilizzati per configurare rispettivamente il percorso di distribuzione e il percorso del ricevente. Il percorso di distribuzione trasferisce il trail su una rete a destinazioni definite. Il trail può contenere dati provenienti da più estrazioni, che vengono trasferiti a un sistema remoto.
Processi letti dal file trail
I processi Replicat e il percorso di distribuzione vengono letti dai file trail. Extract acquisisce le operazioni DML e DDL utilizzando un trail locale, esegue ulteriori elaborazioni se necessario e trasferisce i dati a un trail letto dal successivo processo Oracle GoldenGate, ovvero Replicat.
In caso di distribuzione distribuita, un processo del servizio di distribuzione leggerà il file trail remoto e lo invierà attraverso la rete a un processo del servizio ricevente in attesa.
Il processo Replicat legge il trail e applica le operazioni DML e DDL replicate al database di destinazione.
Creazione e manutenzione file trail
I file trail vengono creati in base alle esigenze durante l'elaborazione. È possibile specificare un nome di due caratteri per il trail quando lo si aggiunge alla configurazione di Oracle GoldenGate. Per impostazione predefinita, gli trail vengono memorizzati nella sottodirectory della directory Oracle GoldenGate. È possibile specificare un numero di sequenza a nove cifre per il file trail.
Quando ogni nuovo file viene creato, eredita il nome trail a due caratteri aggiunto con un numero di sequenza univoco a nove cifre compreso tra 000000000 e 999999999. Quando il numero di sequenza raggiunge 999.999.999 o 999.999 (a seconda dell'impostazione precedente), il processo di estrazione verrà interrotto.
I file trail possono essere rimossi di routine impostando task di manutenzione automatici per rimuovere i file trail o eliminare manualmente i file trail dal servizio di amministrazione. Vedere Elimina file trail e Rimuovi trail.
È possibile creare più trail per separare i dati da oggetti o applicazioni diversi. Per massimizzare il throughput e ridurre al minimo il carico di I/O sul sistema, i dati estratti vengono inviati all'interno e all'esterno di un trail in blocchi di grandi dimensioni. L'ordine transazionale del file trail o della sequenza trail viene conservato.
File dei parametri
La maggior parte delle funzionalità di Oracle GoldenGate viene controllata mediante i parametri specificati nei file dei parametri. Un file di parametri è un file di testo non codificato letto da un processo Oracle GoldenGate associato.
L'architettura dei microservizi Oracle GoldenGate utilizza i parametri runtime riportati di seguito.
-
Parametri di runtime globali: diversi dal parametro GLOBALS. Si applicano a tutti gli oggetti di database specificati in un file di parametri. Alcuni parametri di runtime globali influenzano il comportamento dei processi, mentre altri influiscono sull'utilizzo della memoria.
USERIDALIASè un esempio di parametro runtime globale. Un parametro globale deve essere elencato una sola volta nel file. Se elencata più volte, è attiva solo l'ultima istanza e tutte le altre istanze vengono ignorate. -
Parametro specifico dell'oggetto: questi parametri consentono di applicare regole di elaborazione diverse per set diversi di oggetti di database.
GETINSERTSeIGNOREINSERTSsono esempi di parametri specifici dell'oggetto. Ciascuna istruzione precede un'istruzioneMAPche specifica gli oggetti da interessare. I parametri specifici dell'oggetto hanno effetto nell'ordine in cui sono elencati nel file.
I parametri di runtime consentono di controllare vari aspetti della sincronizzazione di Oracle GoldenGate, ad esempio:
-
Selezione, mappatura, trasformazione e replica dei dati
-
DDL e selezione, mapping e replica delle sequenze (se supportato)
-
Risoluzione degli errori
-
Registrazione
-
Generazione di report sullo stato e sugli errori
-
Uso delle risorsa di sistema
-
Funzionamento di avvio e runtime
Sebbene sia possibile eseguire più estrazioni e repliche in una singola distribuzione, ciascuna di esse può essere associata solo a un singolo file di parametri. Le estrazioni e le repliche sono identificate dal nome senza distinzione tra maiuscole e minuscole. Ad esempio, per un file Extract denominato exte, è associato 1 file di parametri denominato exte.prm.
File e tabelle di checkpoint
Oracle GoldenGate utilizza una combinazione di file di checkpoint, tabelle di checkpoint e valori corrispondenti all'interno dei file trail per garantire che i dati vengano applicati esattamente una volta alla piattaforma di destinazione. Oracle GoldenGate utilizza questi oggetti per garantire la replica corretta dei dati e per finalità di recupero in caso di interruzione o crash del database di origine, del database di destinazione o di Oracle GoldenGate stesso. Questi oggetti sono fondamentali per lo stato di Oracle GoldenGate e non devono mai essere modificati o modificati senza la guida diretta del Supporto Oracle.
Vedere Dettagli aggiuntivi sulle tabelle checkpoint.
Uso checkpoint per Extract, Path e Replicat
I checkpoint vengono utilizzati durante la sincronizzazione delle modifiche in linea per memorizzare la posizione di lettura e scrittura corrente di un processo. I checkpoint garantiscono che le modifiche ai dati contrassegnate per la sincronizzazione vengano estratte e impediscono estrazioni ridondanti. Forniscono tolleranza agli errori impedendo la perdita di dati se il sistema, la rete o un processo Oracle GoldenGate deve essere riavviato.
Extract, Path (Extract) e Delivery (Replicat) salvano le posizioni in un file di checkpoint per consentire il recupero in caso di errore. Extract crea checkpoint per le relative posizioni nell'origine dati e nel trail. Replicat crea checkpoint per la sua posizione nel trail. Il seguente diagramma illustra questo flusso di lavoro:

Le informazioni sul checkpoint vengono gestite nei file di checkpoint nella directory Oracle GoldenGate predefinita: $OGG_VAR_HOME/lib/checkpt
Questa operazione non deve essere confusa con la tabella di checkpoint facoltativa memorizzata nel database. Extract inserisce un checkpoint di scrittura, noto come checkpoint corrente, nel trail. Il checkpoint corrente è la posizione nel trail in cui Extract sta scrivendo.
I checkpoint memorizzano la posizione di lettura/scrittura corrente di un processo. Prevengono le estrazioni ridondanti e forniscono tolleranza agli errori.
Oracle GoldenGate utilizza i checkpoint solo a scopo informativo, poiché l'origine delle informazioni si trova all'interno dei file trail.
Checkpoint percorso
Il checkpoint del percorso del servizio di distribuzione aggiunge un ulteriore livello di affidabilità per l'architettura dei microservizi durante il trasferimento di file trail tra le distribuzioni. L'immagine seguente descrive il meccanismo di checkpoint DISTPATH utilizzato nelle distribuzioni.

La lettura corrente è il checkpoint dell'ultima lettura. Il checkpoint verifica la presenza di modifiche ogni secondo. Questa frequenza è configurabile. Il checkpoint di scrittura identifica l'ultimo elemento scritto nel trail. Oracle GoldenGate tiene traccia della posizione di scrittura nel trail.
Il percorso del servizio di distribuzione non è a conoscenza di alcuna transazione aperta perché elabora solo i record di cui è stato eseguito il commit.
Checkpoint Replicat
Replicat crea checkpoint nella tabella dei checkpoint per contrassegnarne l'ultima posizione di lettura e applicazione.
Per visualizzare i checkpoint del processo, utilizzare il comando INFO REPLICAT con l'opzione SHOWCH. Il comando di base mostra i checkpoint correnti.
Il checkpoint corrente è la posizione dell'ultimo record letto da Replicat nel trail e applicato al database. L'origine della verità per le transazioni applicate è la tabella dei checkpoint. I file di checkpoint utilizzati dai comandi Replicat e INFO sono solo informazioni approssimative e di consulenza. Per informazioni su questo workflow, vedere l'immagine riportata di seguito.
