GG 26ai: Gestión Programada de Procesos en Ambientes On-Premise

En infraestructuras críticas, es necesario establecer ventanas de mantenimiento o periodos de inactividad operativa. Oracle GoldenGate 26ai permite gestionar la detención y el arranque de procesos de forma externa, asegurando que la replicación se reanude exactamente en el punto de interrupción.

A continuación, se detalla el procedimiento para automatizar estas tareas utilizando la REST API y el planificador de tareas del sistema operativo.

Implementación Técnica: Automatización con API REST

La arquitectura de Microservicios de 26ai expone endpoints específicos para el control de procesos. Esto elimina la necesidad de scripts interactivos y permite una integración directa con el Shell de Linux.

1. Script de Detención Programada (Scheduled Stop)

Este script realiza un cierre ordenado del Replicat, permitiendo que las transacciones en vuelo se completen antes de cambiar el estado del proceso.

#!/bin/bash
# GG 26ai - Scheduled Process Stop
USER="admin"
PASS="TuPassword"
# Endpoint para el servicio de administración
URL="https://localhost:443/deployments/primary/services/v2/receivers/REP_TARGET/action/stop"
# Ejecución del comando PATCH con tiempo de espera (Timeout)
curl -s -u "$USER:$PASS" -X PATCH "$URL" \
-H "Content-Type: application/json" \
-d '{"timeout": 60}'
echo "Proceso Replicat detenido siguiendo el cronograma establecido."

2. Script de Arranque Programado (Scheduled Start)

Una vez finalizada la ventana de mantenimiento, el siguiente script reactiva la replicación. Se incluye una validación previa de conectividad hacia el nodo destino.

#!/bin/bash
# GG 26ai - Scheduled Process Start
TARGET_HOST="192.168.1.100"
PORT="1521"
USER="admin"
PASS="TuPassword"
# Validación de disponibilidad del Target (Health Check)
nc -zv $TARGET_HOST $PORT > /dev/null 2>&1
if [ $? -eq 0 ]; then
curl -s -u "$USER:$PASS" -X PATCH \
"https://localhost:443/deployments/primary/services/v2/receivers/REP_TARGET/action/start" \
-H "Content-Type: application/json"
echo "Conectividad validada. Proceso Replicat iniciado exitosamente."
else
echo "Error: El destino no responde. Abortando inicio programado."
exit 1
fi

Configuración del Programador de Tareas (Crontab)

Para que el ciclo sea autónomo, definimos las horas de ejecución en el archivo crontab. Esto asegura que los procesos se detengan y arranquen sin intervención manual.

AcciónHoraComando
Stop22:00/u01/app/scripts/gg_stop.sh
Start06:00/u01/app/scripts/gg_start.sh

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 26ai
00 22 * * * /u01/app/scripts/gg_stop.sh >> /var/log/gg_26ai_auto.log 2>&1
00 06 * * * /u01/app/scripts/gg_start.sh >> /var/log/gg_26ai_auto.log 2>&1

Dejar un comentario