Para las implementaciones basadas en la arquitectura Classic, no contamos con una API REST. En este escenario, la automatización se realiza mediante la ejecución de comandos directos en el utilitario ggsci desde el Shell de Linux.
A continuación, el paso a paso para gestionar el ciclo de vida del Replicat de forma externa.
1. Script de Parada Controlada (Graceful Shutdown)
En la arquitectura Classic, es vital enviar el comando de parada y validar que el proceso realmente se detuvo antes de que el Target en OCI quede fuera de línea.
#!/bin/bash# OGG Classic - Parada ProgramadaGG_HOME=/u01/app/oracle/product/gg_classicREPLICAT_NAME=REP_OCI$GG_HOME/ggsci << EOFSTOP REPLICAT $REPLICAT_NAMEEXITEOF# Validación de seguridad: Verificar si el proceso OS aún existesleep 5pgrep -f "replicat.*$REPLICAT_NAME" > /dev/nullif [ $? -eq 0 ]; then echo "Alerta: El Replicat $REPLICAT_NAME no se detuvo a tiempo."else echo "Replicat detenido exitosamente."fi
2. Script de Validación e Inicio (Health Check & Start)
Al igual que en Microservicios, el script debe confirmar la disponibilidad del puerto del Target (1521) antes de intentar el arranque para evitar estados de ABENDED por fallos de red.
#!/bin/bash# OGG Classic - Validación e InicioTARGET_IP="129.x.x.x"PORT="1521"GG_HOME=/u01/app/oracle/product/gg_classic# Validación de conectividad (TCP Health Check)nc -zv $TARGET_IP $PORT > /dev/null 2>&1if [ $? -eq 0 ]; then $GG_HOME/ggsci << EOF START REPLICAT REP_OCI EXITEOF echo "Target detectado. Proceso Replicat iniciado."else echo "Target sigue en Downtime. Abortando inicio." exit 1fi
Configuración del Programador (Crontab)
Para cerrar el ciclo de automatización, añadimos las tareas al Crontab del usuario dueño de los binarios de GoldenGate (usualmente oracle).
# Automatización OGG Classic - Ahorro de Costos50 21 * * * /u01/app/scripts/gg_classic_stop.sh >> /var/log/gg_classic_auto.log 2>&110 07 * * * /u01/app/scripts/gg_classic_start.sh >> /var/log/gg_classic_auto.log 2>&1
Dejar un comentario