Task 2: configurare l'ambiente Oracle GoldenGate
Per completare questo task, effettuare le operazioni riportate di seguito.
-
Passo 2.1: accedere alla distribuzione GoldenGate
-
Passo 2.2 - Creare le credenziali del database
-
Passo 2.3 - Creare profili di avvio automatico
-
Passo 2.4 - Configurare i processi Oracle GoldenGate
Passo 2.1: accedere alla distribuzione
Per accedere alla distribuzione:
-
Se la subnet client è pubblica, è possibile accedere ai nodi utilizzando l'indirizzo VIP e il tunnel SSH. È necessario creare un tunnel SSH con il nome DNS VIP sui cluster primario e in standby utilizzando il comando seguente su tutti i nodi:
ssh -N -L <local_port>:<vip-dns-name>:443 -p 22 <gghub-node>local_portpuò essere qualsiasi porta disponibile sul sistema locale.gghub-nodeè il nome del cluster in cui è configurato il tunnel.Oracle consiglia di gestire GoldenGate utilizzando i nomi DNS VIP primari e in standby come indicato di seguito.
-
Nome DNS VIP principale:
<cluster-prefix>1.ggoraclevcn.com -
Nome DNS VIP in standby:
<cluster-prefix>2.ggoraclevcn.com
È quindi possibile accedere alla distribuzione con il browser Web utilizzando
https://localhost:<local_port> -
-
Se la sottorete del client è privata,
-
È necessario creare un bastion per la subnet client con i valori seguenti:
-
VCN di destinazione: selezionare la VCN
-
Subnet di destinazione: nome subnet client
-
Lista di inclusione dei blocchi CIDR: immettere o selezionare gli indirizzi IP o gli intervalli di indirizzi per consentire le connessioni alle risorse di destinazione utilizzando le sessioni SSH.
-
-
Creare una sessione di inoltro della porta SSH utilizzando l'indirizzo VIP primario e l'indirizzo VIP in standby con la porta 443. Ulteriori informazioni sulla creazione di sessioni Port Forwarding.
-
Dal menu Azioni della sessione (tre punti), selezionare Visualizza comando SSH e selezionare Copia.
-
Eseguire il comando SSH, verificando che
<privateKey>venga sostituito con il percorso della chiave privata locale e443per<localPort>. Ulteriori informazioni sulla connessione a una sessione di inoltro porta -
È quindi possibile accedere alla distribuzione con il browser Web utilizzando
https://localhost.
-
Passo 2.2: creare le credenziali del database
Utilizzare l'interfaccia utente dei microservizi Oracle GoldenGate per creare le credenziali del database utilizzando i nomi alias TNS sopra riportati. Aggiungere le credenziali del database come utente oggadmin:
-
Eseguire il login al servizio di amministrazione di Oracle GoldenGate:
https://localhost:<localPort>/services/<deployment_name>/adminsrvr/v2/content/. -
Nel menu di navigazione a sinistra selezionare Connessioni DB.
-
Nella pagina Connessioni DB, selezionare Aggiungi connessione DB (icona più).
-
Aggiungere le informazioni necessarie per ogni CDB e PDB di origine e destinazione:
Area Contenitore Dominio Alias ID utente Area 1 CDB GoldenGate Reg1_CDB c##ggadmin@ Area 1 PDB GoldenGate Reg1_PDB ggadmin@ Area 2 CDB GoldenGate Reg2_CDB c##ggadmin@ Area 2 PDB GoldenGate Reg2_PDB ggadmin@
Passo 2.3: Creare profili di avvio automatico
Creare un profilo che avvii automaticamente i processi Extract e Replicat all'avvio del server di amministrazione di Oracle GoldenGate e riavvii se i processi Extract o Replicat vengono interrotti. In GoldenGate Microservizi, i profili gestiscono l'avvio e il riavvio automatici.
Utilizzando l'interfaccia utente del server di amministrazione di Oracle GoldenGate, creare un profilo da assegnare a ogni processo Oracle GoldenGate:
-
Eseguire il login a GoldenGate WebUI per la distribuzione Source GoldenGate.
-
Nel menu di navigazione selezionare Profili processo gestito.
-
Selezionare Aggiungi profilo nella pagina Impostazioni processo gestito.
-
Immettere i dettagli come indicato di seguito.
-
Nome profilo: Start_Default
-
Descrizione: Profilo di avvio/avvio automatico predefinito
-
Profilo predefinito: Sì
-
Avvio automatico: Sì
-
Opzioni di avvio automatico
-
Ritardo di avvio: 1 min
-
Riavvio automatico: Sì
-
-
Opzioni di riavvio automatico
-
Numero massimo nuovi tentativi: 5
-
Ritardo nuovi tentativi: 30 secondi
-
Finestra dei nuovi tentativi: 30 min
-
Riavvia solo in caso di errore: Sì
-
Disabilita attività dopo nuovi tentativi esauriti: Sì
-
-
-
Selezionare Sottometti
-
Ripetere questi passi nella distribuzione GoldenGate di destinazione.
Passo 2.4: configurare i processi Oracle GoldenGate
Quando si creano processi Extract, Distribution Path e Replicat con l'architettura dei microservizi Oracle GoldenGate, tutti i file che devono essere condivisi tra i nodi GGHub sono già condivisi con i file di distribuzione memorizzati in un file system condiviso.
Di seguito sono riportati i dettagli di configurazione essenziali consigliati per l'esecuzione dei microservizi Oracle GoldenGate su GGhub per i processi Extract, Distribution Paths e Replicat.
Per completare questo passo, eseguire i passi secondari riportati di seguito.
-
Passo 2.5.1 - Configurazione dell'estrazione
-
Passo 2.5.2 - Configurazione Replicat
-
Passo 2.5.3 - Configurazione del percorso di distribuzione
Passo 2.5.1: Estrai configurazione
Quando si crea un'estrazione utilizzando l'interfaccia del servizio di amministrazione di Oracle GoldenGate, lasciare vuoto il parametro Sottodirectory trail in modo che i file trail vengano creati automaticamente nelle directory di distribuzione memorizzate nel file system condiviso. La posizione predefinita per i file trail è la directory /<deployment directory>/var/lib/data.
Nota: per l'acquisizione da un database multi-tenant, è necessario utilizzare un Extract configurato a livello radice utilizzando un account c##. Per applicare i dati a un database multi-tenant, è necessario un Replicat separato per ogni PDB perché un Replicat si connette a livello di PDB e non dispone dell'accesso agli oggetti al di fuori di tale PDB.
Per i processi Extract GoldenGate che utilizzano configurazioni Data Guard che utilizzano le modalità di trasporto di redo Maximum Performance o Maximum Availability, è necessario aggiungere il parametro seguente al file dei parametri del processo Extract sul sistema primario per evitare la perdita di transazioni e causare incoerenze logiche nei dati:
TRANLOGOPTIONS HANDLEDLFAILOVER
Questo parametro impedisce a Extract di estrarre i dati delle transazioni dal redo che non sono ancora stati applicati al database di standby Data Guard. Ciò è fondamentale per impedire a Oracle GoldenGate di replicare i dati in un database di destinazione che non esiste nel database di standby di origine.
Se questo parametro non viene specificato, dopo un failover di perdita di dati del database di origine è possibile avere dati nel database di destinazione non presenti nel database di origine, con conseguenti incongruenze logiche dei dati.
Per impostazione predefinita, dopo 60 secondi, un messaggio di avvertenza verrà scritto nel file del report Extract quando l'estrazione è in stallo a causa della mancata capacità di eseguire query sulle informazioni SCN applicate dal database di standby. Ad esempio:
WARNING OGG-02721 Extract has been waiting for the standby database for 60 seconds.
Il periodo di tempo prima che il messaggio di avvertenza venga scritto nel file del report Extract può essere modificato utilizzando il parametro Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_WARNING".
Se Extract non è ancora in grado di eseguire query sulle informazioni SCN applicate dal database di standby dopo 30 minuti (impostazione predefinita), il processo Extract verrà interrotto, registrando il seguente messaggio nel file del report Extract:
ERROR OGG-02722 Extract abended waiting for 1,800 seconds for the
standby database to be accessible or caught up with the primary database.
Se il database di standby diventa disponibile prima della scadenza del timeout predefinito di 30, Extract continua a estrarre i dati dal database di origine e riporta il seguente messaggio al file di report:
INFO OGG-02723 Extract resumed from stalled state and started processing LCRs.
Il valore di timeout di 30 minuti può essere modificato utilizzando il parametro Extract "TRANLOGOPTIONS HANDLEDLFAILOVER STANDBY_ABEND
Se il database di standby non sarà disponibile per un periodo prolungato, ad esempio durante un'interruzione di manutenzione pianificata, e si desidera che Extract continui l'estrazione dei dati dal database primario, rimuovere il parametro "TRANLOGOPTIONS HANDLEDLFAILOVER" dal file dei parametri Extract e riavviare Extract (vedere l'esempio riportato di seguito nelle figure da 4 a 6). Ricordarsi di impostare il parametro dopo la disponibilità dello standby.
Nota: se l'estrazione da un database primario continua mentre lo standby non è disponibile, un failover di perdita di dati potrebbe verificarsi dopo che lo standby è diventato disponibile e non tutti i redo primari sono stati applicati prima di un failover. Il database di destinazione GoldenGate conterrà dati che non esistono nel database di origine.
Se al processo Extract è stato assegnato un profilo di riavvio automatico, dopo la transizione di un ruolo Data Guard, il processo Extract verrà riavviato automaticamente. Extract continuerà a estrarre i dati di redo dal nuovo database primario, ignorando lo stato corrente del nuovo database di standby, fino alla scadenza di un periodo di timeout predefinito di 5 minuti. Trascorso questo periodo di tempo, se il database in standby non è disponibile, Extract verrà interrotto con i seguenti errori:
INFO OGG-25053 Timeout waiting for 300 seconds for standby database
reinstatement. Now enforcing HANDLEDLFAILOVER.
ERROR OGG-06219 Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR OGG-02078 Extract encountered a fatal error in a processing thread and is
abending.
Extract continuerà a essere riavviato automaticamente in base al profilo di riavvio automatico di GoldenGate Microservices e non riuscirà a causa del raggiungimento del timeout HANDLEDLFAILOVER, fino a quando il numero di nuovi tentativi non verrà raggiunto o il nuovo database di standby non sarà disponibile.
Durante il periodo di timeout successivo alla transizione di un ruolo del database, il parametro HANDLEDLFAILOVER viene sospeso automaticamente, pertanto i dati verranno replicati nel database di replica di Oracle GoldenGate senza considerare che il database di standby di origine non viene mantenuto aggiornato. Il periodo di timeout per l'avvio del database di standby prima dell'interruzione di Extract può essere modificato utilizzando il parametro Extract TRANLOGOPTIONS DLFAILOVER_TIMEOUT.
Si consiglia di lasciare DLFAILOVER_TIMEOUT per impostazione predefinita di 5 minuti per consentire la conversione del vecchio database primario in standby. Se il nuovo database di standby non sarà disponibile per un periodo di tempo prolungato o non sarà più disponibile, affinché Extract venga avviato e rimanga in esecuzione, è necessario rimuovere il parametro HANDLEDLFAILOVER dal file dei parametri Extract. Dopo aver rimosso il parametro, Extract non attende più l'applicazione del redo al database di standby prima di estrarre i dati.
Durante il tempo necessario affinché il database di standby torni in linea e applichi tutti i redo dal database primario, si verificherà una divergenza di dati tra esso e il database di replica Oracle GoldenGate. Questa operazione verrà risolta una volta che il database in standby sarà aggiornato. A quel punto, aggiungere nuovamente il parametro HANDLEDLFAILOVER nel file dei parametri del processo Extract integrato, quindi arrestare e riavviare Extract.
Quando il failover Fast-Start di Oracle Data Guard è disabilitato, in modo che il broker possa eseguire automaticamente il failover su un database di standby in caso di perdita del database primario, è necessario specificare un ulteriore parametro Extract integrato indicato di seguito.
TRANLOGOPTIONS FAILOVERTARGETDESTID n
Questo parametro identifica il database in standby in cui il processo Extract di Oracle GoldenGate deve rimanere indietro, per quanto riguarda la mancata estrazione dei dati di redo non ancora applicati al database in standby.
Se il failover Fast-Start di Oracle Data Guard è disabilitato e non si specifica il parametro Extract integrato aggiuntivo FAILOVERTARGETDESTID, l'estrazione verrà interrotta con i seguenti errori:
ERROR OGG-06219 Unable to extract data from the Logmining server OGG$CAP_XXXXX.
ERROR OGG-02078 Extract encountered a fatal error in a processing thread and is abending.
Per determinare il valore corretto per FAILOVERTARGETDESTID, utilizzare il parametro LOG_ARCHIVE_DEST_N del database di origine GoldenGate utilizzato per inviare il redo al database di standby di origine. Ad esempio, se LOG_ARCHIVE_DEST_2 punta al database di standby, utilizzare il valore 2.
Come utente oracle nel sistema di database primario, eseguire il comando seguente:
[opc@exapri-node1 ~]$ sudo su - oracle
[oracle@exapri-node1 ~]$ source <db_name>.env
[oracle@exapri-node1 ~]$ sqlplus / as sysdba
SQL> show parameters log_archive_dest
NAME TYPE VALUE
--------------------- ----------- ---------------------------------------------------
log_archive_dest_1 string location=USE_DB_RECOVERY_FILE_DEST,
valid_for=(ALL_LOGFILES, ALL_ROLES)
log_archive_dest_2 string service="<db_name>", SYNC AFFIRM delay=0
optional compression=disable max_failure=0 reopen=300
db_unique_name="<db_name>" net_timeout=30,
valid_for=(online_logfile,all_roles)
In questo esempio, il parametro Extract viene impostato su:
TRANLOGOPTIONS FAILOVERTARGETDESTID 2
Creazione dell'estrazione:
-
Eseguire il login a Oracle GoldenGate di origine.
-
Nel menu di navigazione selezionare Extracts.
-
Nella pagina Estrazioni selezionare Aggiungi estrazione.
-
Completare il modulo Aggiungi estrazione come indicato di seguito.
-
Per informazioni estrazione:
-
Tipo di estrazione: Extract integrato.
-
Nome processo: EXT_1
-
Descrizione: estrazione per CDB area 1
-
-
Per opzioni di estrazione:
-
Dominio credenziali: GoldenGate
-
Alias credenziale: Reg1_CDB
-
Registra in PDB: nome PDB
-
Intento: Unidirezionale
-
Inizio: Ora
-
Nome trail: aa
-
-
-
Selezionare Avanti
-
Se si utilizza l'acquisizione radice CDB dal PDB, aggiungere il parametro
SOURCECATALOGcon il nome PDB -
Selezionare Crea ed esegui
Passo 2.5.2 - Configurazione Replicat
In genere, Oracle consiglia di utilizzare Replicat parallelo integrato che offre prestazioni di applicazione migliori per la maggior parte dei carichi di lavoro quando GGHUB si trova nella stessa area del database Oracle GoldenGate di destinazione.
Le migliori prestazioni di applicazione possono essere raggiunte quando la latenza di rete tra GGHUB e il database di destinazione è il più bassa possibile. La configurazione seguente è consigliata per Replicat remoto in esecuzione su Oracle GGHUB.
-
APPLY_PARALLELISM: disabilita il parallelismo automatico anziché utilizzareMAX_APPLY_PARALLELISMeMIN_APPLY_PARALLELISMe consente la maggiore quantità di concorrenza al database di destinazione. Si consiglia di impostare il massimo possibile in base alla CPU disponibile dell'hub e del database server di destinazione. -
MAP_PARALLELISM: deve essere impostato con un valore compreso tra 2 e 5. Con un numero maggiore di applicatori, l'aumento dei mapper aumenta la capacità di consegnare il lavoro agli applicatori. -
BATCHSQL: applica il DML utilizzando l'elaborazione degli array, che riduce il numero di sovraccarichi di rete con una rete a latenza più elevata. Tenere presente che in caso di numerosi conflitti di dati,BATCHSQLriduce le prestazioni, poiché il rollback delle operazioni batch seguito da una nuova lettura dal file trail da applicare in modalità non batch.
Passo 2.5.2.1: creare la tabella di checkpoint
La tabella di checkpoint è un componente obbligatorio per i processi Replicat di Oracle GoldenGate. Dopo aver eseguito la connessione al database dalla pagina Credenziali del servizio di amministrazione, è possibile creare la tabella di checkpoint.
Creare la tabella di checkpoint nella distribuzione di destinazione:
-
Eseguire il login all'interfaccia utente Web di Oracle GoldenGate.
-
Nel menu di navigazione selezionare Connessioni DB, quindi connettersi al database di destinazione.
-
Dopo aver eseguito correttamente la connessione al database di destinazione, selezionare Tabella checkpoint.
-
Selezionare Aggiungi checkpoint (icona più). Viene visualizzata la pagina Aggiungi checkpoint.
-
Per la tabella dei checkpoint, immettere
ggadmin.chkp_table. -
Selezionare Sottometti
Vedere Aggiungi tabella checkpoint.
Passo 2.5.2.2 - Aggiungere un Replicat
Dopo aver impostato le connessioni al database e averle verificate, è possibile aggiungere un Replicat per la distribuzione effettuando le operazioni riportate di seguito.
-
Nel menu di navigazione selezionare Replicats.
-
Nella pagina Replicat, selezionare Aggiungi Replicat (icona più). Viene visualizzata la pagina Aggiungi Replicat.
-
Selezionare un tipo Replicat e selezionare Successivo.
-
Immettere i dettagli come indicato di seguito.
-
Nome processo: REP_1
-
Descrizione: Replicat per PDB area 2
-
Intento: Unidirezionale
-
Dominio credenziali: GoldenGate
-
Alias credenziale: Reg2_PDB
-
Origine: trail
-
Nome trail: aa
-
Inizio: Posizione nel log
-
Tabella dei checkpoint: "GGADMIN"."CHKP_TABLE"
-
-
Selezionare Avanti
-
Nel menu Azione selezionare Avvia.
Passo 2.5.3 - Configurazione del percorso di distribuzione
I percorsi di distribuzione sono necessari solo quando i file trail devono essere inviati a un hub Oracle GoldenGate aggiuntivo in un'area diversa o addirittura uguale, come descritto nella figura riportata di seguito.
Figura 1: Percorso di distribuzione di Oracle GoldenGate

Quando si utilizzano i percorsi di distribuzione Oracle GoldenGate con il proxy inverso NGINX, è necessario eseguire passi aggiuntivi per garantire la configurazione dei certificati client e server del percorso.
Per ulteriori informazioni, vedere Percorso del servizio di distribuzione. Un esempio dettagliato è il seguente video, "Connetti un Oracle GoldenGate on-premise a OCI GoldenGate utilizzando NGINX", per configurare correttamente i certificati.
Di seguito sono riportati i passi eseguiti in questa fase secondaria.
-
Passo 2.5.3.1: scaricare il certificato radice del server di destinazione, quindi caricarlo in Oracle GoldenGate di origine
-
Passo 2.5.3.2: creare un utente nella distribuzione di destinazione da utilizzare per Oracle GoldenGate di origine
-
Passo 2.5.3.3: creare una credenziale in Oracle GoldenGate di origine
-
Passo 2.5.3.4: creare un percorso di distribuzione in Oracle GoldenGate di origine per la distribuzione di destinazione
-
Passo 2.5.3.5: verificare la connessione nel servizio di ricezione della console di distribuzione di destinazione
Passo 2.5.3.1: scaricare il certificato radice del server di destinazione, quindi caricarlo in Oracle GoldenGate di origine
Scaricare il certificato radice del server di distribuzione di destinazione e aggiungere il certificato CA al Service Manager di distribuzione di origine.
-
Eseguire il login all'interfaccia utente Web GoldenGate per la destinazione GoldenGate.
-
Segui "Passo 2 - Scarica il certificato root del server di destinazione" nel video, Connetti un Oracle GoldenGate on-premise a OCI GoldenGate utilizzando NGINX.
Passo 2.5.3.2: creare un utente nella distribuzione di destinazione da utilizzare per Oracle GoldenGate di origine
-
Nell'interfaccia utente Web GoldenGate di destinazione, selezionare Amministrazione utenti dalla navigazione a sinistra.
-
Selezionare Aggiungi nuovo utente, quindi completare quanto riportato di seguito.
-
Autenticato da: selezionare Password dall'elenco a discesa.
-
Ruolo: selezionare Operatore (Operatore) dall'elenco a discesa.
-
Nome utente: immettere il nome utente.
-
Password e Verifica password: immettere la password associata all'utente.
-
-
Selezionare Sottometti.
Passo 2.5.3.3: creare una connessione percorso in Oracle GoldenGate di origine
Creare una connessione percorso nella distribuzione di origine che connette la distribuzione di destinazione con l'utente creato nel passo precedente. Ad esempio, un dominio OP2C e un alias di WSSNET.
-
Eseguire il login a Oracle GoldenGate di origine.
-
Nel menu di navigazione selezionare Connessioni percorso.
-
Nella pagina Connessioni percorso, selezionare Aggiungi connessione percorso, quindi completare quanto riportato di seguito.
-
Alias credenziale: immettere un alias.
-
ID utente: immettere il nome dell'utente creato nel passo 2.5.3.2.
-
Password e Verifica password: immettere la password associata all'utente dal passo 2.5.3.2.
-
-
Selezionare Sottometti.
Passo 2.5.3.4: creare un percorso di distribuzione in Oracle GoldenGate di origine per la distribuzione di destinazione
Viene creato un percorso per inviare i file trail dal server di distribuzione al server ricevente. È possibile creare un percorso dal servizio di distribuzione. Per aggiungere un percorso per la distribuzione di origine:
-
In Oracle GoldenGate di origine, selezionare Percorsi del servizio di distribuzione dal menu di navigazione.
-
Selezionare Aggiungi percorso (icona più). Viene visualizzata la pagina Aggiungi percorso.
-
Immettere i dettagli come indicato di seguito.
-
Immettere un valore in Nome percorso.
-
In Origine, selezionare il nome dell'estrazione dall'elenco a discesa.
-
Per URI origine generata, immettere
localhostper il nome del server. Ciò consente al percorso di distribuzione di iniziare da qualsiasi nodo Oracle RAC. -
Per Metodo di autenticazione destinazione, selezionare UserID Alias.
-
Per Destinazione, selezionare wss (socket Web sicuro).
-
Per Host di destinazione, immettere il nome host/VIP di destinazione da utilizzare per la connessione al sistema di destinazione.
-
Per Numero porta, immettere il numero di porta con cui è stato configurato NGINX (l'impostazione predefinita è 443).
-
Per Dominio, selezionare il dominio delle credenziali creato nel passo 2.3.3.3.
-
Per Alias, selezionare l'alias della credenziale wssnet, creato anche nel passo 2.3.3.3.
-
Per Opzioni di riavvio automatico, impostare il percorso di distribuzione per il riavvio quando il server di distribuzione viene avviato automaticamente. Ciò è necessario, in modo che non sia necessario un intervento manuale dopo il riposizionamento di un nodo RAC del server di distribuzione.
-
Per Restituzioni immettere 10.
-
Per Ritardo, ovvero il tempo in minuti di pausa tra i tentativi di riavvio, immettere 1.
-
-
Selezionare Crea percorso.
-
Dal menu Azione, selezionare Avvia.