Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Eseguire il flusso dei dati mediante Oracle GoldenGate e Oracle GoldenGate for Big Data con destinazioni diverse
Introduzione
Oracle GoldenGate è un servizio completamente gestito che consente ai data engineer di spostare i dati in tempo reale, su larga scala, da uno o più sistemi di gestione dei dati ai database Oracle Cloud. Progetta, esegui, orchestra e monitora i task di replica dei dati in una singola interfaccia senza dover allocare o gestire alcun ambiente di computazione.
Oracle GoldenGate for Big Data trasferisce i dati transazionali nei sistemi Big Data e cloud in tempo reale, senza alcun impatto sulle prestazioni dei sistemi di origine. Semplifica la distribuzione dei dati in tempo reale nelle più diffuse soluzioni Big Data, tra cui Apache Hadoop, Apache HBase, Apache Hive, Confluent Kafka, NoSQL Database, Elasticsearch, JDBC, Oracle Cloud, Amazon Web Services, Microsoft Azure Cloud, Google Cloud Platform e Data Warehouse per agevolare il miglioramento delle informazioni e l'adozione di azioni tempestive.
Il servizio di streaming di Oracle Cloud Infrastructure (OCI) offre una soluzione completamente gestita, scalabile e duratura per l'inclusione e il consumo di flussi di dati a elevato volume in tempo reale. Utilizza OCI Streaming per qualsiasi caso d'uso in cui i dati vengono prodotti ed elaborati in maniera continua e sequenziale in un modello di messaggistica di pubblicazione/sottoscrizione.
In questa esercitazione viene descritto come eseguire lo streaming dei dati da Oracle Autonomous Database in due destinazioni diverse, ovvero l'argomento Oracle Autonomous Database e Oracle Streams.
Obiettivo
-
Imposta due database Oracle Autonomous
-
In questo scenario di esempio, sourceDB contiene due tabelle Banks e Operacoes in cui i dati devono essere replicati in due destinazioni diverse.
-
La tabella Banks verrà replicata in un Oracle Autonomous Database di destinazione denominato targetDB
-
La tabella Operacoes verrà replicata in un argomento di streaming OCI (kafka) con flusso quasi in tempo reale
-
-
Impostare Oracle GoldenGate per replicare i dati dall'origine al database Destinazione
-
Pubblicare DML di tabella dal database Origine in un argomento Destinazione di streaming di Oracle Cloud Infrastructure (OCI) (compatibile con Kafka)
Architettura
IMPORTANTE: questa architettura di esempio è solo a scopo di apprendimento e per semplificarla, viene utilizzata una subnet PUBLIC, il che significa che questo non deve essere utilizzato per ambienti di produzione o per l'elaborazione di dati reali.
Per gli ambienti di produzione, è necessario utilizzare le subnet PRIVATE e applicare tutte le procedure ottimali di sicurezza descritte qui: Oracle Security Best Practices)
Prerequisiti
- Un account Oracle Cloud - Inizia a utilizzare Oracle Cloud Infrastructure Free Tier
- Una VCN di base (rete cloud virtuale) con due subnet (pubblica e privata)
Puoi seguire questa esercitazione per creare una nuova rete VCN QuickStart - Nozioni di base di Oracle Database
- Concetti di base dello streaming Kafka
Task 1: creare un nuovo compartimento
-
Eseguire il login all'account Oracle Cloud, fare clic sul menu di navigazione in alto a sinistra, selezionare Identità e sicurezza, quindi fare clic su Compartimenti.
Task 2: Creare un nuovo Oracle Autonomous Database denominato sourceDB
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su Autonomous Database.
-
Selezionare il compartimento in streaming creato nel passo precedente e fare clic su Crea Autonomous Database.
-
Compilare le informazioni come mostrato nelle seguenti immagini.
Nota: prendere nota della password ADMIN creata.
Task 3: Creare un nuovo Oracle Autonomous Database denominato targetDB
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su Autonomous Database.
-
Selezionare il compartimento creato nel passo precedente in streaming e fare clic su Crea Autonomous Database.
-
Compilare le informazioni come mostrato nelle seguenti immagini.
Nota: prendere nota della password ADMIN creata.
Task 4: creare un nuovo schema e nuove impostazioni per sourceDB
-
Andare alla home page sourceDB e fare clic su Azioni database per eseguire i comandi SQL nel database e caricare i dati.
-
Scaricare il file findata_schema.sql e copiare il contenuto nella finestra di esecuzione SQL ed eseguirlo come SCRIPT.
Nota: assicurarsi di impostare una password per l'utente FINDATA e di prendere nota per le fasi successive di questa esercitazione.
-
Scaricare il file enable_gg.sql e copiare il contenuto nella finestra di esecuzione SQL ed eseguirlo come SCRIPT.
Nota: assicurarsi di impostare una password per l'utente GGADMIN e di prendere nota per le fasi successive di questa esercitazione.
Task 5: caricare i dati dal file banks_export.sql
in sourceDB
-
Andare alla home page sourceDB e fare clic su Azioni database per eseguire i comandi SQL nel database e caricare i dati.
-
Scaricare il file banks_export.sql e copiare il contenuto nella finestra di esecuzione SQL ed eseguirlo come SCRIPT.
-
Eseguire un INVIO semplice sulla tabella e controllare il numero di righe inserite.
Task 6: creare un nuovo schema per targetDB e caricare i dati
-
Ripetere i task 4 e 5 per "targetDB".
-
Creare la tabella FINDATA, abilitare GG e caricare i dati dalla tabella BANKS nel database di destinazione come avveniva in sourceDB, ma ora connesso all'indirizzo targetDB.
Task 7: creare la tabella delle transazioni denominata OPERACOES in sourceDB
-
Creare una nuova tabella denominata
FINDATA.OPERACOES
solo in sourceDB. Questa tabella sarà i dati di origine che Oracle GoldenGate for Big Data acquisirà e pubblicherà sull'argomento relativo allo streaming OCI. -
Andare alla home page sourceDB e fare clic su Azioni database per eseguire i comandi SQL nel database e caricare i dati.
-
Scaricare il file operacoes_table.sql e copiare il contenuto nella finestra di esecuzione SQL ed eseguirlo come SCRIPT.
Tabella vuota che riceverà i dati casuali per avviare gli eventi su Oracle GoldenGate.
Task 8: Creare un pool di streaming OCI
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Analitica e AI, fare clic su Streaming, quindi selezionare Pool di streaming.
-
Fare clic su Crea pool di flussi e immettere le informazioni riportate di seguito.
-
Fare clic su Crea.
-
Fare clic su Impostazioni connessione Kafka e prendere nota delle informazioni relative alle stringhe di connessione.
Task 9: generare un TOKEN AUTH per accedere al pool di streaming OCI
Puoi accedere a streaming OCI (API Kafka) e ad altre risorse in Oracle Cloud con un token di autenticazione associato al tuo utente su Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). Nelle impostazioni di connessione Kafka, le stringhe di connessione SASL hanno un parametro denominato password e un valore AUTH_TOKEN come descritto nel task precedente. Per abilitare l'accesso allo streaming OCI, andare alla console OCI e creare un TOKEN AUTH.
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Identity & Security, Identity, Domain, Dominio predefinito, Users.
-
Selezionare lo stesso utente utilizzato per creare le risorse precedenti, ad esempio Oracle Autonomous Database e Pool di flussi OCI.
Nota: prendere nota del documento AUTH TOKEN, necessario per il passo successivo.
Task 10: Crea connessioni a Oracle GoldenGate
Per connettersi ai database di origine e destinazione, Oracle GoldenGate richiede la corretta impostazione della connessione.
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.
-
Selezionare l'opzione Connessioni dal menu a sinistra e fare clic su Crea connessione.
-
Creare la connessione per sourceDB.
-
Ripetere il processo e creare la connessione per targetDB.
-
Creare la connessione per il pool di streaming OCI DefaultPool.
A questo punto, è consigliabile avere le seguenti connessioni:
Task 11: Crea distribuzione Oracle GoldenGate - Tipo: ORACLE
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.
-
Selezionare l'opzione Distribuzioni dal menu a sinistra e fare clic su Crea distribuzione.
Nota: assicurarsi di salvare la password oggadmin.
Task 12: Crea distribuzione Oracle GoldenGate - Tipo: BIGDATA
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.
-
Selezionare l'opzione Distribuzioni dal menu a sinistra e fare clic su Crea distribuzione.
-
Una volta create le distribuzioni e attive, passare al passo successivo.
Task 13: creazione della connessione tra le distribuzioni di Oracle GoldenGate
Affinché Oracle GoldenGate comunichi con Oracle GoldenGate for Big Data, è necessario creare la connessione.
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.
-
Selezionare l'opzione Connessioni dal menu a sinistra e fare clic su Crea connessione.
Le connessioni devono essere simili alle seguenti:
Task 14: aggiunta di connessioni alla distribuzione di Oracle GoldenGate - GGForOracle
-
Selezionare la distribuzione GGForOracle nel menu a sinistra fare clic su Connessioni assegnate, quindi su Assegna connessione.
-
Aggiungere la connessione per sourceDB.
-
Aggiungere la connessione per targetDB.
-
Aggiungere la connessione per GGOracletoGGBigData.
Nella distribuzione di GGForOracle devono essere disponibili le connessioni seguenti:
Task 15: aggiunta di connessioni alla distribuzione di Oracle GoldenGate - GGforBigData
-
Selezionare la distribuzione GGforBigData nel menu a sinistra fare clic su Connessioni assegnate, quindi su Assegna connessione.
Nella distribuzione di GGforBigData devono essere disponibili le connessioni seguenti:
Task 16: impostazione di Oracle GoldenGate per GGforOracle
-
Selezionare la distribuzione GGForOracle e fare clic su Avvia console.
-
Immettere le credenziali oggadmin/yourpassword (password creata durante la creazione della distribuzione).
-
Fare clic sul menu di navigazione, selezionare Configurazione, quindi fare clic su + per aggiungere una nuova credenziale.
-
Aggiungere le credenziali per la distribuzione GGforBigData.
Nota: utilizzare oggadmin impostato durante la creazione della distribuzione.
-
Fare clic per connettersi in sourceDB, quindi fare clic su + in TRANDATA per aggiungere le tabelle necessarie per la replica.
-
Aggiungere un nuovo record per la tabella
FINDATA.BANKS
e fare clic su Sottometti. -
Aggiungere un nuovo record per la tabella
FINDATA.OPERACOES
e fare clic su Sottometti. -
Per verificare se le tabelle sono state aggiunte, fare clic sul filtro per FINDATA.*.
-
Fare clic per connettersi all'indirizzo targetDB, quindi fare clic su + in CHECKPOINT.
-
Immettere FINDATA.CHECKTABLE e fare clic su Sottometti.
-
Fare clic sull'opzione Panoramica del menu a sinistra per includere la nuova estrazione.
-
Includere i seguenti parametri:
EXTRACT EXT USERIDALIAS sourceDB DOMAIN OracleGoldenGate EXTTRAIL E1 table FINDATA.operacoes; table FINDATA.banks;
-
-
Fare clic su Azioni, Avvia per avviare l'estrazione.
-
A questo punto, creare un nuovo replicat per applicare la replica a targetDB.
-
Includere i seguenti parametri:
REPLICAT REP USERIDALIAS targetDB DOMAIN OracleGoldenGate MAP FINDATA.BANKS, TARGET FINDATA.BANKS;
Nota: qui viene replicata solo la tabella
FINDATA.BANKS
. Il motivo è che la replichiamo su targetDB. L'altra tabellaFINDATA.OPERACOES
verrà replicata nell'argomento di streaming OCI più avanti in questa esercitazione. -
-
Fare clic su Azione, Avvia per avviare il replicat.
-
Controllare che la replica funzioni per la tabella
FINDATA.BANKS
: andare alla pagina delle azioni del database per sourceDB e inserire un nuovo record.INSERT INTO FINDATA.BANKS VALUES (999, 999, 'XXXXXX','TEST GOLDENGATE','TESTGG'); COMMIT;
-
Aprire la pagina delle azioni del database per targetDB ed eseguire la query riportata di seguito per verificare se il record è stato creato.
select * from FINDATA.BANKS WHERE ID_SEQ = 999;
-
Fare clic sulla scheda Servizio di distribuzione e aggiungere un nuovo percorso per l'invio dei dati a GGforBigData.
-
Fare clic su Azione, Avvia per avviare la distribuzione del servizio.
Task 17: impostazione di Oracle GoldenGate for Big Data - GGforBigData
-
Selezionare la distribuzione GGforBigData e fare clic su Avvia console.
-
Immettere le credenziali oggadmin/yourpassword (password creata durante la creazione della distribuzione).
-
Fare clic sulla scheda Servizio di ricezione e verificare che funzioni già. Deve essere simile a questo, poiché sono già state eseguite tutte le impostazioni necessarie per la connessione tra entrambe le distribuzioni di Oracle GoldenGate.
-
Ora è necessario impostare il comando REPLICAT per pubblicare i dati nel topic del servizio di streaming OCI.
-
Fare clic sulla scheda Servizio di amministrazione.
-
Includere i seguenti parametri:
REPLICAT STRM TARGETDB LIBFILE libggjava.so SET property=/u02/Deployment/etc/conf/ogg/STRM.properties MAP FINDATA.operacoes, TARGET FINDATA.operacoes , THREADRANGE(1-5);
-
Aggiungere ${tableName} in questa riga e utilizzare tutti i valori predefiniti forniti.
-
-
Fare clic su Azione, Avvia per avviare il replicat.
-
Verificare se lo stato è verde:
-
Task 18: verificare la replica nell'argomento di streaming OCI
-
Andare alla pagina delle azioni del database per sourceDB e inserire alcune righe nella tabella
FINDATA.OPERACOES
.-
È possibile utilizzare lo script load_random_data.sql per inserire dati casuali nella tabella
FINDATA.OPERACOES
. -
Questo script aggiungerà 1.000 righe su
FINDATA.OPERACOES
e sarà sufficiente per verificare se la replica funziona come previsto.
-
-
Controllare se esistono record in
FINDATA.OPERACOES
eseguendo il comando SQL seguente.SELECT COUNT(*) FROM FINDATA.OPERACOES;
-
Fare clic sul menu di navigazione in alto a sinistra, selezionare Analitica e AI, fare clic su Streaming e selezionare Stream dal menu a sinistra.
-
Controlla se un nuovo TOPIC viene creato automaticamente da Oracle GoldenGate for Big Data.
-
Provare a utilizzare alcuni messaggi e verificare se sono disponibili nell'argomento facendo clic su Carica messaggi.
Nota importante: Carica messaggi funziona solo per i messaggi consumati negli ultimi MINUTE. Ciò significa che se si richiede più tempo di quello dopo l'esecuzione dello script LOAD_RANDOM_DATA.SQL, non verrà visualizzato alcun risultato.
Per visualizzare i risultati, andare al database ed eseguire di nuovo lo script LOAD_RANDOM_DATA.SQL, quindi tornare a Carica messaggi e visualizzare i messaggi.
Conferme
- Autore - Joao Tarla (Oracle LAD A-Team Solution Engineer)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.
Per la documentazione sul prodotto, visitare il sito Oracle Help Center.
Stream data using Oracle GoldenGate and Oracle GoldenGate for Big Data with different targets
F80321-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.