Sdílet prostřednictvím


Implementace Oracle Golden Gate na virtuálním počítači Azure s Linuxem

Platí pro: ✔️ Virtuální počítače s Linuxem

Azure CLI slouží k vytváření a správě prostředků Azure z příkazového řádku nebo ve skriptech. Tento průvodce podrobně popisuje, jak pomocí Azure CLI nasadit databázi Oracle 19c z image Azure Marketplace galerie.

Tento dokument ukazuje podrobný postup vytvoření, instalace a konfigurace Oracle Golden Gate na virtuálním počítači Azure. V tomto kurzu se ve skupině dostupnosti nastaví dva virtuální počítače v jedné oblasti. Stejný kurz můžete použít k nastavení brány OracleGolden gate pro virtuální počítače v různých Zóny dostupnosti v jedné oblasti Azure nebo pro virtuální počítače nastavené ve dvou různých oblastech.

Než začnete, ujistěte se, že je rozhraní Azure CLI nainstalované. Další informace najdete v tématu Průvodce instalací Azure CLI.

Úvod

GoldenGate je software pro logickou replikaci, který umožňuje replikaci, filtrování a transformaci dat ze zdrojové databáze do cílové databáze v reálném čase. Tato funkce zajišťuje replikaci změn ve zdrojové databázi v reálném čase, což umožňuje, aby cílová databáze byla aktuální s nejnovějšími daty.

GoldenGate používejte hlavně pro heterogenní případy replikace, jako je replikace dat z různých zdrojových databází do izolované databáze. Například datový sklad. Můžete ho také použít pro migrace mezi platformami, například z prostředí SPARC a AIX na Linux x86, a pokročilé scénáře vysoké dostupnosti a škálovatelnosti.

Kromě toho je GoldenGate také vhodný pro migrace téměř nulových výpadků, protože podporuje online migrace s minimálním přerušením zdrojových systémů.

Přestože GoldenGate umožňuje obousměrnou replikaci, aplikace musí být odpovídajícím způsobem nakonfigurována. Kromě toho software umožňuje filtrování a transformaci dat tak, aby splňovaly specifické obchodní požadavky, což umožňuje uživatelům využívat replikovaná data pro různé účely.

Příprava prostředí

Pokud chcete provést instalaci Oracle Golden Gate, musíte vytvořit dva virtuální počítače Azure ve stejné skupině dostupnosti. Image z Marketplace, kterou použijete k vytvoření virtuálních počítačů, je Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1.

Musíte také znát unixový editor vi a mít základní znalosti X Serveru.

Následující tabulka obsahuje souhrn konfigurace prostředí:

Primární lokalita Replikace lokality
Verze Oracle Oracle Database 19.3.1.0 Oracle Database 19.3.1.0
Název počítače ggVM1 ggVM2
Operační systém Oracle Linux 7.x Oracle Linux 7.x
Oracle SID CDB1 CDB1
Schéma replikace TEST TEST
Vlastník/replikace Golden Gate C##GGADMIN REPUSER
Proces Golden Gate EXTORA REPORA

Přihlášení k Azure

  1. Otevřete upřednostňované prostředí ve Windows, Linuxu nebo Azure Shellu.

  2. Přihlaste se ke svému předplatnému Azure pomocí příkazu az login . Pak postupujte podle pokynů na obrazovce.

    $ az login
    
  3. Ověřte název nebo ID předplatného a ujistěte se, že jste připojení ke správnému předplatnému.

    $ 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"
      }
    }
    

Generování ověřovacích klíčů

Pro připojení k virtuálnímu počítači Oracle Database používáme ověřování na základě souboru klíčů pomocí SSH. Ujistěte se, že máte ve svém prostředí vytvořené soubory privátního klíče (s názvem id_rsa) a veřejné (pojmenované ).id_rsa.pub

Umístění souborů klíčů závisí na vašem zdrojovém systému.

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

Pokud neexistují, můžete vytvořit nový pár souborů klíčů.

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

Vytvoří se adresář .ssh a soubory klíčů. Další informace najdete v tématu Vytvoření a správa klíčů SSH pro ověřování na virtuálním počítači s Linuxem v Azure.

Vytvoření skupiny prostředků

K vytvoření skupiny prostředků použijte příkaz az group create . Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

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

Vytvoření a konfigurace sítě

Vytvoření virtuální sítě

Pomocí následujícího příkazu vytvořte virtuální síť, která je hostitelem prostředků, které vytvoříme v tomto cvičení.

$ 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"

Vytvoření skupiny zabezpečení sítě (NSG)

  1. Vytvořte skupinu zabezpečení sítě (NSG), která vaši virtuální síť uzamkne.

    $ az network nsg create \
      --resource-group GoldenGateOnAzureLab \
      --name ggVnetNSG
    
  2. Vytvořte pravidlo NSG, které povolí komunikaci v rámci virtuální sítě.

    $ 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. Vytvoření pravidla NSG pro odepření všech příchozích připojení

    $ 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. Přiřaďte skupinu zabezpečení sítě k podsíti, ve které hostujeme naše servery.

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

Vytvoření sítě Bastion

  1. Vytvořte podsíť Bastion. Název podsítě musí být AzureBastionSubnet.

    $ az network vnet subnet create  \
        --resource-group GoldenGateOnAzureLab \
        --name AzureBastionSubnet \
        --vnet-name ggVnet \
        --address-prefixes 10.0.1.0/24
    
  2. Vytvoření veřejné IP adresy pro Bastion

    $ az network public-ip create \
        --resource-group GoldenGateOnAzureLab \
        --name ggBastionIP \
        --sku Standard
    
  3. Vytvoření prostředku Azure Bastion Nasazení prostředku trvá přibližně 10 minut.

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

Vytvoření virtuálního počítače X Server (ggXServer)

Nahraďte heslo a spuštěním následujícího příkazu vytvořte virtuální počítač pracovní stanice s Windows, na který nasadíme 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>

Připojení k ggXServer přes Bastion

Připojte se k ggXServer pomocí Bastionu.

  1. Z Azure Portal přejděte na ggXServer.
  2. V levém okně přejděte na Přehled .
  3. V nabídce v horní části vyberte Připojit>Bastion .
  4. Výběr karty Bastion
  5. Klikněte na Použít bastion.

Příprava serveru ggXServer na spuštění X Serveru

X Server je vyžadován pro pozdější kroky tohoto cvičení. Provedením následujících kroků nainstalujte a spusťte X Server.

  1. Stáhněte si Xming X Server pro Windows na ggXServer a nainstalujte ji se všemi výchozími možnostmi.

  2. Ujistěte se, že jste na konci instalace nevybrali Možnost Spustit .

  3. Spusťte aplikaci "XLAUNCH" z nabídky Start.

  4. Výběr více oken

    Snímek obrazovky s průvodcem spuštěním XLaunch krok 1

  5. Vyberte Spustit bez klienta.

    Snímek obrazovky s průvodcem spuštěním XLaunch krok 2

  6. Vyberte Žádné řízení přístupu.

    Snímek obrazovky s průvodcem spuštěním XLaunch krok 3

  7. Výběrem možnosti Povolit přístup povolíte X Serveru průchod bránou Windows Firewall.

    Snímek obrazovky s průvodcem spuštěním XLaunch krok 4

Pokud restartujete virtuální počítač ggXServer , postupujte podle kroků 2 až 6 výše a restartujte aplikaci X Server.

Vytvoření virtuálních počítačů databáze Oracle

Pro účely tohoto cvičení vytvoříme virtuální počítače ggVM1 a ggVM2 image Oracle Database 19c. Pokud ještě neexistují ve výchozím umístění klíče, tento příkaz vytvoří také klíče SSH. Chcete-li použít konkrétní sadu klíčů, použijte možnost --ssh-key-value. Pokud jste už vytvořili klíče SSH v části Vygenerovat ověřovací klíče , použijí se tyto klíče.

Při vytváření nového virtuálního počítače size parametr udává velikost a typ vytvořeného virtuálního počítače. V závislosti na oblasti Azure, kterou jste vybrali pro vytvoření virtuálního počítače a nastavení vašeho předplatného, nemusí být některé velikosti a typy virtuálních počítačů dostupné. Následující příklad používá minimální požadovanou velikost pro toto testovací prostředí Standard_DS1_v2. Pokud chcete změnit specifikace virtuálního počítače, vyberte jednu z dostupných velikostí v části Velikosti virtuálních počítačů Azure. Pro účely testování si můžete vybrat z typů virtuálních počítačů Pro obecné účely (D-Series). Pro produkční nebo pilotní nasazení jsou vhodnější paměťově optimalizované (E-Series a M-Series).

Vytvoření ggVM1 (primární)

$ 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

Vytvoření ggVM2 (replikace)

$ 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

Připojení k ggVM1 (primární počítač)

Připojte se k ggVM1 pomocí Bastionu.

  1. Z Azure Portal přejděte na ggVM1.
  2. V levém podokně přejděte na Přehled .
  3. V nabídce v horní části vyberte Připojit>Bastion .
  4. Výběr karty Bastion
  5. Klikněte na Použít bastion.

Vytvoření databáze na ggVM1 (primární)

Software Oracle je už na imagi Marketplace nainstalovaný, takže dalším krokem je vytvoření databáze.

  1. Spusťte software jako oracle uživatel.
$ sudo su - oracle
  1. Vytvořte databázi pomocí následujícího příkazu. Dokončení tohoto příkazu může trvat 30 až 40 minut.
$ 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

Výstup by měl vypadat podobně jako následující odpověď.

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. Nastavte proměnné ORACLE_SID a LD_LIBRARY_PATH.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Spuštěním následujícího příkazu přidejte do souboru .bashrc ORACLE_SID a LD_LIBRARY_PATH, aby se tato nastavení uložila pro budoucí přihlášení. ORACLE_HOME proměnná by už měla být nastavená v souboru .bashrc.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
  1. Spuštění naslouchacího procesu Oracle
$ lsnrctl start

Připojení k ggVM2 (replikace)

Připojte se k ggVM2 pomocí Bastionu.

  1. Z Azure Portal přejděte na ggVM2.
  2. V levém podokně přejděte na Přehled .
  3. V nabídce v horní části vyberte Připojit>Bastion .
  4. Výběr karty Bastion
  5. Klikněte na Použít bastion.

Otevření portů brány firewall pro ggVM1

Nakonfigurujte bránu firewall tak, aby umožňovala připojení z ggVM1. Následující příkaz se spustí na ggVM2.

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

Vytvoření databáze na ggVM2 (replikace)

  1. V případě potřeby přepněte na oracle uživatele.
$ sudo su - oracle
  1. Vytvoření databáze
$ 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. Nastavte proměnné ORACLE_SID a ORACLE_HOME.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Spuštěním následujícího příkazu přidejte do souboru .bashrc ORACLE_SID a LD_LIBRARY_PATH, aby se tato nastavení uložila pro budoucí přihlášení. ORACLE_HOME proměnná by už měla být nastavená v souboru .bashrc.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
  1. Spuštění naslouchacího procesu Oracle
$ lsnrctl start

Konfigurace Golden Gate na ggVM1

Postupujte podle kroků v této části a nainstalujte a nakonfigurujte Golden Gate.

Povolení režimu archivačního protokolu na ggVM1 (primární)

  1. Připojte se k sqlplus
$ sqlplus / as sysdba
  1. Povolit archivní protokol
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. Povolte vynucené protokolování a ujistěte se, že je k dispozici alespoň jeden soubor protokolu.
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;

Stáhnout software Golden Gate

  1. Stáhněte 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip soubor ze stránky pro stažení Oracle Golden Gate. Pod názvem ke stažení Oracle GoldenGate 21.3.0.0.0 for Oracle on Linux x86-64.

  2. Po stažení souboru .zip do klientského počítače můžete pomocí protokolu SCP (Secure Copy Protocol) zkopírovat soubory do virtuálních počítačů (ggVM1 a ggVM2). Ujistěte se, že scp příkaz odkazuje na správnou cestu k souboru .zip.

  3. Kopírovat do ggVM1

    1. Přihlaste se a ujistěte se, že podle potřeby používáte správné předplatné, jak je popsáno v tématu Přihlášení k Azure.

    2. Následujícím příkazem PowerShellu otevřete tunel k cílovému virtuálnímu počítači.

      $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. První příkazový řádek nechte spuštěný a otevřete druhý příkazový řádek pro připojení k cílovému virtuálnímu počítači přes tunel. V tomto druhém okně příkazového řádku můžete nahrát soubory z místního počítače do cílového virtuálního počítače pomocí následujícího příkazu. Správný id_rsa soubor klíčů pro přístup k virtuálnímu počítači se musí nacházet v .ssh adresáři nebo můžete odkazovat na jiný soubor klíče pomocí -i parametru pro scp příkaz .

       scp -P 57500 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip"  azureuser@127.0.0.1:.
      
  4. Kopírovat do ggVM2

    1. Následujícím příkazem PowerShellu otevřete tunel k cílovému virtuálnímu počítači.

      $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. První příkazový řádek nechte spuštěný a otevřete druhý příkazový řádek pro připojení k cílovému virtuálnímu počítači přes tunel. V tomto druhém okně příkazového řádku můžete nahrát soubory z místního počítače do cílového virtuálního počítače pomocí následujícího příkazu. Správný id_rsa soubor klíčů pro přístup k virtuálnímu počítači se musí nacházet v .ssh adresáři nebo můžete odkazovat na jiný soubor klíče pomocí -i parametru pro scp příkaz .

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

Instalace softwaru Golden Gate

  1. Připojte se k ggVM1 pomocí Bastionu.

    1. Z Azure Portal přejděte na ggVM1.
    2. Na levém panelu přejděte na Přehled .
    3. V nabídce v horní části vyberte Připojit>Bastion .
    4. Výběr karty Bastion
    5. Klikněte na Použít bastion.
  2. Přesuňte soubor .zip do složky /opt a pak změňte vlastníka.

    $ sudo su -
    $ mv /home/azureuser/*.zip /opt
    
  3. Rozbalte soubory (nainstalujte nástroj pro rozbalení, pokud ještě není nainstalovaný)

    $ yum install unzip
    $ cd /opt
    $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
    
  4. Změnit oprávnění

    $ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome
    $ exit
    
  5. Spuštění instalačního programu Golden Gate

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

    Instalační program se otevře na serveru ggXServer.

  6. Vyberte Oracle GoldenGate for Oracle Database 21c. Pak pokračujte výběrem možnosti Další .

    Snímek obrazovky s průvodcem instalací Golden Gate – krok 1

  7. Nastavte umístění softwaru na /u01/app/oracle/product/19.0.0/oggcore_1, ujistěte se, že je zaškrtnuté políčko Spustit Správce a pokračujte výběrem možnosti Další .

    Snímek obrazovky s 2. krokem průvodce instalací služby Golden Gate

  8. Na obrazovce Summary (Souhrn ) pokračujte výběrem možnosti Install (Nainstalovat ).

    Snímek obrazovky s průvodcem instalací golden gate krok 3

  9. Počkejte na dokončení instalace.

    Snímek obrazovky s průvodcem instalací Služby Golden Gate krok 4

  10. Pokračujte výběrem možnosti Zavřít .

Snímek obrazovky s průvodcem instalací Golden Gate – krok 5

  1. Připojte se k ggVM2 pomocí Bastionu.

    1. Z Azure Portal přejděte na ggVM2.
    2. V levém podokně přejděte na Přehled .
    3. V nabídce v horní části vyberte Připojit>Bastion .
    4. Výběr karty Bastion
    5. Klikněte na Použít bastion.
  2. Opakujte kroky 2 až 10 výše na ggVM2.

Nastavení služby na ggVM1 (primární)

  1. Vytvořte nebo aktualizujte soubor tnsnames.ora.

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

    Když se otevře editor vi, musíte stisknutím klávesy i přepnout do režimu vkládání, pak zkopírovat a vložit obsah souboru a stisknout klávesu Esc , :wq! abyste soubor uložili.

    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. Vytvořte vlastníka a uživatelské účty Golden Gate.

    Poznámka

    Účet vlastníka musí mít předponu jazyka C##.

    $ 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. Vytvoření testovacího uživatelského účtu Golden Gate

    $ 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. Nakonfigurujte soubor parametrů extrakce.

    Spusťte rozhraní příkazového řádku 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. Stisknutím klávesy i přepněte do režimu vkládání a zkopírujte a vložte (klikněte pravým tlačítkem na okno SSH) za souborem parametrů EXTRACT. Soubor uložte stisknutím klávesy :wq! Esc.

    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. Zaregistrujte extrakci – integrovaný extrakt.

    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. Nastavení kontrolních bodů extrakce a spuštění extrakce v reálném čase

    $ ./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
    

    V tomto kroku najdete počáteční SCN, který se použije později, v jiné části.

    $ 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
    

    Když se otevře editor vi, musíte stisknutím klávesy i přepnout do režimu vkládání, pak zkopírovat a vložit obsah souboru a stisknout klávesu Esc , :wq! abyste soubor uložili.

    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
    

Nastavení služby na ggVM2 (replikace)

  1. Vytvořte nebo aktualizujte soubor tnsnames.ora.

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

    Když se otevře editor vi, musíte stisknutím klávesy i přepnout do režimu vkládání, pak zkopírovat a vložit obsah souboru a stisknout klávesu Esc , :wq! abyste soubor uložili.

    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. Vytvořte účet replikace.

    $ 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. Vytvořte testovací uživatelský účet Golden Gate.

    $ 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. Soubor parametrů REPLICAT pro replikaci změn.

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

    Když se otevře editor vi, musíte stisknutím klávesy i přepnout do režimu vkládání, pak zkopírovat a vložit obsah souboru a stisknout klávesu Esc , :wq! abyste soubor uložili.

    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. Nastavte kontrolní bod replikace.

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

    Když se otevře editor vi, musíte stisknutím klávesy i přepnout do režimu vkládání, pak zkopírovat a vložit obsah souboru a stisknout klávesu Esc , :wq! abyste soubor uložili.

    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
    

Nastavení replikace (ggVM1 a ggVM2)

1. Nastavení replikace na ggVM2 (replikace)

Přihlaste se k ggsci.

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

Aktualizujte soubor následujícím kódem.

PORT 7809
ACCESSRULE, PROG *, IPADDR *, ALLOW

Restartujte službu Manager.

GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT

2. Nastavení replikace na ggVM1 (primární)

Spusťte počáteční načtení a zkontrolujte chyby.

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

3. Nastavení replikace na ggVM2 (replikace)

Změňte číslo SCN číslem, které jste získali dříve.

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

Replikace začala a můžete ji otestovat vložením nových záznamů do tabulek TEST.

Zobrazení stavu úlohy a řešení potíží

Zobrazení sestav

  • Pokud chcete zobrazit sestavy na ggVM1, spusťte následující příkazy.

    GGSCI> VIEW REPORT EXTORA
    
  • Pokud chcete zobrazit sestavy na ggVM2, spusťte následující příkazy.

    GGSCI> VIEW REPORT REPORA
    

Zobrazení stavu a historie

  • Pokud chcete zobrazit stav a historii na ggVM1, spusťte následující příkazy.

    GGSCI> DBLOGIN USERID C##GGADMIN@CDB1, PASSWORD ggadmin
    GGSCI> INFO EXTRACT EXTORA, DETAIL
    
  • Pokud chcete zobrazit stav a historii na ggVM2, spusťte následující příkazy.

    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;
    

Sledování replikace dat

  1. Připojení k primární databázi na ggVM1

    $ sqlplus test/test@pdb1
    
  2. Výběr existujících záznamů z tabulky

    SQL> select * from TCUSTORD;
    
  3. Vytvoření testovacího záznamu

    SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102);
    SQL> COMMIT;
    SQL> EXIT;
    
  4. Sledování transakce vyzvednutá golden gate (hodnota total inserts )

$ 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. Připojení k primární databázi na ggVM2

    $ sqlplus test/test@pdb1
    
  2. Ověření replikace nového záznamu

    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
    

Instalace a konfigurace Golden Gate v Oracle Linuxu je nyní dokončena.

Odstranění virtuálního počítače ggXServer

Virtuální počítač ggXServer se používá jenom během instalace. Po dokončení tohoto dokumentu testovacího prostředí ho můžete bezpečně odstranit, ale ponechte nastavení GoldenGate v testovacím prostředí Azure beze změny.

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

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

Odstranění golden gate v nastavení Azure Lab

Pokud už není potřeba, můžete pomocí následujícího příkazu odebrat skupinu prostředků, virtuální počítač a všechny související prostředky pro toto testovací prostředí.

$ az group delete --name GoldenGateOnAzureLab

Další kroky

Kurz vytvoření virtuálního počítače s vysokou dostupností

Prozkoumejte ukázky nasazení virtuálního počítače pomocí rozhraní příkazového řádku