Implementera Oracle Golden Gate på en virtuell Azure Linux-dator (VM)
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-galleribilden.
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älvstudiekurs 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 är installerat innan du börjar. Mer information finns i installationsguiden för Azure CLI.
Introduktion
GoldenGate är en logisk replikeringsprogramvara som möjliggör replikering i realtid, filtrering och omvandling 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, samt avancerade scenarier med hög tillgänglighet och skalbarhet.
Dessutom är GoldenGate även lämpligt för migreringar med nästan noll stilleståndstid eftersom det stöder onlinemigreringar med minimala störningar i källsystemen.
Även om GoldenGate underlättar dubbelriktad replikering måste programmet konfigureras i enlighet med detta. Dessutom tillåter programvaran filtrering och omvandling av data för att uppfylla specifika affärskrav, vilket gör det möjligt för användare att använda replikerade data i olika syften.
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. Marketplace-avbildningen 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
Öppna önskat gränssnitt i Windows, Linux eller Azure Shell.
Logga in på din Azure-prenumeration med kommandot az login . Följ sedan anvisningarna på skärmen.
$ az login
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 (namngivnaid_rsa
) och offentliga (namngivnaid_rsa.pub
) nyckelfiler har skapats i gränssnittet.
Platsen för nyckelfiler 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
Du skapar en resursgrupp med 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 virtuella nätverk
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)
Skapa en nätverkssäkerhetsgrupp (NSG) för att låsa det virtuella nätverket.
$ az network nsg create \ --resource-group GoldenGateOnAzureLab \ --name ggVnetNSG
Skapa NSG-regel för att tillåta kommunikation i 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
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
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 Network
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
Skapa offentlig IP-adress för Bastion.
$ az network public-ip create \ --resource-group GoldenGateOnAzureLab \ --name ggBastionIP \ --sku Standard
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.
- Gå till ggXServer från Azure Portal
- Leta upp översikt i det vänstra navigeringsfältet
- Välj Anslut>Bastion på menyn längst upp
- Välj fliken Bastion
- Klicka på Använd Bastion
Förbereda 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.
Ladda ned Xming X Server för Windows till ggXServer och installera med alla standardalternativ.
Kontrollera att du inte valde Starta i slutet av installationen
Starta "XLAUNCH"-programmet från Start-menyn.
Välj flera Windows
Välj Starta ingen klient
Välj Ingen åtkomstkontroll
Välj Tillåt åtkomst för att tillåta X Server via Windows-brandväggen
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 virtuell dator anger parametern size
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 en av de tillgängliga storlekarna från Vm-storlekar i Azure. I testsyfte kan du välja mellan Generell användning (D-serien) virtuella datortyper. För produktions- eller pilotdistributioner är minnesoptimerade (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.
- Navigera till ggVM1 från Azure Portal.
- Gå till Översikt i det vänstra fönstret.
- Välj Anslut>Bastion på menyn längst upp
- Välj fliken Bastion
- Välj 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.
- Kör programvaran som
oracle
användare.
$ sudo su - oracle
- Skapa databasen med hjälp av följande kommando. Det här kommandot kan ta 30–40 minuter att slutföra.
$ 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.
- Ange variablerna ORACLE_SID och LD_LIBRARY_PATH.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- 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
- Starta Oracle-lyssnare
$ lsnrctl start
Ansluta till ggVM2 (replikera)
Anslut till ggVM2 med Bastion.
- Gå till ggVM2 från Azure Portal.
- Gå till Översikt i det vänstra fönstret.
- Välj Anslut>Bastion på menyn längst upp
- Välj fliken Bastion
- Välj 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)
- Växla till
oracle
användare om det behövs
$ sudo su - oracle
- 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
- Ange variablerna ORACLE_SID och ORACLE_HOME.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- 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
- 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ärt)
- Anslut till
sqlplus
$ sqlplus / as sysdba
- 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;
- 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
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.
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.Kopiera till ggVM1
Logga in och se till att du använder rätt prenumeration efter behov enligt beskrivningen i Logga in på Azure
Öppna tunneln till den virtuella måldatorn med hjälp av 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
Om du vill ansluta till den virtuella måldatorn genom tunneln lämnar du den första kommandotolken igång och öppnar en andra kommandotolk . 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 attscp
kommandot.scp -P 57500 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip" azureuser@127.0.0.1:.
Kopiera till ggVM2
Öppna tunneln till den virtuella måldatorn med hjälp av 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
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 attscp
kommandot.scp -P 57501 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip" azureuser@127.0.0.1:.
Installera Golden Gate-programvara
Anslut till ggVM1 med Bastion.
- Navigera till ggVM1 från Azure Portal.
- Gå till Översikt i den vänstra panelen
- Välj Anslut>Bastion på menyn längst upp
- Välj fliken Bastion
- Välj Använd Bastion
Flytta .zip-filen till mappen /opt och ändra sedan ägaren
$ sudo su - $ mv /home/azureuser/*.zip /opt
Packa upp filerna (installera packa upp verktyget om det inte redan är installerat)
$ yum install unzip $ cd /opt $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
Ändra behörighet
$ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome $ exit
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.
Välj Oracle GoldenGate för Oracle Database 21c. Välj sedan Nästa för att fortsätta.
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.
På skärmen Sammanfattning väljer du Installera för att fortsätta.
Vänta tills installationen är klar.
Välj Stäng för att fortsätta.
Anslut till ggVM2 med Bastion.
- Gå till ggVM2 från Azure Portal.
- Gå till Översikt i det vänstra fönstret
- Välj Anslut>Bastion på menyn längst upp
- Välj fliken Bastion
- Välj Använd Bastion
Upprepa steg 2–10 ovan på ggVM2
Konfigurera tjänsten på ggVM1 (primär)
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
i
på för att växla till infogningsläge, 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) ) )
Skapa Golden Gate-ägare och användarkonton.
Kommentar
Ä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;
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;
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
Tryck
i
på tangenten för att växla till infogningsläge och kopiera och klistra in (högerklicka på SSH-fönstret) efter parameterfilen EXTRACT. Tryck på Esc:wq!
för 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;
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
Konfigurera extraheringskontroller och starta realtidsextrakt
$ ./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
i
på för att växla till infogningsläge, 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)
Skapa eller uppdatera filen tnsnames.ora.
$ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
När vi-redigeraren öppnas måste du trycka
i
på för att växla till infogningsläge, 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) ) )
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;
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;
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
i
på för att växla till infogningsläge, 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.*;
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
i
på för att växla till infogningsläge, 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 (replikering)
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 inledande inläsningen och kontrollera om det finns 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 (replikering)
Ändra SCN-numret med det tal som du hämtade tidigare.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
START REPLICAT REPORA, AFTERCSN 2172191
Replikeringen startade. 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
Ansluta till den primära databasen på ggVM1
$ sqlplus test/test@pdb1
Välj befintliga poster i tabellen
SQL> select * from TCUSTORD;
Skapa en testpost
SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102); SQL> COMMIT; SQL> EXIT;
Observera transaktion som hämtats av Golden Gate (Värde för 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.
Ansluta till primär databas på ggVM2
$ sqlplus test/test@pdb1
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 ggXServer-datorn
Den virtuella ggXServer-datorn 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ålla din GoldenGate på Azure Lab-installationen 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 det 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 det här labbet.
$ 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