Nota:

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

Architettura

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

Task 1: creare un nuovo compartimento

Task 2: Creare un nuovo Oracle Autonomous Database denominato sourceDB

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su Autonomous Database.

  2. Selezionare il compartimento in streaming creato nel passo precedente e fare clic su Crea Autonomous Database.

    T2_1

  3. Compilare le informazioni come mostrato nelle seguenti immagini.

    T2_2

    T2_3

    T2_4

Nota: prendere nota della password ADMIN creata.

Task 3: Creare un nuovo Oracle Autonomous Database denominato targetDB

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su Autonomous Database.

  2. Selezionare il compartimento creato nel passo precedente in streaming e fare clic su Crea Autonomous Database.

    T2_1

  3. Compilare le informazioni come mostrato nelle seguenti immagini.

    T3_2

    T2_3

    T2_4

Nota: prendere nota della password ADMIN creata.

Task 4: creare un nuovo schema e nuove impostazioni per sourceDB

  1. Andare alla home page sourceDB e fare clic su Azioni database per eseguire i comandi SQL nel database e caricare i dati.

    T4_1

  2. 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.

    T4_1

  3. 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.

    T4_1

Task 5: caricare i dati dal file banks_export.sql in sourceDB

  1. Andare alla home page sourceDB e fare clic su Azioni database per eseguire i comandi SQL nel database e caricare i dati.

    T4_1

  2. Scaricare il file banks_export.sql e copiare il contenuto nella finestra di esecuzione SQL ed eseguirlo come SCRIPT.

    T5_1

  3. Eseguire un INVIO semplice sulla tabella e controllare il numero di righe inserite.

    T5_1

Task 6: creare un nuovo schema per targetDB e caricare i dati

Task 7: creare la tabella delle transazioni denominata OPERACOES in sourceDB

  1. 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.

  2. Andare alla home page sourceDB e fare clic su Azioni database per eseguire i comandi SQL nel database e caricare i dati.

    T4_1

  3. Scaricare il file operacoes_table.sql e copiare il contenuto nella finestra di esecuzione SQL ed eseguirlo come SCRIPT.

T7_1

Tabella vuota che riceverà i dati casuali per avviare gli eventi su Oracle GoldenGate.

Task 8: Creare un pool di streaming OCI

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Analitica e AI, fare clic su Streaming, quindi selezionare Pool di streaming.

  2. Fare clic su Crea pool di flussi e immettere le informazioni riportate di seguito.

    T8_1

    T8_1

  3. Fare clic su Crea.

  4. Fare clic su Impostazioni connessione Kafka e prendere nota delle informazioni relative alle stringhe di connessione.

    T8_1

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.

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Identity & Security, Identity, Domain, Dominio predefinito, Users.

  2. Selezionare lo stesso utente utilizzato per creare le risorse precedenti, ad esempio Oracle Autonomous Database e Pool di flussi OCI.

T9_1

T9_1

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.

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.

  2. Selezionare l'opzione Connessioni dal menu a sinistra e fare clic su Crea connessione.

  3. Creare la connessione per sourceDB.

    T9_1

    T9_1

  4. Ripetere il processo e creare la connessione per targetDB.

    T9_1

    T9_1

  5. Creare la connessione per il pool di streaming OCI DefaultPool.

    T9_1

    T9_1

A questo punto, è consigliabile avere le seguenti connessioni:

T10_1

Task 11: Crea distribuzione Oracle GoldenGate - Tipo: ORACLE

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.

  2. Selezionare l'opzione Distribuzioni dal menu a sinistra e fare clic su Crea distribuzione.

    T10_1

    T10_1

Nota: assicurarsi di salvare la password oggadmin.

Task 12: Crea distribuzione Oracle GoldenGate - Tipo: BIGDATA

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.

  2. Selezionare l'opzione Distribuzioni dal menu a sinistra e fare clic su Crea distribuzione.

    T12_1

    T12_1

    T12_1

  3. Una volta create le distribuzioni e attive, passare al passo successivo.

    T12_1

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.

  1. Fare clic sul menu di navigazione in alto a sinistra, selezionare Oracle Database, quindi fare clic su GoldenGate.

  2. Selezionare l'opzione Connessioni dal menu a sinistra e fare clic su Crea connessione.

    T13_1

    T13_1

Le connessioni devono essere simili alle seguenti:

T13_1

Task 14: aggiunta di connessioni alla distribuzione di Oracle GoldenGate - GGForOracle

  1. Selezionare la distribuzione GGForOracle nel menu a sinistra fare clic su Connessioni assegnate, quindi su Assegna connessione.

    T14_1

  2. Aggiungere la connessione per sourceDB.

    T14_1

  3. Aggiungere la connessione per targetDB.

    T14_1

  4. Aggiungere la connessione per GGOracletoGGBigData.

    T14_1

Nella distribuzione di GGForOracle devono essere disponibili le connessioni seguenti:

T14_1

Task 15: aggiunta di connessioni alla distribuzione di Oracle GoldenGate - GGforBigData

  1. Selezionare la distribuzione GGforBigData nel menu a sinistra fare clic su Connessioni assegnate, quindi su Assegna connessione.

    T15_1

    T15_1

Nella distribuzione di GGforBigData devono essere disponibili le connessioni seguenti:

T15_1

Task 16: impostazione di Oracle GoldenGate per GGforOracle

  1. Selezionare la distribuzione GGForOracle e fare clic su Avvia console.

  2. Immettere le credenziali oggadmin/yourpassword (password creata durante la creazione della distribuzione).

    T16_1

  3. Fare clic sul menu di navigazione, selezionare Configurazione, quindi fare clic su + per aggiungere una nuova credenziale.

    T16_1

  4. Aggiungere le credenziali per la distribuzione GGforBigData.

    Nota: utilizzare oggadmin impostato durante la creazione della distribuzione.

    T16_1

  5. Fare clic per connettersi in sourceDB, quindi fare clic su + in TRANDATA per aggiungere le tabelle necessarie per la replica.

    T16_1

  6. Aggiungere un nuovo record per la tabella FINDATA.BANKS e fare clic su Sottometti.

    T16_1

  7. Aggiungere un nuovo record per la tabella FINDATA.OPERACOES e fare clic su Sottometti.

    T16_1

  8. Per verificare se le tabelle sono state aggiunte, fare clic sul filtro per FINDATA.*.

    T16_1

  9. Fare clic per connettersi all'indirizzo targetDB, quindi fare clic su + in CHECKPOINT.

    T16_1

    T16_1

  10. Immettere FINDATA.CHECKTABLE e fare clic su Sottometti.

    T16_1

  11. Fare clic sull'opzione Panoramica del menu a sinistra per includere la nuova estrazione.

    T16_1

    T16_1

    T16_1

    T16_1

    • Includere i seguenti parametri:

      EXTRACT EXT
      USERIDALIAS sourceDB DOMAIN OracleGoldenGate
      EXTTRAIL E1
      table FINDATA.operacoes;
      table FINDATA.banks;
      
      
  12. Fare clic su Azioni, Avvia per avviare l'estrazione.

    T16_1

  13. A questo punto, creare un nuovo replicat per applicare la replica a targetDB.

    T16_1

    T16_1

    T16_1

    • 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 tabella FINDATA.OPERACOES verrà replicata nell'argomento di streaming OCI più avanti in questa esercitazione.

  14. Fare clic su Azione, Avvia per avviare il replicat.

    T16_1

    T16_1

  15. 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;
    

    T16_1

  16. 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;
    
    

    T16_1

  17. Fare clic sulla scheda Servizio di distribuzione e aggiungere un nuovo percorso per l'invio dei dati a GGforBigData.

    T16_1

    T16_1

    T16_1

  18. Fare clic su Azione, Avvia per avviare la distribuzione del servizio.

    T16_1

    T16_1

Task 17: impostazione di Oracle GoldenGate for Big Data - GGforBigData

  1. Selezionare la distribuzione GGforBigData e fare clic su Avvia console.

  2. Immettere le credenziali oggadmin/yourpassword (password creata durante la creazione della distribuzione).

    T17_1

  3. 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.

    T17_2

  4. Ora è necessario impostare il comando REPLICAT per pubblicare i dati nel topic del servizio di streaming OCI.

  5. Fare clic sulla scheda Servizio di amministrazione.

    T17_1

    T17_1

    T17_1

    • 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);
      
      

      T17_1

    • Aggiungere ${tableName} in questa riga e utilizzare tutti i valori predefiniti forniti.

      T17_1

  6. Fare clic su Azione, Avvia per avviare il replicat.

    T17_1

    • Verificare se lo stato è verde:

      T17_1

Task 18: verificare la replica nell'argomento di streaming OCI

  1. 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.

      T17_1

  2. Controllare se esistono record in FINDATA.OPERACOES eseguendo il comando SQL seguente.

    SELECT COUNT(*) FROM FINDATA.OPERACOES;
    

    T17_1

  3. 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.

  4. Controlla se un nuovo TOPIC viene creato automaticamente da Oracle GoldenGate for Big Data.

    T17_1

  5. Provare a utilizzare alcuni messaggi e verificare se sono disponibili nell'argomento facendo clic su Carica messaggi.

    T17_1

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

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.