Implementare Oracle Golden Gate in una VM Linux di AzureImplement Oracle Golden Gate on an Azure Linux VM

L'interfaccia della riga di comando di Azure viene usata per creare e gestire le risorse di Azure dalla riga di comando o negli script.The Azure CLI is used to create and manage Azure resources from the command line or in scripts. Questa guida descrive nei dettagli come usare l'interfaccia della riga di comando di Azure per distribuire un database Oracle 12c dall'immagine della raccolta di Azure Marketplace.This guide details how to use the Azure CLI to deploy an Oracle 12c database from the Azure Marketplace gallery image.

Questo documento descrive dettagliatamente come creare, installare e configurare Oracle Golden Gate in una VM Azure.This document shows you step-by-step how to create, install, and configure Oracle Golden Gate on an Azure VM.

Prima di iniziare, verificare che l'interfaccia della riga di comando di Azure sia stata installata.Before you start, make sure that the Azure CLI has been installed. Per altre informazioni, vedere Azure CLI installation guide (Guida all'installazione dell'interfaccia della riga di comando di Azure).For more information, see Azure CLI installation guide.

Preparare l'ambientePrepare the environment

Per installare Oracle Golden Gate è necessario creare due VM Azure nello stesso set di disponibilità.To perform the Oracle Golden Gate installation, you need to create two Azure VMs on the same availability set. L'immagine del Marketplace usata per creare le VM è Oracle:Oracle-Database-Ee:12.1.0.2:latest.The Marketplace image you use to create the VMs is Oracle:Oracle-Database-Ee:12.1.0.2:latest.

È anche necessario avere familiarità con l'editor Unix e nozioni di base di x11 (X Windows).You also need to be familiar with Unix editor vi and have a basic understanding of x11 (X Windows).

Di seguito è riportato un riepilogo della configurazione dell'ambiente:The following is a summary of the environment configuration:

Sito primarioPrimary site Sito di replicaReplicate site
Versione di OracleOracle release Oracle 12c Release 2 – (12.1.0.2)Oracle 12c Release 2 – (12.1.0.2) Oracle 12c Release 2 – (12.1.0.2)Oracle 12c Release 2 – (12.1.0.2)
Nome computerMachine name myVM1myVM1 myVM2myVM2
Sistema operativoOperating system Oracle Linux 6.xOracle Linux 6.x Oracle Linux 6.xOracle Linux 6.x
SID OracleOracle SID CDB1CDB1 CDB1CDB1
Schema di replicaReplication schema TESTTEST TESTTEST
Proprietario/replica Golden GateGolden Gate owner/replicate C##GGADMINC##GGADMIN REPUSERREPUSER
Processo Golden GateGolden Gate process EXTORAEXTORA REPORAREPORA

Accedere ad AzureSign in to Azure

Accedere alla sottoscrizione di Azure con il comando az login.Sign in to your Azure subscription with the az login command. Seguire quindi le istruzioni visualizzate sullo schermo.Then follow the on-screen directions.

az login

Creare un gruppo di risorseCreate a resource group

Creare un gruppo di risorse con il comando az group create.Create a resource group with the az group create command. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.An Azure resource group is a logical container into which Azure resources are deployed and from which they can be managed.

Nell'esempio seguente viene creato un gruppo di risorse denominato myResourceGroup nella posizione westus.The following example creates a resource group named myResourceGroup in the westus location.

az group create --name myResourceGroup --location westus

Creare un set di disponibilitàCreate an availability set

Il passaggio seguente è facoltativo ma consigliato.The following step is optional but recommended. Per altre informazioni, vedere Linee guida per i set di disponibilità di Azure.For more information, see Azure availability sets guide.

az vm availability-set create \
    --resource-group myResourceGroup \
    --name myAvailabilitySet \
    --platform-fault-domain-count 2 \
    --platform-update-domain-count 2

Creare una macchina virtualeCreate a virtual machine

Creare una VM con il comando az vm create.Create a VM with the az vm create command.

Nell'esempio seguente vengono create due VM chiamate myVM1 e myVM2.The following example creates two VMs named myVM1 and myVM2. Creare le chiavi SSH, se non esistono già in una posizione predefinita.Create SSH keys if they do not already exist in a default key location. Per usare un set specifico di chiavi, utilizzare l'opzione --ssh-key-value.To use a specific set of keys, use the --ssh-key-value option.

Creare myVM1 (primaria):Create myVM1 (primary):

az vm create \
     --resource-group myResourceGroup \
     --name myVM1 \
     --availability-set myAvailabilitySet \
     --image Oracle:Oracle-Database-Ee:12.1.0.2:latest \
     --size Standard_DS1_v2  \
     --generate-ssh-keys \

Dopo aver creato la VM, l'interfaccia della riga di comando di Azure mostra informazioni simili all'esempio seguente.After the VM has been created, the Azure CLI shows information similar to the following example. Prendere nota di publicIpAddress.(Take note of the publicIpAddress. Questo indirizzo viene usato per accedere alla VM.This address is used to access the VM.)

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "westus",
  "macAddress": "00-0D-3A-36-2F-56",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "13.64.104.241",
  "resourceGroup": "myResourceGroup"
}

Creare myVM2 (replica):Create myVM2 (replicate):

az vm create \
     --resource-group myResourceGroup \
     --name myVM2 \
     --availability-set myAvailabilitySet \
     --image Oracle:Oracle-Database-Ee:12.1.0.2:latest \
     --size Standard_DS1_v2  \
     --generate-ssh-keys \

Prendere nota anche di publicIpAddress dopo la creazione.Take note of the publicIpAddress as well after it has been created.

Aprire la porta TCP per la connettivitàOpen the TCP port for connectivity

Il passaggio successivo consiste nel configurare gli endpoint esterni, che consentono di accedere al database Oracle in modalità remota.The next step is to configure external endpoints, which enable you to access the Oracle database remotely. Per configurare gli endpoint esterni, eseguire questi comandi.To configure the external endpoints, run the following commands.

Aprire la porta per myVM1:Open the port for myVM1:

az network nsg rule create --resource-group myResourceGroup\
    --nsg-name myVm1NSG --name allow-oracle\
    --protocol tcp --direction inbound --priority 999 \
    --source-address-prefix '*' --source-port-range '*' \
    --destination-address-prefix '*' --destination-port-range 1521 --access allow

I risultati saranno simili alla risposta seguente:The results should look similar to the following response:

{
  "access": "Allow",
  "description": null,
  "destinationAddressPrefix": "*",
  "destinationPortRange": "1521",
  "direction": "Inbound",
  "etag": "W/\"bd77dcae-e5fd-4bd6-a632-26045b646414\"",
  "id": "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVmNSG/securityRules/allow-oracle",
  "name": "allow-oracle",
  "priority": 999,
  "protocol": "Tcp",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "sourceAddressPrefix": "*",
  "sourcePortRange": "*"
}

Aprire la porta per myVM2:Open the port for myVM2:

az network nsg rule create --resource-group myResourceGroup\
    --nsg-name myVm2NSG --name allow-oracle\
    --protocol tcp --direction inbound --priority 999 \
    --source-address-prefix '*' --source-port-range '*' \
    --destination-address-prefix '*' --destination-port-range 1521 --access allow

Connettersi alla macchina virtualeConnect to the virtual machine

Usare il comando seguente per creare una sessione SSH con la macchina virtuale.Use the following command to create an SSH session with the virtual machine. Sostituire l'indirizzo IP con publicIpAddress della macchina virtuale.Replace the IP address with the publicIpAddress of your virtual machine.

ssh <publicIpAddress>

Creare il database in myVM1 (primaria)Create the database on myVM1 (primary)

Il software Oracle è già installato nell'immagine di Marketplace, pertanto il passaggio successivo è installare il database.The Oracle software is already installed on the Marketplace image, so the next step is to install the database.

Eseguire il software come utente con privilegi avanzati 'oracle':Run the software as the 'oracle' superuser:

sudo su - oracle

Creare il database:Create the database:

$ 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 \
   -ignorePreReqs

Gli output saranno simili alla risposta seguente:Outputs should look similar to the following response:

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.

Impostare le variabili ORACLE_SID e ORACLE_HOME.Set the ORACLE_SID and ORACLE_HOME variables.

$ ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1; export ORACLE_HOME
$ ORACLE_SID=gg1; export ORACLE_SID
$ LD_LIBRARY_PATH=ORACLE_HOME/lib; export LD_LIBRARY_PATH

È anche possibile aggiungere le variabili ORACLE_HOME e ORACLE_SID al file con estensione bashrc, in modo da salvare queste impostazioni per un accesso futuro:Optionally, you can add ORACLE_HOME and ORACLE_SID to the .bashrc file, so that these settings are saved for future sign-ins:

# add oracle home
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
# add oracle sid
export ORACLE_SID=gg1
# add Oracle library path
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

Avviare il listener OracleStart Oracle listener

$ sudo su - oracle
$ lsnrctl start

Creare il database in myVM2 (replica)Create the database on myVM2 (replicate)

sudo su - oracle

Creare il database:Create the database:

$ 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 \
   -ignorePreReqs

Impostare le variabili ORACLE_SID e ORACLE_HOME.Set the ORACLE_SID and ORACLE_HOME variables.

$ ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1; export ORACLE_HOME
$ ORACLE_SID=cdb1; export ORACLE_SID
$ LD_LIBRARY_PATH=ORACLE_HOME/lib; export LD_LIBRARY_PATH

È anche possibile aggiungere le variabili ORACLE_HOME e ORACLE_SID al file con estensione bashrc, in modo da salvare queste impostazioni per un accesso futuro.Optionally, you can added ORACLE_HOME and ORACLE_SID to the .bashrc file, so that these settings are saved for future sign-ins.

# add oracle home
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
# add oracle sid
export ORACLE_SID=cdb1
# add Oracle library path
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

Avviare il listener OracleStart Oracle listener

$ sudo su - oracle
$ lsnrctl start

Configurare Golden GateConfigure Golden Gate

Per configurare Golden Gate, eseguire i passaggi di questa sezione.To configure Golden Gate, take the steps in this section.

Abilitare la modalità archivelog in myVM1 (primaria)Enable archive log mode on myVM1 (primary)

$ sqlplus / as sysdba
SQL> SELECT log_mode FROM v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

Abilitare la registrazione forzata e verificare che sia presente almeno un file di registro.Enable force logging, and make sure at least one log file is present.

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=PDB1;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> EXIT;

Scaricare il software Golden GateDownload Golden Gate software

Per scaricare e preparare il software Oracle Golden Gate, completare la procedura seguente:To download and prepare the Oracle Golden Gate software, complete the following steps:

  1. Scaricare il file fbo_ggs_Linux_x64_shiphome.zip dalla pagina di download di Oracle Golden Gate.Download the fbo_ggs_Linux_x64_shiphome.zip file from the Oracle Golden Gate download page. Sotto il titolo di download Oracle GoldenGate 12.x.x.x for Oracle Linux x86-64 è presente un set di file ZIP da scaricare.Under the download title Oracle GoldenGate 12.x.x.x for Oracle Linux x86-64, there should be a set of .zip files to download.

  2. Dopo aver scaricato i file ZIP nel computer client, usare il protocollo per la copia di sicurezza, SCP, per copiare i file nella macchina virtuale:After you download the .zip files to your client computer, use Secure Copy Protocol (SCP) to copy the files to your VM:

    $ scp fbo_ggs_Linux_x64_shiphome.zip <publicIpAddress>:<folder>
    
  3. Spostare i file ZIP nella cartella /opt.Move the .zip files to the /opt folder. Modificare quindi il proprietario dei file come segue:Then change the owner of the files as follows:

    $ sudo su -
    # mv <folder>/*.zip /opt
    
  4. Decomprimere i file, per farlo installare l'utilità di decompressione di Linux se non è già installata:Unzip the files (install the Linux unzip utility if it's not already installed):

    # yum install unzip
    # cd /opt
    # unzip fbo_ggs_Linux_x64_shiphome.zip
    
  5. Modificare l'autorizzazione:Change permission:

    # chown -R oracle:oinstall /opt/fbo_ggs_Linux_x64_shiphome
    

Preparare il client e la VM per l'esecuzione di x11, solo per i client di WindowsPrepare the client and VM to run x11 (for Windows clients only)

Si tratta di un passaggio facoltativo.This is an optional step. Può essere ignorato se si usa un client Linux o se x11 è già configurato.You can skip this step if you are using a Linux client or already have x11 setup.

  1. Scaricare PuTTY e Xming sul computer Windows:Download PuTTY and Xming to your Windows computer:

  2. Dopo aver installato PuTTY, nella cartella PuTTY, ad esempio, C:\Programmi\PuTTY, eseguire puttygen.exe, il generatore di chiavi PuTTY.After you install PuTTY, in the PuTTY folder (for example, C:\Program Files\PuTTY), run puttygen.exe (PuTTY Key Generator).

  3. Nel generatore di chiavi PuTTY:In PuTTY Key Generator:

    • Per generare una chiave, selezionare il pulsante Genera.To generate a key, select the Generate button.
    • Copiare il contenuto della chiave con Ctrl+C.Copy the contents of the key (Ctrl+C).
    • Selezionare il pulsante Save private key (Salva la chiave privata).Select the Save private key button.
    • Ignorare l'avviso che viene visualizzato e quindi selezionare OK.Ignore the warning that appears, and then select OK.

    Schermata della pagina del generatore di chiavi PuTTY

  4. Nella macchina virtuale eseguire questi comandi:In your VM, run these commands:

    # sudo su - oracle
    $ mkdir .ssh (if not already created)
    $ cd .ssh
    
  5. Creare un file denominato authorized_keys.Create a file named authorized_keys. Incollare il contenuto della chiave in questo file e quindi salvare il file.Paste the contents of the key in this file, and then save the file.

    Nota

    La chiave deve contenere la stringa ssh-rsa.The key must contain the string ssh-rsa. In aggiunta, il contenuto della chiave deve essere una singola riga di testo.Also, the contents of the key must be a single line of text.

  6. Avviare PuTTY.Start PuTTY. Nel pannello Categoria selezionare Connessione > SSH > Autenticazione. Nella casella Private key file for authentication (File della chiave privata per l'autenticazione) individuare la chiave generata in precedenza.In the Category pane, select Connection > SSH > Auth. In the Private key file for authentication box, browse to the key that you generated earlier.

    Schermata della pagina di impostazione della chiave privata

  7. Nel pannello Categoria selezionare Connessione > SSH > X11.In the Category pane, select Connection > SSH > X11. Selezionare quindi la casella Enable X11 forwarding (Abilita l'inoltro di X11).Then select the Enable X11 forwarding box.

    Schermata della pagina di abilitazione di X11

  8. Nel pannello Categoria andare in Sessione.In the Category pane, go to Session. Immettere le informazioni sull'host e quindi selezionare Apri.Enter the host information, and then select Open.

    Screenshot della pagina della sessione

Installare il software Golden GateInstall Golden Gate software

Per installare Oracle Golden Gate seguire questa procedura:To install Oracle Golden Gate, complete the following steps:

  1. Accedere come oracle.Sign in as oracle. L'accesso non dovrebbe richiedere una password. Assicurarsi che Xming sia in esecuzione prima di iniziare l'installazione.(You should be able to sign in without being prompted for a password.) Make sure that Xming is running before you begin the installation.

    $ cd /opt/fbo_ggs_Linux_x64_shiphome/Disk1
    $ ./runInstaller
    
  2. Selezionare 'Oracle GoldenGate for Oracle Database 12c'.Select 'Oracle GoldenGate for Oracle Database 12c'. Selezionare quindi Next (Avanti) per continuare.Then select Next to continue.

    Screenshot della pagina Select Installation Option (Selezionare l'opzione di installazione) del programma di installazione

  3. Modificare il percorso del software.Change the software location. Selezionare quindi Start Manager (Gestione avvio) e immettere il percorso del database.Then select the Start Manager box and enter the database location. Selezionare Avanti per continuare.Select Next to continue.

    Screenshot della pagina di selezione dell'installazione

  4. Modificare la directory di inventario e quindi selezionare Next (Avanti) per continuare.Change the inventory directory, and then select Next to continue.

    Screenshot della pagina di selezione dell'installazione

  5. Nella schermata Summary (Riepilogo) selezionare Install (Installa) per continuare.On the Summary screen, select Install to continue.

    Screenshot della pagina Select Installation Option (Selezionare l'opzione di installazione) del programma di installazione

  6. Potrebbe essere richiesto di eseguire uno script come 'root'.You might be prompted to run a script as 'root'. In questo caso aprire una sessione separata, connettersi alla VM tramite SSH, passare a root tramite sudo e quindi eseguire lo script.If so, open a separate session, ssh to the VM, sudo to root, and then run the script. Selezionare OK per continuare.Select OK continue.

    Screenshot della pagina di selezione dell'installazione

  7. Al termine dell'installazione, selezionare Close (Chiudi) per completare il processo.When the installation has finished, select Close to complete the process.

    Screenshot della pagina di selezione dell'installazione

Configurare il servizio in myVM1 (primaria)Set up service on myVM1 (primary)

  1. Creare o aggiornare il file tnsnames.ora:Create or update the tnsnames.ora file:

    $ cd $ORACLE_HOME/network/admin
    $ vi tnsnames.ora
    
    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. Creare gli account proprietario e utente di Golden Gate.Create the Golden Gate owner and user accounts.

    Nota

    L'account proprietario deve avere il prefisso C##.The owner account must have 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;
    
  3. Creare l'account dell'utente di test di Golden Gate:Create the Golden Gate test user account:

    $ cd /u01/app/oracle/product/12.1.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. Configurare il file dei parametri EXTRACT.Configure the extract parameter file.

    Avviare l'interfaccia della riga di comando di Golden Gate (ggsci):Start the Golden gate command-line interface (ggsci):

    $ sudo su - oracle
    $ cd /u01/app/oracle/product/12.1.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. Aggiungere quanto segue al file dei parametri EXTRACT usando i comandi vi.Add the following to the EXTRACT parameter file (by using vi commands). Premere il tasto Esc, ':wq!'Press Esc key, ':wq!' per salvare il file.to save file.

    EXTRACT EXTORA
    USERID C##GGADMIN, 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. REGISTER EXTRACT - estrazione integrata:Register extract--integrated extract:

    $ cd /u01/app/oracle/product/12.1.0/oggcore_1
    $ ./ggsci
    
    GGSCI> dblogin userid C##GGADMIN, password ggadmin
    Successfully logged into database CDB$ROOT.
    
    GGSCI> REGISTER EXTRACT EXTORA DATABASE CONTAINER(pdb1)
    
    2017-05-23 15:58:34  INFO    OGG-02003  Extract EXTORA successfully registered with database at SCN 1821260.
    
    GGSCI> exit
    
  7. Configurare i checkpoint di estrazione e avviare l'estrazione in tempo reale:Set up extract checkpoints and start real-time extract:

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

    In questo passaggio è presente il parametro SCN iniziale, che verrà usato in un secondo momento in un'altra sezione:In this step, you find the starting SCN, which will be used later, in a different section:

    $ sqlplus / as sysdba
    SQL> alter session set container = pdb1;
    SQL> SELECT current_scn from v$database;
    CURRENT_SCN
    -----------
       1857887
    SQL> EXIT;
    
    $ ./ggsci
    GGSCI> EDIT PARAMS INITEXT
    
    EXTRACT INITEXT
    USERID C##GGADMIN, PASSWORD ggadmin
    RMTHOST 10.0.0.5, MGRPORT 7809
    RMTTASK REPLICAT, GROUP INITREP
    TABLE pdb1.test.*, SQLPREDICATE 'AS OF SCN 1857887'; 
    
    GGSCI> ADD EXTRACT INITEXT, SOURCEISTABLE
    

Configurare il servizio in myVM2 (replica)Set up service on myVM2 (replicate)

  1. Creare o aggiornare il file tnsnames.ora:Create or update the tnsnames.ora file:

    $ cd $ORACLE_HOME/network/admin
    $ vi tnsnames.ora
    
    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. Creare un account di replica:Create a replicate account:

    $ sqlplus / as sysdba
    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. Creare un account dell'utente di test di Golden Gate:Create a Golden Gate test user account:

    $ cd /u01/app/oracle/product/12.1.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. File dei parametri REPLICAT per replicare le modifiche:REPLICAT parameter file to replicate changes:

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

    Contenuto del file dei parametri REPORA:Content of REPORA parameter file:

    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. Configurare un checkpoint replicat:Set up a replicat checkpoint:

    GGSCI> ADD REPLICAT REPORA, INTEGRATED, EXTTRAIL ./dirdat/rt
    GGSCI> EDIT PARAMS INITREP
    
    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
    

Configurare la replica (myVM1 e myVM2)Set up the replication (myVM1 and myVM2)

1. Configurare la replica in myVM2 (replica)1. Set up the replication on myVM2 (replicate)

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

Aggiornare il file con il contenuto seguente:Update the file with the following:

PORT 7809
ACCESSRULE, PROG *, IPADDR *, ALLOW

Riavviare quindi il servizio di gestione:Then restart the Manager service:

GGSCI> STOP MGR
GGSCI> START MGR
GGSCI> EXIT

2. Configurare la replica in myVM1 (primaria)2. Set up the replication on myVM1 (primary)

Avviare il caricamento iniziale e verificare gli errori:Start the initial load and check for errors:

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

3. Configurare la replica in myVM2 (replica)3. Set up the replication on myVM2 (replicate)

Sostituire il numero SCN con il numero ottenuto in precedenza:Change the SCN number with the number you obtained before:

$ cd /u01/app/oracle/product/12.1.0/oggcore_1
$ ./ggsci
START REPLICAT REPORA, AFTERCSN 1857887

La replica è iniziata ed è possibile testarla inserendo nuovi record nelle tabelle TEST.The replication has begun, and you can test it by inserting new records to TEST tables.

Visualizzare lo stato del processo e le informazioni di risoluzione dei problemiView job status and troubleshooting

Visualizzazione dei reportView reports

Per visualizzare i report in myVM1, eseguire questi comandi:To view reports on myVM1, run the following commands:

GGSCI> VIEW REPORT EXTORA 

Per visualizzare i report in myVM2, eseguire questi comandi:To view reports on myVM2, run the following commands:

GGSCI> VIEW REPORT REPORA

Visualizzare stato e cronologiaView status and history

Per visualizzare stato e cronologia in myVM1, eseguire questi comandi:To view status and history on myVM1, run the following commands:

GGSCI> dblogin userid c##ggadmin, password ggadmin 
GGSCI> INFO EXTRACT EXTORA, DETAIL

Per visualizzare stato e cronologia in myVM2, eseguire questi comandi:To view status and history on myVM2, run the following commands:

GGSCI> dblogin userid repuser@pdb1 password rep_pass 
GGSCI> INFO REP REPORA, DETAIL

Questa operazione completa l'installazione e la configurazione di Golden Gate nell'ambiente Oracle Linux.This completes the installation and configuration of Golden Gate on Oracle linux.

Eliminare la macchina virtualeDelete the virtual machine

Il comando seguente consente di rimuovere il gruppo di risorse, la VM e tutte le risorse correlate quando non sono più necessari.When it's no longer needed, the following command can be used to remove the resource group, VM, and all related resources.

az group delete --name myResourceGroup

Passaggi successiviNext steps

Creare esercitazioni per macchine virtuali a disponibilità elevataCreate highly available virtual machines tutorial

Esplorare gli esempi dell'interfaccia della riga di comando per la distribuzione della VMExplore VM deployment CLI samples