Oracle Golden Gate implementeren op een virtuele Azure Linux-machine
Van toepassing op: ✔️ Linux-VM's
De Azure CLI wordt gebruikt voor het maken en beheren van Azure-resources vanaf de opdrachtregel of in scripts. In deze handleiding wordt beschreven hoe u de Azure CLI gebruikt om een Oracle 19c-database te implementeren vanuit de installatiekopieën van de Azure Marketplace galerie.
In dit document wordt stapsgewijs beschreven hoe u Oracle Golden Gate maakt, installeert en configureert op een Azure-VM. In deze zelfstudie worden twee virtuele machines ingesteld in een beschikbaarheidsset in één regio. Dezelfde zelfstudie kan worden gebruikt voor het instellen van OracleGolden Gate voor VM's in verschillende Beschikbaarheidszones in één Azure-regio of voor VM's die zijn ingesteld in twee verschillende regio's.
Voordat u begint, moet u controleren of de Azure-CLI is geïnstalleerd. Zie voor meer informatie de Installatiehandleiding van de Azure CLI.
Introductie
GoldenGate is een logische replicatiesoftware die realtime replicatie, filtering en transformatie van gegevens van een brondatabase naar een doeldatabase mogelijk maakt. Deze functie zorgt ervoor dat wijzigingen in de brondatabase in realtime worden gerepliceerd, waardoor de doeldatabase kan worden bijgewerkt met de meest recente gegevens.
Gebruik GoldenGate voornamelijk voor heterogene replicatiegevallen, zoals het repliceren van gegevens van verschillende brondatabases naar één database. Bijvoorbeeld een datawarehouse. U kunt het ook gebruiken voor platformoverschrijdende migraties, zoals van SPARC en AIX naar Linux x86-omgevingen, en geavanceerde scenario's voor hoge beschikbaarheid en schaalbaarheid.
Daarnaast is GoldenGate ook geschikt voor migraties met bijna nul downtime, omdat het ondersteuning biedt voor onlinemigraties met minimale onderbreking van de bronsystemen.
Hoewel GoldenGate bidirectionele replicatie mogelijk maakt, moet de toepassing dienovereenkomstig worden geconfigureerd. Bovendien kunnen met de software gegevens worden gefilterd en getransformeerd om te voldoen aan specifieke bedrijfsvereisten, zodat gebruikers de gerepliceerde gegevens voor verschillende doeleinden kunnen gebruiken.
De omgeving voorbereiden
Als u de Oracle Golden Gate-installatie wilt uitvoeren, moet u twee Azure-VM's op dezelfde beschikbaarheidsset maken. De Marketplace-installatiekopieën die u gebruikt om de VM's te maken, is Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1.
U moet ook bekend zijn met unix-editor vi en basiskennis van X Server hebben.
De volgende tabel bevat een overzicht van de omgevingsconfiguratie:
Primaire site | Site repliceren | |
---|---|---|
Oracle-release | Oracle Database 19.3.1.0 | Oracle Database 19.3.1.0 |
Computernaam | ggVM1 | ggVM2 |
Besturingssysteem | Oracle Linux 7.x | Oracle Linux 7.x |
Oracle SID | CDB1 | CDB1 |
Replicatieschema | TEST | TEST |
Golden Gate eigenaar/repliceren | C##GGADMIN | REPUSER |
Golden Gate-proces | EXTORA | REPORA |
Aanmelden bij Azure
Open de shell van uw voorkeur in Windows, Linux of Azure Shell.
Meld u aan bij uw Azure-abonnement met de opdracht az login . Volg vervolgens de aanwijzingen op het scherm.
$ az login
Zorg ervoor dat u bent verbonden met het juiste abonnement door de naam en/of id van het abonnement te verifiëren.
$ 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" } }
Verificatiesleutels genereren
We gebruiken verificatie op basis van sleutelbestanden met ssh om verbinding te maken met de Oracle Database-VM. Zorg ervoor dat uw persoonlijke (met naam id_rsa
) en openbare (benoemde id_rsa.pub
) sleutelbestanden zijn gemaakt in uw shell.
De locatie van de sleutelbestanden is afhankelijk van uw bronsysteem.
Windows: %USERPROFILE%.ssh Linux: ~/.ssh
Als ze niet bestaan, kunt u een nieuw sleutelbestandpaar maken.
ssh-keygen -m PEM -t rsa -b 4096
De .ssh-map en de sleutelbestanden worden gemaakt. Raadpleeg SSH-sleutels maken en beheren voor verificatie bij een Linux-VM in Azure voor meer informatie
Een resourcegroep maken
Gebruik de opdracht az group create om een resourcegroep te maken. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.
$ az group create --name GoldenGateOnAzureLab --location westus
Netwerk maken en configureren
Virtueel netwerk maken
Gebruik de volgende opdracht om het virtuele netwerk te maken dat als host fungeert voor resources die we in dit lab maken.
$ 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"
Een netwerkbeveiligingsgroep (NSG) maken
Maak een netwerkbeveiligingsgroep (NSG) om uw virtuele netwerk te vergrendelen.
$ az network nsg create \ --resource-group GoldenGateOnAzureLab \ --name ggVnetNSG
Maak een NSG-regel om communicatie binnen een virtueel netwerk toe te staan.
$ 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
NSG-regel maken om alle binnenkomende verbindingen te weigeren
$ 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
Wijs NSG toe aan het subnet waar we onze servers hosten.
$ az network vnet subnet update --resource-group GoldenGateOnAzureLab --vnet-name ggVNet --name ggSubnet1 --network-security-group ggVnetNSG
Bastionnetwerk maken
Bastion-subnet maken. De naam van het subnet moet AzureBastionSubnet zijn
$ az network vnet subnet create \ --resource-group GoldenGateOnAzureLab \ --name AzureBastionSubnet \ --vnet-name ggVnet \ --address-prefixes 10.0.1.0/24
Een openbaar IP-adres maken voor Bastion
$ az network public-ip create \ --resource-group GoldenGateOnAzureLab \ --name ggBastionIP \ --sku Standard
Azure Bastion-resource maken. Het duurt ongeveer 10 minuten voordat de resource is geïmplementeerd.
$ az network bastion create \ --resource-group GoldenGateOnAzureLab \ --name ggBastion \ --public-ip-address ggBastionIP \ --vnet-name ggVnet \ --sku Standard \ --enable-tunneling \ --enable-ip-connect true
X Server-VM maken (ggXServer)
Vervang uw wachtwoord en voer de volgende opdracht uit om een Windows-werkstation-VM te maken waarop X Server wordt geïmplementeerd.
$ 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>
Verbinding maken met ggXServer via Bastion
Maak verbinding met ggXServer met behulp van Bastion.
- Navigeer vanuit Azure Portal naar ggXServer.
- Ga naar Overzicht op de linkerblade
- Selecteer Verbinding maken met>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Klik op Bastion gebruiken
ggXServer voorbereiden om X Server uit te voeren
X Server is vereist voor latere stappen van dit lab. Voer de volgende stappen uit om X Server te installeren en te starten.
Download Xming X Server voor Windows naar ggXServer en installeer met alle standaardopties.
Zorg ervoor dat u starten niet hebt geselecteerd aan het einde van de installatie
Start de toepassing XLAUNCH vanuit het startmenu.
Meerdere vensters selecteren
Selecteer Geen client starten
Selecteer Geen toegangsbeheer
Selecteer Toegang toestaan om X Server via Windows Firewall toe te staan
Als u uw ggXServer-VM opnieuw opstart, volgt u de bovenstaande stappen 2-6 om de X Server-toepassing opnieuw te starten.
Virtuele Oracle-databasemachines maken
Voor dit lab maken we virtuele machines ggVM1
en ggVM2
van oracle database 19c-installatiekopieën. Als ze nog niet bestaan op de standaardsleutellocatie, maakt deze opdracht ook SSH-sleutels. Als u een specifieke set sleutels wilt gebruiken, gebruikt u de optie --ssh-key-value
. Als u uw SSH-sleutels al hebt gemaakt in de sectie Verificatiesleutels genereren , worden deze sleutels gebruikt.
Bij het maken van een nieuwe virtuele-machineparameter size
worden de grootte en het type van de gemaakte virtuele machine aangegeven. Afhankelijk van de Azure-regio die u hebt geselecteerd om de virtuele machine te maken en uw abonnementsinstellingen, zijn sommige grootten en typen virtuele machines mogelijk niet beschikbaar voor gebruik. In het volgende voorbeeld wordt de minimale vereiste grootte voor dit lab Standard_DS1_v2
gebruikt. Als u de specificaties van de virtuele machine wilt wijzigen, selecteert u een van de beschikbare grootten in Azure VM-grootten. Voor testdoeleinden kunt u kiezen uit Algemeen virtuele machinetypen (D-serie). Voor productie- of testimplementaties zijn geoptimaliseerd voor geheugen (E-serie en M-serie) meer geschikt.
ggVM1 maken (primair)
$ 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
ggVM2 maken (repliceren)
$ 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
Verbinding maken met ggVM1 (primair)
Maak verbinding met ggVM1 met behulp van Bastion.
- Navigeer vanuit Azure Portal naar ggVM1.
- Ga naar Overzicht in het linkerdeelvenster.
- Selecteer Verbinding maken met>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Klik op Bastion gebruiken
De database maken op ggVM1 (primair)
De Oracle-software is al geïnstalleerd op de Marketplace-installatiekopieën, dus de volgende stap is het maken van de database.
- Voer de software uit als de
oracle
gebruiker.
$ sudo su - oracle
- Maak de database met behulp van de volgende opdracht. Het kan 30-40 minuten duren voordat deze opdracht is voltooid.
$ 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
De uitvoer moet er ongeveer uitzien als in het volgende antwoord.
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.
- Stel de variabelen ORACLE_SID en LD_LIBRARY_PATH in.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- Voer de volgende opdracht uit om ORACLE_SID en LD_LIBRARY_PATH toe te voegen aan het bashrc-bestand, zodat deze instellingen worden opgeslagen voor toekomstige aanmeldingen. ORACLE_HOME variabele moet al zijn ingesteld in het .bashrc-bestand.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
- Oracle-listener starten
$ lsnrctl start
Verbinding maken met ggVM2 (repliceren)
Maak verbinding met ggVM2 met behulp van Bastion.
- Navigeer vanuit Azure Portal naar ggVM2.
- Ga naar Overzicht in het linkerdeelvenster.
- Selecteer Verbinding maken met>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Klik op Bastion gebruiken
Open firewallpoorten voor ggVM1
Configureer de firewall om verbindingen van ggVM1 toe te staan. De volgende opdracht wordt uitgevoerd op ggVM2.
$ sudo su -
$ firewall-cmd --permanent --zone=trusted --add-source=10.0.0.5
$ firewall-cmd --reload
$ exit
De database maken op ggVM2 (repliceren)
- Indien nodig overschakelen naar
oracle
gebruiker
$ sudo su - oracle
- De database maken
$ 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
- Stel de variabelen ORACLE_SID en ORACLE_HOME in.
$ export ORACLE_SID=cdb1
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
- Voer de volgende opdracht uit om ORACLE_SID en LD_LIBRARY_PATH toe te voegen aan het bashrc-bestand, zodat deze instellingen worden opgeslagen voor toekomstige aanmeldingen. ORACLE_HOME variabele moet al zijn ingesteld in het .bashrc-bestand.
$ sed -i '$ a export ORACLE_SID=cdb1' .bashrc
$ sed -i '$ a export LD_LIBRARY_PATH=$ORACLE_HOME/lib' .bashrc
- Oracle-listener starten
$ lsnrctl start
Golden Gate configureren op ggVM1
Volg de stappen in deze sectie om Golden Gate te installeren en configureren.
Archieflogboekmodus inschakelen op ggVM1 (primair)
- Verbinding maken met
sqlplus
$ sqlplus / as sysdba
- Archieflogboek inschakelen
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
- Schakel geforceerde logboekregistratie in en zorg ervoor dat er ten minste één logboekbestand aanwezig is.
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;
Golden Gate-software downloaden
Download het 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip-bestand op de downloadpagina van Oracle Golden Gate. Onder de downloadtitel Oracle GoldenGate 21.3.0.0.0 voor Oracle op Linux x86-64.
Nadat u het .zip-bestand naar uw clientcomputer hebt gedownload, kunt u SCP (Secure Copy Protocol) gebruiken om de bestanden te kopiëren naar uw virtuele machines (ggVM1 en ggVM2). Zorg ervoor dat
scp
de opdracht verwijst naar het juiste pad van .zip bestand.Kopiëren naar ggVM1
Meld u aan en zorg ervoor dat u het juiste abonnement gebruikt, zoals beschreven in Aanmelden bij Azure
Open de tunnel naar uw doel-VM met behulp van de volgende PowerShell-opdracht
$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
Laat de eerste opdrachtprompt actief en open een tweede opdrachtprompt om via de tunnel verbinding te maken met de doel-VM. In dit tweede opdrachtpromptvenster kunt u bestanden van uw lokale computer uploaden naar uw doel-VM met behulp van de volgende opdracht. Het juiste
id_rsa
sleutelbestand voor toegang tot de virtuele machine moet zich in.ssh
de map bevinden of u kunt naar een ander sleutelbestand verwijzen met behulp van-i
parameter naarscp
opdracht.scp -P 57500 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip" azureuser@127.0.0.1:.
Kopiëren naar ggVM2
Open de tunnel naar uw doel-VM met behulp van de volgende PowerShell-opdracht
$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
Laat de eerste opdrachtprompt actief en open een tweede opdrachtprompt om via de tunnel verbinding te maken met de doel-VM. In dit tweede opdrachtpromptvenster kunt u bestanden van uw lokale computer uploaden naar uw doel-VM met behulp van de volgende opdracht. Het juiste
id_rsa
sleutelbestand voor toegang tot de virtuele machine moet zich in.ssh
de map bevinden of u kunt naar een ander sleutelbestand verwijzen met behulp van-i
parameter naarscp
opdracht.scp -P 57501 "213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip" azureuser@127.0.0.1:.
Golden Gate-software installeren
Maak verbinding met ggVM1 met behulp van Bastion.
- Navigeer vanuit Azure Portal naar ggVM1.
- Ga naar Overzicht in het linkerdeelvenster
- Selecteer Verbinding maken met>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Klik op Bastion gebruiken
Verplaats het .zip bestand naar de map /opt en wijzig vervolgens de eigenaar
$ sudo su - $ mv /home/azureuser/*.zip /opt
Pak de bestanden uit (installeer het hulpprogramma voor uitpakken als dit nog niet is geïnstalleerd)
$ yum install unzip $ cd /opt $ unzip 213000_fbo_ggs_Linux_x64_Oracle_shiphome.zip
Machtiging wijzigen
$ chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_Oracle_shiphome $ exit
Golden Gate-installatieprogramma starten
$ sudo su - oracle $ export DISPLAY=10.0.0.4:0.0 $ cd /opt/fbo_ggs_Linux_x64_Oracle_shiphome/Disk1 $ ./runInstaller
Het installatieprogramma wordt geopend op ggXServer.
Selecteer Oracle GoldenGate voor Oracle Database 21c. Selecteer vervolgens Volgende om door te gaan.
Stel de softwarelocatie in op /u01/app/oracle/product/19.0.0/oggcore_1, zorg ervoor dat het vak Startbeheer is geselecteerd en selecteer Volgende om door te gaan.
Selecteer In het scherm Samenvatting de optie Installeren om door te gaan.
Wacht tot de installatie is voltooid.
Selecteer Sluiten om door te gaan.
Maak verbinding met ggVM2 met behulp van Bastion.
- Navigeer vanuit Azure Portal naar ggVM2.
- Ga naar Overzicht in het linkerdeelvenster
- Selecteer Verbinding maken met>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Klik op Bastion gebruiken
Herhaal stap 2-10 hierboven op ggVM2
Service instellen op ggVM1 (primair)
Maak of werk het bestand tnsnames.ora bij.
$ sudo su - oracle $ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Wanneer vi editor wordt geopend, moet u drukken
i
om over te schakelen naar de invoegmodus, kopieer en plak bestandsinhoud en druk opEsc
toets,:wq!
om het bestand op te slaan.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) ) )
Maak de Golden Gate-eigenaar en gebruikersaccounts.
Notitie
Het eigenaarsaccount moet het C##-voorvoegsel hebben.
$ 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;
Het Golden Gate-testgebruikersaccount maken
$ 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;
Configureer het parameterbestand voor extraheren.
Start de Golden Gate-opdrachtregelinterface (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
Druk op
i
de toets om over te schakelen naar de invoegmodus en kopieer en plak (klik met de rechtermuisknop op het SSH-venster) na het parameterbestand EXTRACT. Druk op Esc:wq!
om het bestand op te slaan.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;
Uitpakken registreren- geïntegreerd extract.
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
Controlepunten extraheren instellen en realtime-extract starten
$ ./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
In deze stap vindt u de begin-SCN, die later wordt gebruikt, in een andere sectie.
$ 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
Wanneer vi editor wordt geopend, moet u drukken
i
om over te schakelen naar de invoegmodus, kopieer en plak bestandsinhoud en druk opEsc
toets,:wq!
om het bestand op te slaan.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
Service instellen op ggVM2 (repliceren)
Maak of werk het bestand tnsnames.ora bij.
$ cd $ORACLE_HOME/network/admin $ vi tnsnames.ora
Wanneer vi editor wordt geopend, moet u drukken
i
om over te schakelen naar de invoegmodus, kopieer en plak bestandsinhoud en druk opEsc
toets,:wq!
om het bestand op te slaan.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) ) )
Maak een replicatieaccount.
$ 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;
Maak een Golden Gate-testgebruikeraccount.
$ 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-parameterbestand om wijzigingen te repliceren.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1 $ ./ggsci
GGSCI> EDIT PARAMS REPORA
Wanneer vi editor wordt geopend, moet u drukken
i
om over te schakelen naar de invoegmodus, kopieer en plak bestandsinhoud en druk opEsc
toets,:wq!
om het bestand op te slaan.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.*;
Stel een replicatiecontrolepunt in.
GGSCI> ADD REPLICAT REPORA, INTEGRATED, EXTTRAIL ./dirdat/rt GGSCI> EDIT PARAMS INITREP
Wanneer vi editor wordt geopend, moet u drukken
i
om over te schakelen naar de invoegmodus, kopieer en plak bestandsinhoud en druk opEsc
toets,:wq!
om het bestand op te slaan.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
Replicatie instellen (ggVM1 en ggVM2)
1. De replicatie instellen op ggVM2 (repliceren)
Meld u aan bij ggsci
.
$ cd /u01/app/oracle/product/12.1.0/oggcore_1
$ ./ggsci
GGSCI> EDIT PARAMS MGR
Werk het bestand bij met het volgende.
PORT 7809
ACCESSRULE, PROG *, IPADDR *, ALLOW
Start de Manager-service opnieuw.
GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT
2. De replicatie instellen op ggVM1 (primair)
Start de eerste laadtijd en controleer op fouten.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
GGSCI> START EXTRACT INITEXT
GGSCI> VIEW REPORT INITEXT
3. Stel de replicatie in op ggVM2 (repliceren)
Wijzig het SCN-nummer door het nummer dat u eerder hebt verkregen.
$ cd /u01/app/oracle/product/19.0.0/oggcore_1
$ ./ggsci
START REPLICAT REPORA, AFTERCSN 2172191
De replicatie is gestart en u kunt deze testen door nieuwe records in te voegen in TEST-tabellen.
Taakstatus en probleemoplossing weergeven
Rapporten weergeven
Voer de volgende opdrachten uit om rapporten op ggVM1 weer te geven.
GGSCI> VIEW REPORT EXTORA
Voer de volgende opdrachten uit om rapporten op ggVM2 weer te geven.
GGSCI> VIEW REPORT REPORA
Status en geschiedenis weergeven
Voer de volgende opdrachten uit om de status en geschiedenis op ggVM1 weer te geven.
GGSCI> DBLOGIN USERID C##GGADMIN@CDB1, PASSWORD ggadmin GGSCI> INFO EXTRACT EXTORA, DETAIL
Voer de volgende opdrachten uit om de status en geschiedenis op ggVM2 weer te geven.
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;
Gegevensreplicatie observeren
Verbinding maken met de primaire database op ggVM1
$ sqlplus test/test@pdb1
Bestaande records uit tabel selecteren
SQL> select * from TCUSTORD;
Een testrecord maken
SQL> INSERT INTO TCUSTORD VALUES ('OLLJ',TO_DATE('11-APR-99'),'CYCLE',400,16000,1,102); SQL> COMMIT; SQL> EXIT;
Bekijk de transactie die is opgehaald door Golden Gate (Note Total voegt waarde in )
$ 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.
Verbinding maken met de primaire database op ggVM2
$ sqlplus test/test@pdb1
Controleren of de nieuwe record is gerepliceerd
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
De installatie en configuratie van Golden Gate op Oracle Linux is nu voltooid.
De ggXServer-VM verwijderen
ggXServer VM wordt alleen gebruikt tijdens de installatie. U kunt deze veilig verwijderen nadat u dit labdocument hebt voltooid, maar houd de installatie van uw GoldenGate in Azure-lab intact.
$ az vm delete --resource-group GoldenGateOnAzureLab --name ggXServer --force-deletion yes
$ az network public-ip delete --resource-group GoldenGateOnAzureLab --name ggXServerPublicIP
Golden Gate verwijderen in Azure Lab Setup
Wanneer u deze niet meer nodig hebt, kunt u de volgende opdracht gebruiken om de resourcegroep, vm en alle gerelateerde resources voor dit lab te verwijderen.
$ az group delete --name GoldenGateOnAzureLab
Volgende stappen
Zelfstudie voor het maken van virtuele machines met een hoge beschikbaarheid