Implementera Oracle Golden Gate på en virtuell Azure Linux-dator

Gäller för: ✔️ Virtuella Linux-datorer

Azure CLI används för att skapa och hantera Azure-resurser från kommandoraden eller i skript. Den här guiden beskriver hur du använder Azure CLI för att distribuera en Oracle 19c-databas från Azure Marketplace galleribild.

Det här dokumentet visar steg för steg hur du skapar, installerar och konfigurerar Oracle Golden Gate på en virtuell Azure-dator. I den här självstudien konfigureras två virtuella datorer i en tillgänglighetsuppsättning i en enda region. Samma självstudie kan användas för att konfigurera OracleGolden Gate för virtuella datorer i olika Tillgänglighetszoner i en enda Azure-region eller för virtuella datorer som har konfigurerats i två olika regioner.

Kontrollera att Azure CLI har installerats innan du börjar. Mer information finns i installationsguiden för Azure CLI.

Introduktion

GoldenGate är en logisk replikeringsprogramvara som möjliggör replikering, filtrering och transformering i realtid av data från en källdatabas till en måldatabas. Den här funktionen säkerställer att ändringar i källdatabasen replikeras i realtid, vilket gör det möjligt för måldatabasen att vara uppdaterad med de senaste data.

Använd GoldenGate främst för heterogena replikeringsfall, till exempel replikering av data från olika källdatabaser till en enda databas. Till exempel ett informationslager. Du kan också använda den för plattformsoberoende migreringar, till exempel från SPARC- och AIX-miljöer till Linux x86-miljöer och avancerade scenarier med hög tillgänglighet och skalbarhet.

Dessutom är GoldenGate även lämpligt för migreringar av nästan noll driftstopp eftersom det stöder onlinemigreringar med minimal avbrott i källsystemen.

Även om GoldenGate underlättar dubbelriktad replikering måste programmet konfigureras i enlighet med detta. Dessutom tillåter programvaran filtrering och transformering av data för att uppfylla specifika affärskrav, vilket gör det möjligt för användare att använda replikerade data för olika ändamål.

Förbereda miljön

För att utföra Oracle Golden Gate-installationen måste du skapa två virtuella Azure-datorer på samma tillgänglighetsuppsättning. Den Marketplace-avbildning som du använder för att skapa de virtuella datorerna är Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1.

Du måste också vara bekant med Unix-redigeraren vi och ha en grundläggande förståelse för X Server.

Följande tabell är en sammanfattning av miljökonfigurationen:

Primär plats Replikera webbplats
Oracle-version Oracle Database 19.3.1.0 Oracle Database 19.3.1.0
Datornamn ggVM1 ggVM2
Operativsystem Oracle Linux 7.x Oracle Linux 7.x
Oracle SID CDB1 CDB1
Replikeringsschema TEST TEST
Golden Gate-ägare/-replikering C##GGADMIN REPUSER
Golden Gate-process EXTORA REPORA

Logga in på Azure

  1. Öppna önskat gränssnitt i Windows, Linux eller Azure Shell.

  2. Logga in på din Azure-prenumeration med kommandot az login . Följ sedan anvisningarna på skärmen.

    $ az login
    
  3. Kontrollera att du är ansluten till rätt prenumeration genom att verifiera prenumerationens namn och/eller ID.

    $ az account show
    
    {
      "environmentName": "XXXXX",
      "homeTenantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "id": "<SUBSCRIPTION_ID>",
      "isDefault": true,
      "managedByTenants": [],
      "name": "<SUBSCRIPTION_NAME>",
      "state": "Enabled",
      "tenantId": XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "user": {
        "cloudShellID": true,
        "name": "aaaaa@bbbbb.com",
        "type": "user"
      }
    }
    

Generera autentiseringsnycklar

Vi använder nyckelfilbaserad autentisering med ssh för att ansluta till den virtuella Oracle Database-datorn. Se till att dina privata (namngivna id_rsa) och offentliga (namngivna id_rsa.pub) nyckelfiler har skapats i gränssnittet.

Platsen för nyckelfilerna beror på källsystemet.

Windows: %USERPROFILE%.ssh Linux: ~/.ssh

Om de inte finns kan du skapa ett nytt nyckelfilpar.

ssh-keygen -m PEM -t rsa -b 4096

.ssh-katalogen och nyckelfilerna skapas. Mer information finns i Skapa och hantera SSH-nycklar för autentisering till en virtuell Linux-dator i Azure

Skapa en resursgrupp

Om du vill skapa en resursgrupp använder du kommandot az group create . En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.

$ az group create --name GoldenGateOnAzureLab --location westus

Skapa och konfigurera nätverk

Skapa det virtuella nätverket

Använd följande kommando för att skapa det virtuella nätverk som är värd för resurser som vi skapar i den här labbuppgiften.

$ az network vnet create \
  --name ggVnet \
  --resource-group GoldenGateOnAzureLab \
  --address-prefixes "10.0.0.0/16" \
  --subnet-name ggSubnet1 \
  --subnet-prefixes "10.0.0.0/24"

Skapa en nätverkssäkerhetsgrupp (NSG)

  1. Skapa en nätverkssäkerhetsgrupp (NSG) för att låsa det virtuella nätverket.

    $ az network nsg create \
      --resource-group GoldenGateOnAzureLab \
      --name ggVnetNSG
    
  2. Skapa en NSG-regel för att tillåta kommunikation inom det virtuella nätverket.

    $ az network nsg rule create  --resource-group GoldenGateOnAzureLab --nsg-name ggVnetNSG \
        --name ggAllowVnet \
        --protocol '*' --direction inbound --priority 3400 \
        --source-address-prefix 'VirtualNetwork' --source-port-range '*' \
        --destination-address-prefix 'VirtualNetwork' --destination-port-range '*' --access allow
    
  3. Skapa NSG-regel för att neka alla inkommande anslutningar

    $ az network nsg rule create \
      --resource-group GoldenGateOnAzureLab \
      --nsg-name ggVnetNSG \
      --name ggDenyAllInBound \
      --protocol '*' --direction inbound --priority 3500 \
      --source-address-prefix '*' --source-port-range '*' \
      --destination-address-prefix '*' --destination-port-range '*' --access deny
    
  4. Tilldela NSG till undernätet där vi är värdar för våra servrar.

    $ az network vnet subnet update --resource-group GoldenGateOnAzureLab --vnet-name ggVNet --name ggSubnet1 --network-security-group ggVnetNSG
    

Skapa Bastion-nätverk

  1. Skapa Bastion-undernät. Namnet på undernätet måste vara AzureBastionSubnet

    $ az network vnet subnet create  \
        --resource-group GoldenGateOnAzureLab \
        --name AzureBastionSubnet \
        --vnet-name ggVnet \
        --address-prefixes 10.0.1.0/24
    
  2. Skapa offentlig IP-adress för Bastion

    $ az network public-ip create \
        --resource-group GoldenGateOnAzureLab \
        --name ggBastionIP \
        --sku Standard
    
  3. Skapa En Azure Bastion-resurs. Det tar cirka 10 minuter för resursen att distribueras.

    $ az network bastion create \
        --resource-group GoldenGateOnAzureLab \
        --name ggBastion \
        --public-ip-address ggBastionIP \
        --vnet-name ggVnet \
        --sku Standard \
        --enable-tunneling \
        --enable-ip-connect true
    

Skapa en virtuell X Server-dator (ggXServer)

Ersätt ditt lösenord och kör följande kommando för att skapa en virtuell Windows-dator där vi distribuerar X Server.

$ az vm create \
     --resource-group GoldenGateOnAzureLab \
     --name ggXServer \
     --image MicrosoftWindowsDesktop:Windows-10:win10-22h2-pro-g2:19045.2604.230207 \
     --size Standard_DS1_v2  \
     --vnet-name ggVnet \
     --subnet ggSubnet1 \
     --public-ip-sku Standard \
     --nsg "" \
     --data-disk-delete-option Delete \
     --os-disk-delete-option Delete \
     --nic-delete-option Delete \
     --admin-username azureuser \
     --admin-password <ENTER_YOUR_PASSWORD_HERE>

Ansluta till ggXServer via Bastion

Anslut till ggXServer med Bastion.

  1. Gå till ggXServer från Azure Portal.
  2. Gå till Översikt på det vänstra bladet
  3. Välj Anslut>Bastion på menyn längst upp
  4. Välj fliken Bastion
  5. Klicka på Använd Bastion

Förbered ggXServer för att köra X Server

X Server krävs för senare steg i den här labbuppgiften. Utför följande steg för att installera och starta X Server.

  1. Ladda ned Xming X Server för Windows till ggXServer och installera med alla standardalternativ.

  2. Kontrollera att du inte valde Starta i slutet av installationen

  3. Starta programmet "XLAUNCH" från Start-menyn.

  4. Välj flera windows

    Skärmbild av XLaunch-guiden steg 1.

  5. Välj Starta ingen klient

    Skärmbild av XLaunch-guiden steg 2.

  6. Välj Ingen åtkomstkontroll

    Skärmbild av XLaunch-guiden steg 3.

  7. Välj Tillåt åtkomst för att tillåta X Server via Windows-brandväggen

    Skärmbild av XLaunch-guiden steg 4.

Om du startar om den virtuella ggXServer-datorn följer du steg 2–6 ovan för att starta om X Server-programmet.

Skapa virtuella Oracle-databasdatorer

För den här labbuppgiften skapar vi virtuella datorer ggVM1 och ggVM2 från Oracle Database 19c-avbildning. Om de inte redan finns på standardnyckelplatsen skapar det här kommandot även SSH-nycklar. Om du vill använda en specifik uppsättning nycklar använder du alternativet --ssh-key-value. Om du redan har skapat dina SSH-nycklar i avsnittet Generera autentiseringsnycklar används dessa nycklar.

När du skapar en ny parameter för virtuell dator size anger du storleken och typen av virtuell dator som skapats. Beroende på vilken Azure-region du valde för att skapa en virtuell dator och dina prenumerationsinställningar kanske vissa storlekar och typer av virtuella datorer inte är tillgängliga för dig att använda. I följande exempel används minsta nödvändiga storlek för den här labbuppgiften Standard_DS1_v2. Om du vill ändra specifikationerna för den virtuella datorn väljer du någon av de tillgängliga storlekarna från Vm-storlekar i Azure. I testsyfte kan du välja mellan Generell användning (D-serien) typer av virtuella datorer. För produktions- eller pilotdistributioner är minnesoptimerad (E-serien och M-serien) lämpligare.

Skapa ggVM1 (primär)

$ az vm create \
     --resource-group GoldenGateOnAzureLab \
     --name ggVM1 \
     --image Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1 \
     --size Standard_DS1_v2 \
     --generate-ssh-keys \
    --admin-username azureuser \
    --vnet-name ggVnet \
    --subnet ggSubnet1 \
    --public-ip-address "" \
    --nsg "" \
    --zone 1

Skapa ggVM2 (replikera)

$ az vm create \
    --resource-group GoldenGateOnAzureLab \
    --name ggVM2 \
    --image Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1 \
    --size Standard_DS1_v2  \
    --generate-ssh-keys \
    --admin-username azureuser \
    --vnet-name ggVnet \
    --subnet ggSubnet1 \
    --public-ip-address "" \
    --nsg "" \
    --zone 2

Ansluta till ggVM1 (primär)

Anslut till ggVM1 med Bastion.

  1. Gå till ggVM1 från Azure Portal.
  2. Gå till Översikt i det vänstra fönstret.
  3. Välj Anslut>Bastion på menyn högst upp
  4. Välj fliken Bastion
  5. Klicka på Använd Bastion

Skapa databasen på ggVM1 (primär)

Oracle-programvaran är redan installerad på Marketplace-avbildningen, så nästa steg är att skapa databasen.

  1. Kör programvaran som oracle användare.
$ sudo su - oracle
  1. Skapa databasen med följande kommando. Det kan ta 30–40 minuter att slutföra det här kommandot.
$ dbca -silent \
   -createDatabase \
   -templateName General_Purpose.dbc \
   -gdbname cdb1 \
   -sid cdb1 \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -sysPassword OraPasswd1 \
   -systemPassword OraPasswd1 \
   -createAsContainerDatabase true \
   -numberOfPDBs 1 \
   -pdbName pdb1 \
   -pdbAdminPassword OraPasswd1 \
   -databaseType MULTIPURPOSE \
   -automaticMemoryManagement false \
   -storageType FS \
   -datafileDestination "/u01/app/oracle/oradata/" \
   -ignorePreReqs

Utdata bör se ut ungefär som följande svar.

Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete
70% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for more details.
  1. Ange variablerna ORACLE_SID och LD_LIBRARY_PATH.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Kör följande för att lägga till ORACLE_SID och LD_LIBRARY_PATH till .bashrc-filen, så att dessa inställningar sparas för framtida inloggningar. ORACLE_HOME variabel bör redan anges i .bashrc-filen.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
  1. Starta Oracle-lyssnare
$ lsnrctl start

Ansluta till ggVM2 (replikera)

Anslut till ggVM2 med Bastion.

  1. Gå till ggVM2 från Azure Portal.
  2. Gå till Översikt i det vänstra fönstret.
  3. Välj Anslut>Bastion på menyn högst upp
  4. Välj fliken Bastion
  5. Klicka på Använd Bastion

Öppna brandväggsportar för ggVM1

Konfigurera brandväggen för att tillåta anslutningar från ggVM1. Följande kommando körs på ggVM2.

$ sudo su -
$ firewall-cmd --permanent --zone=trusted --add-source=10.0.0.5
$ firewall-cmd --reload
$ exit

Skapa databasen på ggVM2 (replikera)

  1. Växla till oracle användare om det behövs
$ sudo su - oracle
  1. Skapa databasen
$ dbca -silent \
   -createDatabase \
   -templateName General_Purpose.dbc \
   -gdbname cdb1 \
   -sid cdb1 \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -sysPassword OraPasswd1 \
   -systemPassword OraPasswd1 \
   -createAsContainerDatabase true \
   -numberOfPDBs 1 \
   -pdbName pdb1 \
   -pdbAdminPassword OraPasswd1 \
   -databaseType MULTIPURPOSE \
   -automaticMemoryManagement false \
   -storageType FS \
   -datafileDestination "/u01/app/oracle/oradata/" \
   -ignorePreReqs
  1. Ange variablerna ORACLE_SID och ORACLE_HOME.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Kör följande för att lägga till ORACLE_SID och LD_LIBRARY_PATH till .bashrc-filen, så att dessa inställningar sparas för framtida inloggningar. ORACLE_HOME variabel bör redan anges i .bashrc-filen.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
  1. Starta Oracle-lyssnare
$ lsnrctl start

Konfigurera Golden Gate på ggVM1

Följ stegen i det här avsnittet för att installera och konfigurera Golden Gate.

Aktivera arkivloggläge på ggVM1 (primär)

  1. Anslut till sqlplus
$ sqlplus / as sysdba
  1. Aktivera arkivlogg
SQL> SELECT log_mode FROM v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
  1. Aktivera tvingad loggning och kontrollera att minst en loggfil finns.
SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER SYSTEM set enable_goldengate_replication=true;
SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN;
SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER SESSION SET CONTAINER=PDB1;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> EXIT;

Ladda ned Golden Gate-programvara

  1. Ladda ned 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip-filen från nedladdningssidan för Oracle Golden Gate. Under nedladdningstiteln Oracle GoldenGate 21.3.0.0.0 för Oracle på Linux x86-64.

  2. När du har laddat ned .zip-filen till klientdatorn kan du använda SCP (Secure Copy Protocol) för att kopiera filerna till dina virtuella datorer (ggVM1 och ggVM2). Kontrollera att scp kommandot pekar på rätt sökväg för .zip fil.

  3. Kopiera till ggVM1

    1. Logga in och se till att du använder rätt prenumeration efter behov enligt beskrivningen i Logga in på Azure

    2. Öppna tunneln till den virtuella måldatorn med följande PowerShell-kommando

      $ggVM1id=$(az vm show --resource-group GoldenGateOnAzureLab --name ggVM1 --query 'id' --output tsv)
      az network bastion tunnel --name ggBastion --resource-group GoldenGateOnAzureLab --target-resource-id $ggVM1id --resource-port 22 --port 57500
      
    3. Låt den första kommandotolken köras och öppna en andra kommandotolk för att ansluta till den virtuella måldatorn genom tunneln. I det andra kommandotolken kan du ladda upp filer från den lokala datorn till den virtuella måldatorn med hjälp av följande kommando. Rätt id_rsa nyckelfil för att komma åt den virtuella datorn måste finnas i .ssh katalogen eller så kan du peka på en annan nyckelfil med hjälp av -i parametern för att scp kommandot.

       scp -P 57500 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip"  azureuser@127.0.0.1:.
      
  4. Kopiera till ggVM2

    1. Öppna tunneln till den virtuella måldatorn med följande PowerShell-kommando

      $ggVM2id=$(az vm show --resource-group GoldenGateOnAzureLab --name ggVM2 --query 'id' --output tsv)
      az network bastion tunnel --name ggBastion --resource-group GoldenGateOnAzureLab --target-resource-id $ggVM2id --resource-port 22 --port 57501
      
    2. Låt den första kommandotolken köras och öppna en andra kommandotolk för att ansluta till den virtuella måldatorn genom tunneln. I det andra kommandotolken kan du ladda upp filer från den lokala datorn till den virtuella måldatorn med hjälp av följande kommando. Rätt id_rsa nyckelfil för att komma åt den virtuella datorn måste finnas i .ssh katalogen eller så kan du peka på en annan nyckelfil med hjälp av -i parametern för att scp kommandot.

      scp -P 57501 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip"  azureuser@127.0.0.1:.
      

Installera Golden Gate-programvara

  1. Anslut till ggVM1 med Bastion.

    1. Gå till ggVM1 från Azure Portal.
    2. Gå till Översikt i den vänstra panelen
    3. Välj Anslut>Bastion på menyn högst upp
    4. Välj fliken Bastion
    5. Klicka på Använd Bastion
  2. Flytta .zip-filen till mappen /opt och ändra sedan ägaren

    $ sudo su -
    $ mv /home/azureuser/*.zip /opt
    
  3. Packa upp filerna (installera unzip-verktyget om det inte redan är installerat)

    $ yum install unzip
    $ cd /opt
    $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
    
  4. Ändra behörighet

    $ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome
    $ exit
    
  5. Starta Golden Gate-installationsprogrammet

    $ sudo su - oracle
    $ export DISPLAY=10.0.0.4:0.0
    $ cd /opt/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1
    $ ./runInstaller
    

    Installationsprogrammet öppnas på ggXServer.

  6. Välj Oracle GoldenGate för Oracle Database 21c. Välj sedan Nästa för att fortsätta.

    Skärmbild av installationsguiden för Golden Gate steg 1.

  7. Ange programplatsen till /u01/app/oracle/product/19.0.0/oggcore_1, kontrollera att starthanteraren är markerad och välj Nästa för att fortsätta.

    Skärmbild av installationsguiden för Golden Gate steg 2.

  8. På skärmen Sammanfattning väljer du Installera för att fortsätta.

    Skärmbild av installationsguiden för Golden Gate steg 3.

  9. Vänta tills installationen är klar.

    Skärmbild av installationsguiden för Golden Gate steg 4.

  10. Välj Stäng för att fortsätta.

Skärmbild av installationsguiden för Golden Gate steg 5.

  1. Anslut till ggVM2 med Bastion.

    1. Gå till ggVM2 från Azure Portal.
    2. Gå till Översikt i det vänstra fönstret
    3. Välj Anslut>Bastion på menyn högst upp
    4. Välj fliken Bastion
    5. Klicka på Använd Bastion
  2. Upprepa steg 2–10 ovan på ggVM2

Konfigurera tjänsten på ggVM1 (primär)

  1. Skapa eller uppdatera filen tnsnames.ora.

    $ sudo su - oracle
    $ cd $ORACLE_HOME/network/admin
    $ vi tnsnames.ora
    

    När vi-redigeraren öppnas måste du trycka på i för att växla till infogningsläge och sedan kopiera och klistra in filinnehåll och trycka på Esc tangenten :wq! för att spara filen.

    cdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=cdb1)
       )
     )
    
    pdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=pdb1)
       )
     )
    
  2. Skapa Golden Gate-ägare och användarkonton.

    Anteckning

    Ägarkontot måste ha C##-prefix.

    $ sqlplus / as sysdba
    
     SQL> CREATE USER C##GGADMIN identified by ggadmin;
     SQL> EXEC dbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL');
     SQL> GRANT DBA to C##GGADMIN container=all;
     SQL> connect C##GGADMIN/ggadmin
     SQL> ALTER SESSION SET CONTAINER=PDB1;
     SQL> EXIT;
    
  3. Skapa Golden Gate-testanvändarkontot

    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ sqlplus system/OraPasswd1@pdb1
    
    SQL> CREATE USER test identified by test DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
    SQL> GRANT connect, resource, dba TO test;
    SQL> ALTER USER test QUOTA 100M on USERS;
    SQL> connect test/test@pdb1
    SQL> @demo_ora_create
    SQL> @demo_ora_insert
    SQL> EXIT;
    
  4. Konfigurera extraheringsparameterfilen.

    Starta kommandoradsgränssnittet för Golden Gate (ggsci):

    $ sudo su - oracle
    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ ./ggsci
    
    GGSCI> DBLOGIN USERID test@pdb1, PASSWORD test
    Successfully logged into database  pdb1
    GGSCI>  ADD SCHEMATRANDATA pdb1.test
    2017-05-23 15:44:25  INFO    OGG-01788  SCHEMATRANDATA has been added on schema test.
    2017-05-23 15:44:25  INFO    OGG-01976  SCHEMATRANDATA for scheduling columns has been added on schema test.
    
    GGSCI> EDIT PARAMS EXTORA
    
  5. Tryck på i tangenten för att växla till infogningsläge och kopiera och klistra in (högerklicka på SSH-fönstret) och följ parameterfilen EXTRACT. Tryck på Esc för :wq! att spara filen.

    EXTRACT EXTORA
    USERID C##GGADMIN@cdb1, PASSWORD ggadmin
    RMTHOST 10.0.0.5, MGRPORT 7809
    RMTTRAIL ./dirdat/rt
    DDL INCLUDE MAPPED
    DDLOPTIONS REPORT
    LOGALLSUPCOLS
    UPDATERECORDFORMAT COMPACT
    TABLE pdb1.test.TCUSTMER;
    TABLE pdb1.test.TCUSTORD;
    
  6. Registrera extrahering – integrerat extrahering.

    GGSCI> dblogin userid C##GGADMIN@cdb1, password ggadmin
    Successfully logged into database CDB$ROOT.
    
    GGSCI> REGISTER EXTRACT EXTORA DATABASE CONTAINER(pdb1)
    
    2023-03-03 19:37:01  INFO    OGG-02003  Extract group EXTORA successfully registered with database at SCN 2142014.
    
    GGSCI> exit
    
  7. Konfigurera extrahering av kontrollpunkter och starta extrahering i realtid

    $ ./ggsci
    
    GGSCI>  ADD EXTRACT EXTORA, INTEGRATED TRANLOG, BEGIN NOW
    EXTRACT (Integrated) added.
    
    GGSCI>  ADD RMTTRAIL ./dirdat/rt, EXTRACT EXTORA, MEGABYTES 10
    RMTTRAIL added.
    
    GGSCI>  START EXTRACT EXTORA
    
    Sending START request to MANAGER ...
    EXTRACT EXTORA starting
    
    GGSCI > INFO ALL
    
    Program     Status      Group       Lag at Chkpt  Time Since Chkpt
    
    MANAGER     RUNNING
    EXTRACT     RUNNING     EXTORA      00:00:11      00:00:04
    
    GGSCI > EXIT
    

    I det här steget hittar du start-SCN, som används senare, i ett annat avsnitt.

    $ sqlplus / as sysdba
    
    SQL> alter session set container = pdb1;
    SQL> SELECT current_scn from v$database;
    CURRENT_SCN
    -----------
       2172191
    SQL> EXIT;
    
    $ ./ggsci
    GGSCI> EDIT PARAMS INITEXT
    

    När vi-redigeraren öppnas måste du trycka på i för att växla till infogningsläge och sedan kopiera och klistra in filinnehåll och trycka på Esc tangenten :wq! för att spara filen.

    EXTRACT INITEXT
    USERID C##GGADMIN@cdb1, PASSWORD ggadmin
    RMTHOST 10.0.0.6, MGRPORT 7809
    RMTTASK REPLICAT, GROUP INITREP
    TABLE pdb1.test.*, SQLPREDICATE 'AS OF SCN 2172191';
    
    GGSCI> ADD EXTRACT INITEXT, SOURCEISTABLE
    Extract added.
    GGSCI> EXIT
    

Konfigurera tjänsten på ggVM2 (replikera)

  1. Skapa eller uppdatera filen tnsnames.ora.

    $ cd $ORACLE_HOME/network/admin
    $ vi tnsnames.ora
    

    När vi-redigeraren öppnas måste du trycka på i för att växla till infogningsläge och sedan kopiera och klistra in filinnehåll och trycka på Esc tangenten :wq! för att spara filen.

    cdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=cdb1)
       )
     )
    
    pdb1=
     (DESCRIPTION=
       (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=localhost)
         (PORT=1521)
       )
       (CONNECT_DATA=
         (SERVER=dedicated)
         (SERVICE_NAME=pdb1)
       )
     )
    
  2. Skapa ett replikeringskonto.

    $ sqlplus / as sysdba
    
    SQL> ALTER SYSTEM set enable_goldengate_replication=true;
    SQL> ALTER SESSION SET CONTAINER = pdb1;
    SQL> CREATE USER REPUSER IDENTIFIED BY REP_PASS CONTAINER=CURRENT;
    SQL> GRANT DBA TO REPUSER;
    SQL> EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('REPUSER',CONTAINER=>'PDB1');
    SQL> CONNECT REPUSER/REP_PASS@PDB1
    SQL> EXIT;
    
  3. Skapa ett Golden Gate-testanvändarkonto.

    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ sqlplus system/OraPasswd1@pdb1
    
    SQL> CREATE USER test identified by test DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
    SQL> GRANT connect, resource, dba TO test;
    SQL> ALTER USER test QUOTA 100M on USERS;
    SQL> CONNECT test/test@pdb1
    SQL> @demo_ora_create
    SQL> EXIT;
    
  4. REPLICAT-parameterfil för att replikera ändringar.

    $ cd /u01/app/oracle/product/19.0.0/oggcore_1
    $ ./ggsci
    
    GGSCI> EDIT PARAMS REPORA
    

    När vi-redigeraren öppnas måste du trycka på i för att växla till infogningsläge och sedan kopiera och klistra in filinnehåll och trycka på Esc tangenten :wq! för att spara filen.

    REPLICAT REPORA
    ASSUMETARGETDEFS
    DISCARDFILE ./dirrpt/repora.dsc, PURGE, MEGABYTES 100
    DDL INCLUDE MAPPED
    DDLOPTIONS REPORT
    DBOPTIONS INTEGRATEDPARAMS(parallelism 6)
    USERID repuser@pdb1, PASSWORD REP_PASS
    MAP pdb1.test.*, TARGET pdb1.test.*;
    
  5. Konfigurera en kontrollpunkt för replikering.

    GGSCI> ADD REPLICAT REPORA, INTEGRATED, EXTTRAIL ./dirdat/rt
    GGSCI> EDIT PARAMS INITREP
    

    När vi-redigeraren öppnas måste du trycka på i för att växla till infogningsläge och sedan kopiera och klistra in filinnehåll och trycka på Esc tangenten :wq! för att spara filen.

    REPLICAT INITREP
    ASSUMETARGETDEFS
    DISCARDFILE ./dirrpt/tcustmer.dsc, APPEND
    USERID repuser@pdb1, PASSWORD REP_PASS
    MAP pdb1.test.*, TARGET pdb1.test.*;
    
    GGSCI> ADD REPLICAT INITREP, SPECIALRUN
    GGSCI> EXIT
    

Konfigurera replikering (ggVM1 och ggVM2)

1. Konfigurera replikeringen på ggVM2 (replikera)

Logga in på ggsci.

$ cd /u01/app/oracle/product/12.1.0/oggcore_1
$ ./ggsci
GGSCI> EDIT PARAMS MGR

Uppdatera filen med följande.

PORT 7809
ACCESSRULE, PROG *, IPADDR *, ALLOW

Starta om Manager-tjänsten.

GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT

2. Konfigurera replikeringen på ggVM1 (primär)

Starta den första inläsningen och sök efter fel.

$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
GGSCI> START EXTRACT INITEXT
GGSCI> VIEW REPORT INITEXT

3. Konfigurera replikeringen på ggVM2 (replikera)

Ändra SCN-numret med det tal som du fick tidigare.

$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
START REPLICAT REPORA, AFTERCSN 2172191

Replikeringen har börjat och du kan testa den genom att infoga nya poster i TEST-tabeller.

Visa jobbstatus och felsökning

Visa rapporter

  • Om du vill visa rapporter på ggVM1 kör du följande kommandon.

    GGSCI> VIEW REPORT EXTORA
    
  • Om du vill visa rapporter på ggVM2 kör du följande kommandon.

    GGSCI> VIEW REPORT REPORA
    

Visa status och historik

  • Om du vill visa status och historik på ggVM1 kör du följande kommandon.

    GGSCI> DBLOGIN USERID C##GGADMIN@CDB1, PASSWORD ggadmin
    GGSCI> INFO EXTRACT EXTORA, DETAIL
    
  • Om du vill visa status och historik på ggVM2 kör du följande kommandon.

    GGSCI> DBLOGIN USERID REPUSER@PDB1 PASSWORD REP_PASS
    GGSCI> INFO REP REPORA, DETAIL
    
    $ sqlplus test/test@pdb1
    
    SQL> select * from TCUSTMER;
    SQL> select * from TCUSTORD;
    

Observera datareplikering

  1. Ansluta till den primära databasen på ggVM1

    $ sqlplus test/test@pdb1
    
  2. Välj befintliga poster i tabellen

    SQL> select * from TCUSTORD;
    
  3. Skapa en testpost

    SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102);
    SQL> COMMIT;
    SQL> EXIT;
    
  4. Observera transaktionen som hämtas av Golden Gate (Observera totalt antal infogningar )

$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
GGSCI> STATS EXTORA
  Sending STATS request to Extract group EXTORA ...

  Start of statistics at 2023-03-24 19:41:54.

  DDL replication statistics (for all trails):

  *** Total statistics since extract started     ***
  Operations                           0.00
  Mapped operations                    0.00
  Unmapped operations                    0.00
  Other operations                    0.00
  Excluded operations                    0.00

  Output to ./dirdat/rt:

  Extracting from PDB1.TEST.TCUSTORD to PDB1.TEST.TCUSTORD:

  *** Total statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  *** Daily statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  *** Hourly statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  *** Latest statistics since 2023-03-24 19:41:34 ***
     Total inserts                              1.00
     Total updates                              0.00
     Total deletes                              0.00
     Total upserts                              0.00
     Total discards                             0.00
     Total operations                           1.00

  End of statistics.
  1. Ansluta till den primära databasen på ggVM2

    $ sqlplus test/test@pdb1
    
  2. Kontrollera att den nya posten har replikerats

    SQL> select * from TCUSTORD;
    
     CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID
     ---- --------- -------- ---------- ------------- -------------- --------------
     OLLJ 11-APR-99 CYCLE       400   16000      1    102
     WILL 30-SEP-94 CAR       144   17520      3    100
     JANE 11-NOV-95 PLANE       256  133300      1    100
    

Installationen och konfigurationen av Golden Gate på Oracle Linux är nu klar.

Ta bort den virtuella datorn ggXServer

ggXServer VM används endast under installationen. Du kan ta bort det på ett säkert sätt när du har slutfört det här labbdokumentet, men behåll din GoldenGate i Azure-labbinstallationen intakt.

$ az vm delete --resource-group GoldenGateOnAzureLab --name ggXServer --force-deletion yes

$ az network public-ip delete --resource-group GoldenGateOnAzureLab --name ggXServerPublicIP

Ta bort Golden Gate i Azure Lab-konfigurationen

När den inte längre behövs kan följande kommando användas för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser för den här labbuppgiften.

$ az group delete --name GoldenGateOnAzureLab

Nästa steg

Självstudie: Skapa virtuella datorer med hög tillgänglighet

Utforska exempel på distribution av virtuella datorer med CLI