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 galerie Azure Marketplace.

Tento dokument ukazuje podrobný postup vytvoření, instalace a konfigurace Oracle Golden Gate na virtuálním počítači Azure. V tomto kurzu jsou dva virtuální počítače nastavené ve skupině dostupnosti v jedné oblasti. Stejný kurz můžete použít k nastavení 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 nainstalované Rozhraní příkazového řádku Azure. Další informace najdete v tématu Průvodce instalací Azure CLI.

Úvod

GoldenGate je logický software pro 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, že se změny ve zdrojové databázi replikují v reálném čase, což umožňuje, aby cílová databáze byla aktuální s nejnovějšími daty.

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

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

I když GoldenGate usnadňuje obousměrnou replikaci, musí být aplikace nakonfigurována odpovídajícím způsobem. Kromě toho software umožňuje filtrování a transformaci dat tak, aby splňoval konkrétní obchodní požadavky a umožnil 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 ve stejné skupině dostupnosti vytvořit dva virtuální počítače Azure. 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 být také obeznámeni s editorem unixových systémů 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. Ujistěte se, že jste připojení ke správnému předplatnému tím, že ověříte název předplatného nebo 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"
      }
    }
    

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ě souborů klíčů pomocí SSH. Ujistěte se, že jsou v prostředí vytvořeny vaše soukromé (pojmenovanéid_rsa) a veřejné (pojmenovanéid_rsa.pub) soubory klíčů.

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 novou dvojici souborů klíčů.

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

Vytvoří se soubory adresáře a klíče .ssh. 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 zdrojů

Skupinu prostředků vytvoříte pomocí příkazu 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é v tomto cvičení vytvoříme.

$ 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) pro uzamčení virtuální sítě.

    $ 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řte pravidlo NSG, které zakáže všechna příchozí 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, kde 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íť Bastionu. 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řte veřejnou IP adresu pro Bastion.

    $ az network public-ip create \
        --resource-group GoldenGateOnAzureLab \
        --name ggBastionIP \
        --sku Standard
    
  3. Vytvořte prostředek Služby 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 Serveru (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ém 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 ggXServeru prostřednictvím Bastionu

Připojte se k serveru ggXServer pomocí Bastionu.

  1. Přechod na ggXServer z webu Azure Portal
  2. Vyhledání přehledu v levém navigačním panelu
  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 ggXServer ke spuštění X Serveru

Pro pozdější kroky tohoto testovacího prostředí se vyžaduje X Server. Provedením následujících kroků nainstalujte a spusťte X Server.

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

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

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

  4. Výběr více oken

    Snímek obrazovky s průvodcem XLaunch – krok 1

  5. Výběr možnosti Spustit bez klienta

    Snímek obrazovky průvodce XLaunch – krok 2

  6. Výběr možnosti Bez řízení přístupu

    Snímek obrazovky průvodce XLaunch – krok 3

  7. Výběrem možnosti Povolit přístup povolte X Server přes bránu Windows Firewall.

    Snímek obrazovky průvodce XLaunch – krok 4

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

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

Pro toto 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 také vytvoří 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 Generovat ověřovací klíče , použijí se tyto klíče.

Když vytvoříte nový virtuální počítač, size parametr určuje velikost a typ vytvořeného virtuálního počítače. V závislosti na oblasti Azure, kterou jste vybrali k vytvoření virtuálního počítače a nastavení předplatného, nemusí být některé velikosti a typy virtuálních počítačů dostupné k použití. Následující příklad používá minimální požadovanou velikost pro toto cvičení Standard_DS1_v2. Pokud chcete změnit specifikace virtuálního počítače, vyberte jednu z dostupných velikostí 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ší optimalizované pro paměť (řady 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í)

Připojte se k ggVM1 pomocí Bastionu.

  1. Přejděte na ggVM1 z webu Azure Portal.
  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. Výběr možnosti Použít Bastion

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

Na imagi Marketplace je už nainstalovaný software Oracle, 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 ORACLE_SID a LD_LIBRARY_PATH do souboru .bashrc, aby se tato nastavení uložila pro budoucí přihlášení. ORACLE_HOME proměnná by již měla být nastavena 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. Na webu 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. Výběr možnosti 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 uživatele.oracle
$ 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 ORACLE_SID a ORACLE_HOME proměnných.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  1. Spuštěním následujícího příkazu přidejte ORACLE_SID a LD_LIBRARY_PATH do souboru .bashrc, aby se tato nastavení uložila pro budoucí přihlášení. ORACLE_HOME proměnná by již měla být nastavena 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

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

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

  1. Napojit sqlplus
$ sqlplus / as sysdba
  1. Povolení protokolu archivace
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 aspoň 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;

Stažení softwaru Golden Gate

  1. Stáhněte soubor 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip ze stránky pro stažení Oracle Golden Gate pod názvem Ke stažení Oracle GoldenGate 21.3.0.0.0 pro Oracle v Linuxu 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 používáte správné předplatné, jak je popsáno v části Přihlášení k Azure.

    2. Pomocí následujícího příkazu PowerShellu otevřete tunel na cílový virtuální počítač.

      $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. Pokud se chcete připojit k cílovému virtuálnímu počítači přes tunel, ponechte první příkazový řádek spuštěný a otevřete druhý příkazový řádek . V tomto druhém okně příkazového řádku můžete pomocí následujícího příkazu nahrát soubory z místního počítače do cílového virtuálního počítače. 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. Pomocí následujícího příkazu PowerShellu otevřete tunel na cílový virtuální počítač.

      $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. Ponechte první příkazový řádek 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 pomocí následujícího příkazu nahrát soubory z místního počítače do cílového virtuálního počítače. 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. Přejděte na ggVM1 z webu Azure Portal.
    2. Přechod na Přehled na levém panelu
    3. V nabídce v horní části vyberte Připojit>bastion.
    4. Výběr karty Bastion
    5. Výběr možnosti Použít Bastion
  2. Přesuňte soubor .zip do složky /opt a změňte vlastníka.

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

    $ 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. 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 Manager a vyberte Další , abyste mohli pokračovat.

    Snímek obrazovky průvodce instalací Golden Gate – krok 2

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

    Snímek obrazovky průvodce instalací Golden Gate – krok 3

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

    Snímek obrazovky průvodce instalací Golden Gate – krok 4

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

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

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

    1. Na webu Azure Portal přejděte na ggVM2 .
    2. Přechod na Přehled v levém podokně
    3. V nabídce v horní části vyberte Připojit>bastion.
    4. Výběr karty Bastion
    5. Výběr možnosti Použít Bastion
  2. Opakování kroků 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 stisknout i , abyste přepnuli do režimu vložení, pak zkopírujte a vložte obsah souboru a stisknutím klávesy Esc :wq! uložte soubor.

    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 vložení a zkopírujte a vložte (klikněte pravým tlačítkem myši na okno SSH) do souboru parametrů EXTRACT. Stisknutím klávesy :wq! Esc soubor uložte.

    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. Registrace extrakce integrovaného extrakce.

    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 stisknout i , abyste přepnuli do režimu vložení, pak zkopírujte a vložte obsah souboru a stisknutím klávesy Esc :wq! uložte soubor.

    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 stisknout i , abyste přepnuli do režimu vložení, pak zkopírujte a vložte obsah souboru a stisknutím klávesy Esc :wq! uložte soubor.

    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 replikový účet.

    $ 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ř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> 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 stisknout i , abyste přepnuli do režimu vložení, pak zkopírujte a vložte obsah souboru a stisknutím klávesy Esc :wq! uložte soubor.

    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 stisknout i , abyste přepnuli do režimu vložení, pak zkopírujte a vložte obsah souboru a stisknutím klávesy Esc :wq! uložte soubor.

    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 na 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 se spustila 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 virtuálním počítači 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. Sledujte transakce vyzvednutou Golden Gate (Poznámka Celkem vložení hodnoty)

$ 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 virtuálním počítači 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 Linuxu Oracle je nyní dokončena.

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

Virtuální počítač ggXServer se používá pouze během instalace. Po dokončení tohoto testovacího dokumentu ho můžete bezpečně odstranit, ale zachovat 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 Labu

Pokud už není potřeba, můžete k odebrání skupiny prostředků, virtuálního počítače a všech souvisejících prostředků pro toto cvičení použít následující příkaz.

$ 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