Nota

Implementa i microservizi Oracle GoldenGate in tutte le aree in Oracle Cloud Infrastructure utilizzando Oracle Database

Introduzione

L'architettura dei microservizi Oracle GoldenGate (MA) è uno strumento di replica che consente di gestire e configurare la replica dei dati in più ambienti di database. Utilizza i servizi RESTful e un'architettura basata su microservizi per semplificare la gestione, la configurazione e il monitoraggio delle distribuzioni cloud.

immagine

Oracle GoldenGate 23ai:

Cronologia delle valutazioni di Oracle GoldenGate 23ai

immagine

Funzioni di Oracle GoldenGate 23ai

immagine

Implementazione di Oracle GoldenGate

In questa esercitazione verranno utilizzati i database di origine e di destinazione come microservizi Oracle Database 23ai e Oracle GoldenGate 23ai as a service in OCI per replicare i dati dall'area Ashburn del database di origine (DB) nell'area San Jose del database di destinazione. Oracle GoldenGate può essere distribuito in entrambe le aree. Distribuiremo Oracle GoldenGate nell'area di San Jose e connetteremo sia il database di origine che quello di destinazione utilizzando la stessa distribuzione di Oracle GoldenGate.

immagine

Nota: questo è un diagramma semplificato. Il nome di rete effettivo potrebbe essere diverso.

Ambiente:

Area OCI Compartimento VCN Subnet CDB PDB Vault Chiave Secrete Golden Gate
Ashburn Database/NonProd VCN_ASH Pubblica/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH ND ND ND
San José Database/NonProd VCN_SJ Pubblica/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey Oggadmin OGG_Dep_23ai

Destinatari

Questa esercitazione è destinata agli amministratori di sistema e agli utenti del database per ulteriori informazioni sui microservizi Oracle GoldenGate. Si presume che i lettori abbiano familiarità con la tecnologia Oracle GoldenGate, le tecnologie Web e OCI e abbiano una conoscenza generale delle piattaforme UNIX.

Obiettivi

Prerequisiti

Task 1: eseguire il provisioning della distribuzione di Oracle GoldenGate

Per eseguire il provisioning della distribuzione di Oracle GoldenGate come servizio in OCI, sono necessari criteri minimi per l'utente che intende creare la distribuzione e le connessioni. Il task aggiuntivo durante la manutenzione consiste nell'arresto e nell'avvio della distribuzione.

Sono necessari i criteri seguenti:

allow group <identity-domain>/<group-name> to manage goldengate-family in compartment <compartment-name>
allow group <identity-domain>/<group-name> to manage virtual-network-family in compartment <compartment-name>
allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in tenancy
allow group <identity-domain>/<group-name> to manage secret-family in <location>
allow group <identity-domain>/<group-name> to use keys in <location>
allow group <identity-domain>/<group-name> to use vaults in <location>
allow service goldengate to use keys in <location>
allow service goldengate to use vaults in <location>

Per eseguire il provisioning della distribuzione di Oracle GoldenGate, andare a OCI Console e selezionare l'area e il compartimento rispettivi.

  1. Fare clic su Oracle Database e selezionare GoldenGate.

  2. Selezionare deployment e fare clic su Crea distribuzione.

  3. Immettere il nome della distribuzione, creare il compartimento in cui deve risiedere la distribuzione di Oracle GoldenGate, selezionare Distribuzione o test, immettere conteggio OCPU. La scala automatica è stata mantenuta disabilitata al momento, che può essere abilitata in seguito. Selezionare Subnet, tipo di licenza e fare clic su Successivo.

    immagine

  4. Selezionare il tipo di distribuzione, la versione di Oracle GoldenGate e il nome dell'istanza GoldenGate, immettere il nome utente amministratore come oggadmin e assegnare il nome del compartimento in cui viene creato il segreto nella sezione Prerequisiti, selezionare il segreto password dal menu a discesa e fare clic su Crea.

    immagine

    La creazione della distribuzione di Oracle GoldenGate richiederà alcuni minuti. La distribuzione di Oracle GoldenGate verrà creata nel compartimento (root)/Database/NonProd.

Task 2: eseguire il login alla console di Oracle GoldenGate

  1. Una volta completata la distribuzione di Oracle GoldenGate, aprire la Distribuzione e fare clic su Avvia console.

    immagine

  2. Eseguire il login utilizzando il nome utente e la password di distribuzione di Oracle GoldenGate utilizzati durante la creazione della distribuzione.(Ex.oggadmin/password)

    immagine

Task 3. Prepara database di origine e di destinazione

Nota: a partire da Oracle GoldenGate 23ai, l'estrazione a livello radice non è supportata. Ciò significa che i privilegi utente vengono assegnati solo a livello di PDB e che l'utente c##ggadmin non viene utilizzato con Oracle GoldenGate 23ai. Oracle GoldenGate 23ai con Oracle Database consente l'implementazione di pluggable database (PDB) per l'origine e la destinazione. L'estrazione è registrata per un PDB specifico, denominato estrazione per PDB.

  1. Assicurarsi che il log forzato sia abilitato nel database di origine.

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. Abilita il log supplementare minimo.

    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    
    SELECT supplemental_log_data_min "Minimum", supplemental_log_data_pk  "Primary key", supplemental_log_data_ui  "Unique Key",
    supplemental_log_data_fk  "Foreign Key",supplemental_log_data_all "All" FROM  v$database;
    
  3. Modificare il parametro per l'estrazione di Oracle GoldenGate.

    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    ALTER SYSTEM SET enable_goldengate_replication=TRUE SCOPE=BOTH;
    alter system set streams_pool_size=2G scope=both sid='*';
    Show parameter enable_goldengate_replication
    show parameter streams_pool_size
    
  4. Eseguire la query seguente nel database di origine (PDB).

    alter session set container=VMDB1_PDB1;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_CAPTURE TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    
  5. Eseguire la query seguente nel database di destinazione (PDB).

    alter session set container=VMDB1_GG;
    create tablespace ggs_tbs;
    create tablespace gguser_tbs;
    
    create user GGADMIN identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs profile C##GGADMINPROFILE;
    
    GRANT CONNECT, RESOURCE TO GGADMIN;
    GRANT CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TO GGADMIN;
    GRANT OGG_APPLY, OGG_APPLY_PROCREP  TO GGADMIN;
    grant select any dictionary to GGUSER;
    grant select any transaction to GGUSER;
    

Task 4. Crea connessione al database di origine e di destinazione

Una volta che la distribuzione e il database Oracle GoldenGate sono pronti, è necessario stabilire una connessione tra il servizio Oracle GoldenGate e il database.

  1. Eseguire il login a OCI Console, selezionare l'area e il compartimento.

  2. Fare clic su Oracle Database e selezionare GoldenGate.

  3. Selezionare Connessioni e fare clic su Crea connessione.

  4. Immettere il nome della connessione, il compartimento in cui si desidera creare la connessione, il tipo per il database e fare clic su Avanti.

    immagine

  5. Per creare una connessione al database di origine, immettere le informazioni seguenti e fare clic su Crea.

    • Selezionare Immetti informazioni sul database poiché il database si trova in un'altra area.
    • Stringa di connessione al database: immettere IP come nome host perché il nome host richiede il DNS per risolverlo.
    • Nome utente del database: immettere GGADMIN creato nel task 3.
    • Password utente del database: immettere la password utente del database.
    • Metodo di instradamento del traffico: selezionare Endpoint dedicato.
    • Modalità sessione: selezionare Diretta.
    • Pubblica subnet: immettere Subnet-VCN_SJ.

    immagine

    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.192)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = vmdb1_pdbsub02090909270.vcnash.oraclevcn.com)))
    

    Dopo aver creato la connessione, aprire i dettagli della connessione in GoldenGate, fare clic su Distribuzione assegnata e su Assegna distribuzione.

    immagine

  6. Come l'origine, creare la connessione OGG_VMDB2_SJ al database di destinazione e assegnare la distribuzione. Solo la differenza, poiché Oracle GoldenGate e Oracle Database si trovano nella stessa area e nella stessa VCN, possiamo selezionare direttamente il database come mostrato nello screenshot riportato di seguito.

    immagine

    Poiché il database si trova nella stessa area, è possibile selezionare direttamente il database e immettere il nome utente e la password del database per GGADMIN creati nel task 3.

    immagine

  7. Convalidare la connessione di origine e di destinazione in Oracle GoldenGate. Dopo aver creato una connessione, eseguire il login alla console di Oracle GoldenGate. Fare clic su Connessioni DB per visualizzare tutte le connessioni. Fare clic su Connessione di origine e destinazione e assicurarsi che entrambe le connessioni vengano risolte.

    immagine

Task 5: Estrai configurazione

  1. Aggiungi dati transazione.

    Nota: assicurarsi di abilitare l'opzione supplementare a livello di tabella aggiungendo TRANDATA. Se il log supplementare a livello di schema è già abilitato, è possibile saltare questi passi.

    1. Per aggiungere trandata, è innanzitutto necessario stabilire la connessione al database di origine dalla console di Oracle GoldenGate. Fare clic sulla connessione al database di origine.

    2. Fare clic sul segno +, selezionare Tabella o Schema e immettere il Nome tabella o il Nome schema.

      In caso di replica a livello di tabella, selezionare Tabella e immettere il nome della tabella nel formato <Schema_Name.Table_Name>.

    3. Selezionare Tutte le colonne se la tabella non dispone di chiavi e selezionare Prepara modalità CSN come nowait.

      immagine

    4. Una volta aggiunto il trandata, è possibile cercarlo assegnando il nome della tabella o dello schema nella barra di ricerca come mostrato nella seguente immagine.

      immagine

  2. Creare un'estrazione integrata.

    1. Connettersi alla connessione al database di origine (PDB) OGG_VMDB1_PDB1_ASH nella console di Oracle GoldenGate e creare la CheckPoint tabella.

      immagine

    2. Connettersi alla connessione al database di origine (PDB) OGG_VMDB1_PDB1_ASH nella console di Oracle GoldenGate e creare la tabella di heartbeat solo per il database di destinazione.

      immagine

  3. Aggiungere un'estrazione integrata.

    1. Dopo aver aggiunto correttamente i trandata, aggiungere l'Estratto integrato per le tabelle o gli schemi menzionati. Selezionare l'estrazione dal menu di navigazione di Oracle GoldenGate. Fare clic sul segno + nella sezione di estrazione.

    2. Selezionare Estrazione integrata, immettere Nome processo (max 8 caratteri) e Descrizione.

      immagine

    3. Selezionare OracleGoldenGate come dominio della credenziale di origine dal menu a discesa, credenziali Alias, Trail, profilo di cifratura e così via.

      immagine

    4. Nella sezione Opzione gestita selezionare Nome profilo, Riavvio automatico, Numero massimo di nuovi tentativi, Riprova ritardo minuti, Finestra Riprova e fare clic su Avanti.

      immagine

    5. Dopo aver creato il file dei parametri predefinito, aggiungere ulteriori parametri necessari nel file dei parametri, se necessario, quindi fare clic su Crea.

      immagine

      Parametro utilizzato nell'estrazione DEV.

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. Avviare l'estrazione integrata.

    1. Dopo aver creato l'estrazione, fare clic su Avvia.

      immagine

      Una volta completata l'esecuzione dell'estrazione, verrà visualizzato lo stato In esecuzione.

      immagine

    2. Espandere Processo di estrazione per visualizzare molte sezioni, ad esempio Checkpoint, Statistiche e Report. Attualmente è possibile visualizzare il report. Fare clic su Aggiorna sul lato destro per aggiornare il report o le statistiche.

      immagine

Task 6: Caricamento dati iniziale

  1. Esegue il dump di esportazione basato su SCN dello schema indicato dal PDB di origine.

    $mkdir -p /u01/app/oracle/dump
    
    SQL>  alter session set container=VMDB1_PDB1;
    set lines 300 pages 100
    col DIRECTORY_NAME for a30
    col DIRECTORY_PATH for a100
    select DIRECTORY_NAME,DIRECTORY_PATH from dba_directories where DIRECTORY_NAME='DUMP' ;
    
    create directory dump as '/u01/app/oracle/dump';
    grant read,write on directory DUMP to GG_ASH;
    
    SQL> select current_scn from v$database;
    
    CURRENT_SCN
    -----------
       20049713
    
    expdp GG_ASH/PPassword_123@VMDB1_PDB1_ASH directory=dump dumpfile=GG_ASH.dmp logfile=GG_ASH.log schemas=GG_ASH FLASHBACK_SCN=20049713
    
  2. Importare i dati nel PDB di destinazione.

    Nota: in questa esercitazione è stato concesso all'amministratore del database l'accesso a GG_ash, ma è possibile concedere l'accesso in base ai requisiti.

    $mkdir -p /u01/app/oracle/dump/
    SQL> alter session set container=VMDB2_GG1;
    SQL> create user GG_ash identified by PPassword_123 default tablespace ggs_tbs quota unlimited on ggs_tbs ;
    SQL> grant DBA to GG_ash;
    SQL> create directory dump as '/u01/app/oracle/dump';
    SQL> grant read,write on directory DUMP to GG_ASH;
    [oracle@sjvmdb2 admin]$ cp /tmp/GG_ASH.dmp /u01/app/oracle/dump/GG_ASH.dmp
    [oracle@sjvmdb2 admin]$ impdp GG_ASH/PPassword_123@VMDB2_GG1 directory=dump dumpfile=GG_ASH.dmp logfile=imp_GG_SJ.log
    

Task 7: Configurazione Replicat

  1. Crea il Replicat integrato.

    1. Per aggiungere trandata, è innanzitutto necessario stabilire la connessione al database di origine dalla console Goldengate di Oracle. Selezionare Replica dal riquadro di sinistra e fare clic sul segno + in Repliche.

    2. Selezionare Replicat integrato, immettere Nome replica, Descrizione e fare clic su Successivo.

      immagine

    3. Immettere Replicat trail (come indicato nel processo di estrazione - Task 5), Profilo di cifratura, Dominio, Alias, CheckPoint Tabella (creato durante l'estrazione - Task 5) e Posizione log.

      immagine

    4. Nella sezione Opzione gestita selezionare Nome profilo, Riavvio automatico, Numero massimo di nuovi tentativi, Ritardo nuovi tentativi, Finestra Riprova e fare clic su Successivo.

      immagine

    5. Una volta creato il file dei parametri predefinito. Aggiungere ulteriori parametri necessari nel file dei parametri, se necessario, quindi fare clic su Crea.

      immagine

  2. Avviare Replicat da flashback_SCN.

    1. Dopo aver creato il processo Replicat, fare clic su tre punti e su Inizia con opzioni.

      immagine

    2. Selezionare Punto di inizio come numero Dopo CSN e CSN, ovvero il numero SCN utilizzato come SCN di flashback durante l'esecuzione dell'esportazione. Abilitare Filtra duplicati e fare clic su Avvia.

      immagine

    3. Fare clic su Replicat per visualizzare molte sezioni, ad esempio Checkpoint, Statistiche e Report. Fare clic su Report e Aggiorna sul lato destro per aggiornare il report o le statistiche.

      immagine

Task 8: Convalida replica dati

  1. Dopo aver configurato Extract e Replicat, eseguire il login alla console di Oracle GoldenGate e fare clic su Home. È possibile vedere sia Extract che Replicat in esecuzione.

  2. Inserire alcuni dati nel database di origine (PDB), lo stesso deve essere riportato nel database di destinazione (PDB).

    immagine

  3. Connettersi al database di origine.

    immagine

  4. Connettersi al database di destinazione.

    immagine

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.