Instalar Oracle GoldenGate 19c

Consejo Breve

Vamos a mostrar cómo instalar GoldenGate 19c en el mismo servidor donde tenemos corriendo una instancia Oracle 19c multitenant para nuestras pruebas.

Crear un Usuario de GoldenGate

Primero necesitamos crear un usuario de linux y asignarle el grupo oinstall como primario:

[pato@patoracle ~]$ sudo adduser golden
[pato@patoracle ~]$ sudo passwd golden
Changing password for user golden.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[pato@patoracle ~]$ sudo usermod -g oinstall golden
[pato@patoracle ~]$ sudo usermod -aG wheel golden

También agregamos el grupo wheel de CentOS ya que queremos que nuestro usuario use sudo, pero puedes implementarlo de acuerdo a tu SO.

Crear el Directorio de Inicio de GoldenGate

Necesitamos crear el GG_HOME donde el software de GoldenGate, los archivos de los procesos y los logs son almacenados, haciendo a nuestro usuario de GoldenGate golden el dueño de este directorio:

[pato@patoracle ~]$ sudo mkdir /golden
[pato@patoracle ~]$ sudo chown golden:oinstall /golden
Configurar las Variables de GoldenGate

Exporta las siguientes variables de Oracle, para persistencia inclúyelas en el .bash_profile del usuario golden:

[golden@patoracle ~]$ vi .bash_profile
# GoldenGate
export GG_HOME=/golden
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

y valida que hayan quedado configuradas como variables de ambiente:

[golden@patoracle ~]$ env | grep HOME
GG_HOME=/golden
HOME=/home/golden
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
[golden@patoracle ~]$
Obtener el Software de GoldenGate

Descarga el software de GoldenGate del sitio web oficial de Oracle y súbelo a tu máquina:

[golden@patoracle ~]$ gsutil cp gs://patobucket/golden/191004_fbo_ggs_Linux_x64_shiphome.zip .
Copying gs://patobucket/golden/191004_fbo_ggs_Linux_x64_shiphome.zip...
| [1 files][530.5 MiB/530.5 MiB]
Operation completed over 1 objects/530.5 MiB.
[golden@patoracle ~]$

entonces descomprime los archivos de instalación en algún directorio de trabajo:

[golden@patoracle ~]$ unzip -q 191004_fbo_ggs_Linux_x64_shiphome.zip
[golden@patoracle ~]$ ls
191004_fbo_ggs_Linux_x64_shiphome.zip  OGG-19.1.0.0-README.txt
fbo_ggs_Linux_x64_shiphome             OGG_WinUnix_Rel_Notes_19.1.0.0.4.pdf
Crear un Archivo de Respuesta

Necesitamos preparar un archivo de respuesta para la instalación. Copia el archivo oggcore.rsp provisto y modifícalo con las opciones apropiadas:

[golden@patoracle ~]$ cp fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp .
[golden@patoracle ~]$ vi oggcore.rsp

[golden@patoracle ~]$ cat oggcore.rsp | grep =
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v19_1_0
INSTALL_OPTION=ORA19c
SOFTWARE_LOCATION=/golden
START_MANAGER=TRUE
MANAGER_PORT=7809
DATABASE_LOCATION=/opt/oracle/product/19c/dbhome_1
INVENTORY_LOCATION=/opt/oracle/oraInventory
UNIX_GROUP_NAME=oinstall
[golden@patoracle ~]$
Instalar GoldenGate en Modo Silencioso

Encuentra el script de instalación y ejecútalo usando el archivo de respuesta previamente creado con el comando
runInstaller -silent -nowait -responseFile :

[golden@patoracle ~]$ cd fbo_ggs_Linux_x64_shiphome/Disk1/
[golden@patoracle Disk1]$ ls
install  response  runInstaller  stage

[golden@patoracle Disk1]$ ./runInstaller -silent -nowait -responseFile /home/golden/oggcore.rsp
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 5491 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 511 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-07-02_01-49-11PM. Please wait ...
You can find the log of this install session at:
 /opt/oracle/oraInventory/logs/installActions2020-07-02_01-49-11PM.log
The installation of Oracle GoldenGate Core was successful.
Please check '/opt/oracle/oraInventory/logs/silentInstall2020-07-02_01-49-11PM.log' for more details.
Successfully Setup Software.
Validar el Directorio de Inicio de GoldenGate

Despues de la instalación podemos ver que el software está instalado dentro de nuestro directorio y que todos los directorios de trabajo de GoldenGate ya han sido creados:

[golden@patoracle ~]$ cd /golden
[golden@patoracle golden]$ ls -d dir*
dirchk  dirdat  dirdmp  dirout  dirprm  dirsca  dirtmp
dircrd  dirdef  diretc  dirpcs  dirrpt  dirsql  dirwlt
Validar la Interfaz de Comandos de GoldenGate

Con el fin de revisar que el software está funcionando adecuadamente necesitamos usar la Interfaz de Comandos del Software de GoldenGate (GGSCI):

[golden@patoracle golden]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO
Linux, x64, 64bit (optimized), Oracle 19c on Oct 17 2019 21:16:29
Operating system character set identified as UTF-8.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.

GGSCI (patoracle) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
Modificar la Configuración del Manager

El proceso de instalación configura el Manager de Goldengate solamente con el parámetro PORT 7809.
Entonces como paso final vamos a agregar más parámetros para tener una configuración más común:

GGSCI (patoracle) 2> edit params mgr
PORT 7809
DYNAMICPORTLIST 7810-7820
AUTOSTART ER *
PURGEOLDEXTRACTS /golden/dirdat/*, USECHECKPOINTS, MINKEEPFILES 4, FREQUENCYMINUTES 15

Entonces detenemos y reiniciamos el Manager para que la nueva configuración se cargue:

GGSCI (patoracle) 3> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y

Sending STOP request to MANAGER ...
Request processed.
Manager stopped.

GGSCI (patoracle) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     STOPPED

GGSCI (patoracle) 5> start mgr
Manager started.

GGSCI (patoracle) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

Y validamos que nuestro proceso de GoldenGate esté en ejecución a nivel sistema operativo:

[golden@patoracle golden]$ ps -ef | grep golden
...
golden   20976     1  0 14:12 ?        00:00:00 ./mgr PARAMFILE /golden/dirprm/mgr.prm REPORTFILE /golden/dirrpt/MGR.rpt PROCESSID MGR
...

Y eso es todo, hemos instalado exitosamente GoldenGate y estamos listos para iniciar la configuración y creación de los procesos Extract, DataPump y Replicat.

Para los pasos siguientes para configurar el Extract y Replicat y probar la replicación puedes visitar
Replicación con GoldenGate entre Bases de Datos Pluggables.

Desinstalar GoldenGate

Si necesitas desinstalar GoldenGate puedes hacerlo desde dentro del GG_HOME yendo al directorio deinstall y ejecutando el script deinstall.sh:

[golden@patoracle golden]$ cd deinstall/
[golden@patoracle deinstall]$ ls
deinstall.sh
[golden@patoracle deinstall]$ ./deinstall.sh

ALERT: Ensure all the processes running from the current Oracle Home are shutdown prior to running this software uninstallation script.

Proceed with removing Oracle GoldenGate home: /golden (yes/no)? [no]
yes
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 511 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-07-02_01-29-45PM. Please wait ...Oracle Universal Installer, Version 12.2.0.4.0 Production
Copyright (C) 1999, 2017, Oracle. All rights reserved.

Starting deinstall


Deinstall in progress (Thursday, July 2, 2020 3:29:52 PM CDT)
............................................................... 100% Done.

Deinstall successful

End of install phases.(Thursday, July 2, 2020 3:29:53 PM CDT)
End of deinstallations
Please check '/opt/oracle/oraInventory/logs/silentInstall2020-07-02_03-29-45PM.log' for more details.
[golden@patoracle deinstall]$