Oracle Golden Gate implementeren op een virtuele Azure Linux-machine (VM)
Van toepassing op: ✔️ Virtuele Linux-machines
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 ziet u stapsgewijze instructies voor het maken, installeren en configureren van Oracle Golden Gate 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.
Zorg ervoor dat de Azure CLI is geïnstalleerd voordat u begint. Zie voor meer informatie de Installatiehandleiding van de Azure CLI.
Inleiding
GoldenGate is een logische replicatiesoftware waarmee realtime replicatie, filtering en transformatie van gegevens uit een brondatabase naar een doeldatabase mogelijk is. Deze functie zorgt ervoor dat wijzigingen in de brondatabase in realtime worden gerepliceerd, waardoor de doeldatabase up-to-date kan zijn met de meest recente gegevens.
Gebruik GoldenGate voornamelijk voor heterogene replicatiecases, zoals het repliceren van gegevens uit 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 onlinemigraties ondersteunt met minimale onderbreking van de bronsystemen.
Hoewel GoldenGate bidirectionele replicatie faciliteert, moet de toepassing dienovereenkomstig worden geconfigureerd. Bovendien staat de software het filteren en transformeren van gegevens toe om te voldoen aan specifieke zakelijke vereisten, 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 maken in dezelfde beschikbaarheidsset. De Marketplace-installatiekopieën die u gebruikt om de VIRTUELE machines te maken, zijn Oracle:oracle-database-19-3:oracle-database-19-0904:19.3.1.
U moet ook bekend zijn met Unix-editor vi en basiskennis hebben van X Server.
De volgende tabel is een samenvatting 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/replicatie | 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 sleutelverificatie op basis van bestanden met ssh om verbinding te maken met de Oracle Database-VM. Zorg ervoor dat uw persoonlijke (benoemde id_rsa
) en openbare (benoemde id_rsa.pub
) sleutelbestanden zijn gemaakt in uw shell.
De locatie van 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 sleutelbestanden worden gemaakt. Zie SSH-sleutels maken en beheren voor verificatie bij een Virtuele Linux-machine in Azure voor meer informatie
Een brongroep maken
U kunt een resourcegroep maken met de opdracht az group create. 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
Een 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
Maak een NSG-regel 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
Bastion-netwerk maken
Maak een Bastion-subnet. 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
Maak een openbaar IP-adres voor Bastion.
$ az network public-ip create \ --resource-group GoldenGateOnAzureLab \ --name ggBastionIP \ --sku Standard
Een 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 waar we X Server implementeren.
$ 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.
- Navigeren naar ggXServer vanuit de Azure-portal
- Overzicht zoeken in het linkernavigatievenster
- Selecteer Connect>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 Start niet hebt geselecteerd aan het einde van de installatie
Start de toepassing XLAUNCH vanuit het startmenu.
Meerdere Vensters selecteren
Selecteer Geen client starten
Geen toegangsbeheer selecteren
Selecteer Toegang toestaan om X Server toe te staan via Windows Firewall
Als u de ggXServer-VM opnieuw opstart, volgt u de bovenstaande stappen 2-6 om de X Server-toepassing opnieuw op te starten.
Virtuele Oracle-databasemachines maken
Voor dit lab maken we virtuele machines ggVM1
en ggVM2
van de Oracle Database 19c-installatiekopieën. Als ze nog niet bestaan op de standaardsleutellocatie, worden met deze opdracht ook SSH-sleutels gemaakt. 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.
Wanneer u een nieuwe virtuele machine maakt, geeft de size
parameter de grootte en het type virtuele machine aan dat is gemaakt. Afhankelijk van de Azure-regio die u hebt geselecteerd om een virtuele machine en uw abonnementsinstellingen te maken, 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 typen virtuele machines voor algemeen gebruik (D-serie). Voor productie- of testimplementaties zijn geoptimaliseerd voor geheugen (E-serie en M-serie) geschikter.
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 Connect>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Bastion gebruiken selecteren
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
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 Connect>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Bastion gebruiken selecteren
Firewallpoorten openen 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)
- Schakel indien nodig over naar
oracle
de 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 te configureren.
Archieflogboekmodus inschakelen op ggVM1 (primair)
- Verbinden 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 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 van 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 Secure Copy Protocol (SCP) 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
Als u via de tunnel verbinding wilt maken met uw doel-VM, laat u de eerste opdrachtprompt actief en opent u een tweede opdrachtprompt. In dit tweede opdrachtpromptvenster kunt u bestanden vanaf 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 verwijzen naar een ander sleutelbestand met behulp van-i
de parameter voorscp
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 uw doel-VM. In dit tweede opdrachtpromptvenster kunt u bestanden vanaf 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 verwijzen naar een ander sleutelbestand met behulp van-i
de parameter voorscp
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 Connect>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Bastion gebruiken selecteren
Verplaats het .zip-bestand naar de map /opt en wijzig de eigenaar
$ sudo su - $ mv /home/azureuser/*.zip /opt
Pak de bestanden uit (installeer het hulpprogramma unzip als dat 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 startbeheer is geselecteerd en selecteer Volgende om door te gaan.
Selecteer Installeren in het scherm Samenvatting 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 Connect>Bastion in het menu bovenaan
- Het tabblad Bastion selecteren
- Bastion gebruiken selecteren
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 op drukken
i
om over te schakelen naar de invoegmodus, kopieert en plakt u de bestandsinhoud en drukt u op deEsc
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 kopiëren en plakken (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;
Register extract-geïntegreerde 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 en realtime extraheren 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 in een andere sectie wordt gebruikt.
$ 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 op drukken
i
om over te schakelen naar de invoegmodus, kopieert en plakt u de bestandsinhoud en drukt u op deEsc
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 op drukken
i
om over te schakelen naar de invoegmodus, kopieert en plakt u de bestandsinhoud en drukt u op deEsc
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-testgebruikersaccount.
$ 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 op drukken
i
om over te schakelen naar de invoegmodus, kopieert en plakt u de bestandsinhoud en drukt u op deEsc
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 controlepunt voor replicatie in.
GGSCI> ADD REPLICAT REPORA, INTEGRATED, EXTTRAIL ./dirdat/rt GGSCI> EDIT PARAMS INITREP
Wanneer vi editor wordt geopend, moet u op drukken
i
om over te schakelen naar de invoegmodus, kopieert en plakt u de bestandsinhoud en drukt u op deEsc
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. Stel de replicatie in op ggVM2 (repliceren)
Aanmelden 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 op.
GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT
2. Stel de replicatie in op ggVM1 (primair)
Start de eerste belasting 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 met 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. 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 transactie opgehaald door Golden Gate (Note Total inserts value)
$ 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 het veilig verwijderen nadat u dit labdocument hebt voltooid, maar uw GoldenGate op Azure Lab Setup intact houden.
$ 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 deze niet meer nodig is, kan de volgende opdracht worden gebruikt 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