Hinweis:

Bereitstellung von Oracle GoldenGate-Microservices in Oracle Cloud Infrastructure über Regionen hinweg mit Oracle Database

Einführung

Die Microservices-Architektur (MA) von Oracle GoldenGate ist ein Replikationstool, mit dem Sie die Datenreplikation über mehrere Datenbankumgebungen hinweg verwalten und konfigurieren können. Es verwendet RESTful-Services und eine Microservices-basierte Architektur, um die Verwaltung, Konfiguration und Überwachung von Cloud-Deployments zu vereinfachen.

image

Oracle GoldenGate 23ai:

Oracle GoldenGate 23ai-Auswertungshistorie

image

Oracle GoldenGate 23ai – Features

image

Oracle GoldenGate-Implementierung

In diesem Tutorial verwenden wir Quell- und Zieldatenbanken als Oracle Database 23ai- und Oracle GoldenGate 23ai-Microservices als Service in OCI, um Daten aus der Ashburn-Region der Quelldatenbank (DB) in die San Jose-Zielregion zu replizieren. Oracle GoldenGate kann in jeder Region bereitgestellt werden. Wir stellen Oracle GoldenGate in der Region San Jose bereit und verbinden sowohl die Quell- als auch die Zieldatenbank mit demselben Oracle GoldenGate-Deployment.

image

Hinweis: Dies ist ein vereinfachtes Diagramm. Der tatsächliche Netzwerkname kann abweichen.

Umgebung:

OCI-Region Compartment VCN Subnetz CDB PDB Vault Schlüssel Sekret Golden Gate
Ashburn Datenbank/NonProd VCN_ASH Publikation/Pri_VCN_ASH VMDB1 VMDB1_PDB1 Vault_ASH - - -
San Jose Datenbank/NonProd VCN_SJ Publikation/Pri_VCN_SJ VMDB2 VMDB2_GG Vault_SJ GGKey Oggadmin OGG_Dep_23ai

Zielgruppe

Dieses Tutorial richtet sich an Systemadministratoren und Datenbankbenutzer, um mehr über Oracle GoldenGate-Microservices zu erfahren. Es wird davon ausgegangen, dass die Leser mit der Oracle GoldenGate-Technologie, Webtechnologien und OCI vertraut sind und über ein allgemeines Verständnis der UNIX-Plattformen verfügen.

Ziele

Voraussetzungen

Aufgabe 1: Oracle GoldenGate-Deployment bereitstellen

Um das Oracle GoldenGate-Deployment als Service in OCI bereitzustellen, sind Mindest-Policys für den Benutzer erforderlich, der das Deployment und die Verbindungen erstellen soll. Zusätzliche Aufgabe während der Wartung ist es, das Deployment zu stoppen und zu starten.

Die folgenden Policys sind erforderlich:

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>

Um das Oracle GoldenGate-Deployment bereitzustellen, gehen Sie zur OCI-Konsole, und wählen Sie die entsprechende Region und das entsprechende Compartment aus.

  1. Klicken Sie auf Oracle Database, und wählen Sie GoldenGate aus.

  2. Wählen Sie Deployment aus, und klicken Sie auf Deployment erstellen.

  3. Geben Sie den Namen des Deployments ein, erstellen Sie das Compartment, in dem sich das Oracle GoldenGate-Deployment befinden muss, wählen Sie Deployment oder Tests aus, und geben Sie die OCPU-Anzahl ein. Autoscaling wurde ab sofort deaktiviert und kann später aktiviert werden. Wählen Sie Subnetz und Lizenztyp aus, und klicken Sie auf Weiter.

    image

  4. Wählen Sie den Deployment-Typ, die Version von Oracle GoldenGate und den Instanznamen GoldenGate aus, geben Sie den Administratorbenutzernamen als oggadmin ein, und geben Sie den Compartment-Namen an, in dem das Secret im Abschnitt "Voraussetzungen" erstellt wird. Wählen Sie im Dropdown-Menü das Kennwort-Secret aus, und klicken Sie auf Erstellen.

    image

    Die Erstellung des Oracle GoldenGate-Deployments dauert einige Minuten. Das Oracle GoldenGate-Deployment wird unter Compartment (root)/Database/NonProd erstellt.

Aufgabe 2: Bei der Oracle GoldenGate-Konsole anmelden

  1. Nachdem das Oracle GoldenGate-Deployment abgeschlossen ist, öffnen Sie das Deployment, und klicken Sie auf Konsole starten.

    image

  2. Melden Sie sich mit dem Benutzernamen und dem Kennwort des Oracle GoldenGate-Deployments an, die bei der Deployment-Erstellung verwendet werden. (Ex.oggadmin/password)

    image

Aufgabe 3. Quell- und Zieldatenbank vorbereiten

Hinweis: Ab Oracle GoldenGate 23ai wird die Extraktion auf Root-Ebene nicht unterstützt. Dies bedeutet, dass die Benutzerberechtigungen nur auf PDB-Ebene zugewiesen werden und der Benutzer c##ggadmin nicht mit Oracle GoldenGate 23ai verwendet wird. Oracle GoldenGate 23ai mit Oracle Database ermöglicht die Implementierung integrierbarer Datenbanken (PDBs) für Quelle und Ziel. Extract wird für eine bestimmte PDB registriert, die als PDB-Extrakt bezeichnet wird.

  1. Stellen Sie sicher, dass Force Logging in der Quelldatenbank aktiviert ist.

    select name, force_logging from v$database;
    ALTER DATABASE FORCE LOGGING;
    select name, force_logging from v$database;
    
  2. Aktivieren Sie das minimale zusätzliche Logging.

    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. Ändern Sie den Parameter für den Oracle GoldenGate-Extrakt.

    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. Führen Sie die folgende Abfrage in der Quelldatenbank (PDB) aus.

    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. Führen Sie die folgende Abfrage in der Zieldatenbank (PDB) aus.

    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;
    

Aufgabe 4. Verbindung zur Quell- und Zieldatenbank erstellen

Sobald das Oracle GoldenGate-Deployment und die Oracle GoldenGate-Datenbank bereit sind, müssen wir eine Verbindung zwischen dem Oracle GoldenGate-Service und der Datenbank herstellen.

  1. Melden Sie sich bei der OCI-Konsole an, und wählen Sie Region und Compartment aus.

  2. Klicken Sie auf Oracle Database, und wählen Sie GoldenGate aus.

  3. Wählen Sie Verbindungen aus, und klicken Sie auf Verbindung erstellen.

  4. Geben Sie den Namen der Verbindung, das Compartment, in dem die Verbindung erstellt werden soll, den Typ für die Datenbank ein, und klicken Sie auf Weiter.

    image

  5. Um eine Verbindung zur Quelldatenbank zu erstellen, geben Sie die folgenden Informationen ein, und klicken Sie auf Erstellen.

    • Wählen Sie Datenbankinformationen eingeben aus, da sich die Datenbank in einer anderen Region befindet.
    • Datenbankverbindungszeichenfolge: Geben Sie die IP als Hostnamen ein, da der Hostname zur Auflösung durch DNS erforderlich wäre.
    • Datenbankbenutzername: Geben Sie GGADMIN ein, das in Aufgabe 3 erstellt wurde.
    • Datenbankbenutzerkennwort: Geben Sie das Datenbankbenutzerkennwort ein.
    • Verkehrsroutingmethode: Wählen Sie Dedizierter Endpunkt aus.
    • Sessionmodus: Wählen Sie Direkt aus.
    • Öffentliches Subnetz: Geben Sie Subnet-VCN_SJ ein.

    image

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

    Nachdem die Verbindung erstellt wurde, öffnen Sie die Verbindungsdetails unter GoldenGate, klicken Sie auf Zugewiesenes Deployment und Deployment zuweisen.

    image

  6. Erstellen Sie wie die Quelle eine Verbindung OGG_VMDB2_SJ zur Zieldatenbank, und weisen Sie das Deployment zu. Da sich Oracle GoldenGate und Oracle Database in derselben Region und demselben VCN befinden, können wir die Datenbank direkt auswählen, wie im folgenden Screenshot gezeigt.

    image

    Da sich die Datenbank in derselben Region befindet, können wir die Datenbank direkt auswählen und den Datenbankbenutzernamen und das Kennwort für GGADMIN eingeben, das in Aufgabe 3 erstellt wurde.

    image

  7. Validieren Sie die Quell- und Zielverbindung in Oracle GoldenGate. Melden Sie sich nach dem Erstellen einer Verbindung bei der Oracle GoldenGate-Konsole an. Klicken Sie auf DB-Verbindungen, um alle Verbindungen anzuzeigen. Klicken Sie auf Quell- und Zielverbindung, und stellen Sie sicher, dass beide Verbindungen aufgelöst werden.

    image

Aufgabe 5: Konfiguration extrahieren

  1. Trandata hinzufügen.

    Hinweis: Stellen Sie sicher, dass Sie "Ergänzend" auf Tabellenebene aktivieren, indem Sie TRANDATA hinzufügen. Wenn zusätzliches Logging auf Schemaebene bereits aktiviert ist, können Sie diese Schritte überspringen.

    1. Um Trandata hinzuzufügen, müssen Sie zunächst die Verbindung zur Quelldatenbank über die Oracle GoldenGate-Konsole herstellen. Klicken Sie auf die Verbindung zur Quelldatenbank.

    2. Klicken Sie auf +, wählen Sie Tabelle oder Schema aus, und geben Sie den Tabellennamen oder Schemanamen ein.

      Bei der Replikation auf Tabellenebene wählen Sie Tabelle aus, und geben Sie den Tabellennamen im Format <Schema_Name.Table_Name> ein.

    3. Wählen Sie Alle Spalten, wenn die Tabelle keine Schlüssel enthält, und wählen Sie CSN-Modus vorbereiten als nowait aus.

      image

    4. Nachdem trandata hinzugefügt wurde, können Sie danach suchen, indem Sie den Tabellen- oder Schemanamen in der Suchleiste angeben, wie in der folgenden Abbildung dargestellt.

      image

  2. Erstellen Sie einen integrierten Extract.

    1. Stellen Sie eine Verbindung zur OGG_VMDB1_PDB1_ASH-Verbindung der Quelldatenbank (PDB) in der Oracle GoldenGate-Konsole her, und erstellen Sie die CheckPoint-Tabelle.

      image

    2. Stellen Sie eine Verbindung zur OGG_VMDB1_PDB1_ASH-Verbindung der Quelldatenbank (PDB) in der Oracle GoldenGate-Konsole her, und erstellen Sie die Heartbeat-Tabelle nur für die Zieldatenbank.

      image

  3. Fügen Sie einen Extract hinzu.

    1. Nachdem trandata erfolgreich hinzugefügt wurde, fügen Sie den integrierten Extract für die genannten Tabellen oder Schemas hinzu. Wählen Sie den Extrakt aus dem Oracle GoldenGate-Navigationsmenü aus. Klicken Sie im Exportabschnitt auf +.

    2. Wählen Sie Integrierter Extract aus, geben Sie Prozessname (max. 8 Zeichen) und Beschreibung ein.

      image

    3. Wählen Sie im Dropdown-Menü die Option OracleGoldenGate als Domain der Quellzugangsdaten, die Zugangsdaten Alias, Trail, Verschlüsselungsprofil usw. aus.

      image

    4. Wählen Sie im Abschnitt Verwaltete Option die Optionen Profilname, Automatischer Neustart, Max. Wiederholungen, Wiederholungsverzögerung in Minuten, Fenster "Wiederholungen" aus, und klicken Sie auf Weiter.

      image

    5. Nachdem die Standardparameterdatei erstellt wurde, fügen Sie gegebenenfalls weitere erforderliche Parameter in die Parameterdatei ein, und klicken Sie auf Erstellen.

      image

      Parameter für den DEV-Export.

      EXTRACT EX_VMDB1
      USERIDALIAS OGG_VMDB1_PDB1_ASH DOMAIN OracleGoldenGate
      EXTTRAIL et
      TABLE GG_ASH.*;
      
  4. Starten Sie den integrierten Extract.

    1. Klicken Sie nach der Extraktion auf Starten.

      image

      Sobald die Extraktion erfolgreich ausgeführt wurde, wird sie im Status Wird ausgeführt angezeigt.

      image

    2. Blenden Sie Extract-Prozess ein. Es werden viele Abschnitte wie Checkpoint, Statistiken und Bericht angezeigt. Derzeit können Sie den Bericht sehen. Klicken Sie auf der rechten Seite auf Aktualisieren, um den Bericht oder die Statistiken zu aktualisieren.

      image

Aufgabe 6: Erstmaliges Laden von Daten

  1. Nehmen Sie einen SCN-basierten Exportdump des genannten Schemas aus der Quell-PDB auf.

    $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. Importieren Sie die Daten in die Ziel-PDB.

    Hinweis: In diesem Tutorial haben wir DBA-Zugriff auf die GG_ash erteilt. Sie können jedoch je nach Anforderung Zugriff erteilen.

    $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
    

Aufgabe 7: Replicat-Konfiguration

  1. Erstellen Sie das integrierte Replikat.

    1. Um Trandata hinzuzufügen, müssen Sie zunächst die Verbindung zur Quelldatenbank über die Oracle Goldengate-Konsole herstellen. Wählen Sie im linken Fenster Replizieren aus, und klicken Sie unter Replikate auf +.

    2. Wählen Sie Integriertes Replicat aus, geben Sie Replikatname, Beschreibung ein, und klicken Sie auf Weiter.

      image

    3. Geben Sie Replicat-Trail (wie im Extraktionsprozess angegeben - Aufgabe 5), Verschlüsselungsprofil, Domain, Alias, CheckPoint-Tabelle (während Extraktion erstellt - Aufgabe 5) und Logspeicherort ein.

      image

    4. Wählen Sie im Abschnitt Verwaltete Option die Optionen Profilname, Automatischer Neustart, Max. Wiederholungen, Wiederholungsverzögerung, Fenster "Wiederholungen" aus, und klicken Sie auf Weiter.

      image

    5. Nachdem die Standardparameterdatei erstellt wurde. Fügen Sie bei Bedarf weitere erforderliche Parameter in der Parameterdatei hinzu, und klicken Sie auf Erstellen.

      image

  2. Starten Sie das Replicat von flashback_SCN.

    1. Nachdem der Replicat-Prozess erstellt wurde, klicken Sie auf drei Punkte und Mit Optionen beginnen.

      image

    2. Wählen Sie als Startpunkt Nach CSN und als CSN-Nummer die SCN-Nummer aus, die wir während des Exports als Flashback-SCN verwendet haben. Aktivieren Sie die Option Duplikate filtern, und klicken Sie auf Starten.

      image

    3. Klicken Sie auf Replikat. Es werden viele Abschnitte wie Checkpoint, Statistiken und Bericht angezeigt. Klicken Sie auf der rechten Seite auf Bericht und Aktualisieren, um den Bericht oder die Statistiken zu aktualisieren.

      image

Aufgabe 8: Datenreplikation validieren

  1. Melden Sie sich nach der Konfiguration von Extract und Replicat bei der Oracle GoldenGate-Konsole an, und klicken Sie auf Home. Sie können sehen, dass sowohl Extract als auch Replicat ausgeführt werden.

  2. Fügen Sie einige Daten in die Quelldatenbank (PDB) ein. Dies sollte auch in der Zieldatenbank (PDB) berücksichtigt werden.

    image

  3. Melden Sie sich bei der Quelldatenbank an.

    image

  4. Melden Sie sich bei der Zieldatenbank an.

    image

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.