lab

Lab — Role-swap con Assure Quick EDD

Ejecutar un role-swap completo controlado en el lab: source pasa a target, validar y volver al estado original.

PreventaSoporte Senior

Lab — Role-swap con Assure Quick EDD

Objetivo

Ejecutar un role-swap controlado: la LPAR target asume el rol de producción mientras source pasa a estar inactiva. Validar la integridad de los datos en el nuevo "producción". Volver al estado original (swap-back).

Este lab simula uno de los entregables más importantes para preventa y senior: demostrar que la replicación es viable como HA y no solo como copia.

Tiempo estimado

180 minutos (planificación + ejecución + validación + retorno).

Prerequisitos

Concepto

Quick EDD ofrece procedimientos de switch personalizables ejecutables en tres modos:

El switch involucra: detener apply, validar consistencia, voltear roles, levantar aplicaciones en el nuevo nodo, redirigir usuarios.

(Fuente: Precisely — Assure QuickEDD product page)

Paso 1 — Verificar estado previo

Antes del swap, todo tiene que estar limpio:

Si alguno de estos no está OK, resolver primero antes de seguir. Un swap con divergencias activas se hace pero genera deuda de validación post-switch.

Paso 2 — Snapshot de validación (para verificación post-swap)

Generar un set conocido de filas de prueba en source para verificar después que están en el nuevo "producción" (que será el target):

INSERT INTO QELAB.PRODUCTOS VALUES('SWAP001 - PRE-SWAP TEST                                                                                     ');
INSERT INTO QELAB.PRODUCTOS VALUES('SWAP002 - PRE-SWAP TEST                                                                                     ');
INSERT INTO QELAB.PRODUCTOS VALUES('SWAP003 - PRE-SWAP TEST                                                                                     ');

Esperar 60 segundos y validar que están en target (SELECT * FROM QELAB.PRODUCTOS WHERE PRODUCTOS LIKE 'SWAP%').

Paso 3 — Iniciar el switch en modo "paso a paso"

Desde la interfaz de Quick EDD:

  1. Seleccionar el grupo de replicación.
  2. Iniciar switch procedure en modo paso a paso.
  3. Confirmar las etapas a medida que se presentan.

Etapas típicas (los nombres exactos varían por versión):

| Etapa | Qué hace | |---|---| | Quiesce de source | Detiene actividad sobre los objetos del grupo en source. | | Drain de apply en target | Espera que apply procese todos los pendientes. | | Validación final | Audit de consistencia. | | Detener replicación | Apply queda detenido. | | Voltear roles | Lo que era target ahora es "source"; lo que era source pasa a "target lógico". | | Levantar apply inverso | Se prepara la replicación inversa (para drift que ocurra durante el swap). | | Habilitar source nuevo | Aplicaciones / usuarios pueden empezar a operar contra el nuevo source (ex-target). |

Paso 4 — Validación post-switch

Trabajando ya contra el nuevo source (la LPAR que era target):

SELECT * FROM QELAB.PRODUCTOS WHERE PRODUCTOS LIKE 'SWAP%';

Las 3 filas SWAP001, SWAP002, SWAP003 deben estar presentes.

Generar un cambio nuevo en el nuevo source para verificar que es escribible:

INSERT INTO QELAB.PRODUCTOS VALUES('POST001 - POST-SWAP                                                                                          ');

Paso 5 — Validar que la replicación inversa opera

Esperar 60 segundos. Verificar en la LPAR original (ex-source, ahora target lógico):

SELECT * FROM QELAB.PRODUCTOS WHERE PRODUCTOS LIKE 'POST%';

Debe mostrar POST001. Si está, la replicación inversa funciona y podríamos volver al estado original con otro swap.

Paso 6 — Swap-back (volver al estado original)

Repetir el procedimiento de switch en sentido inverso:

  1. Iniciar switch desde el nuevo source de vuelta hacia el original.
  2. Validar las etapas paso a paso.
  3. Confirmar que la LPAR original vuelve a ser source productivo.

Paso 7 — Validación final

En la LPAR original (ahora otra vez source):

SELECT * FROM QELAB.PRODUCTOS WHERE PRODUCTOS LIKE 'POST%' OR PRODUCTOS LIKE 'SWAP%';

Deben aparecer todas las filas creadas durante el ejercicio (SWAP001-003 + POST001), confirmando que el dato fluyó en ambas direcciones sin pérdida.

Paso 8 — Cleanup

DELETE FROM QELAB.PRODUCTOS WHERE PRODUCTOS LIKE 'SWAP%';
DELETE FROM QELAB.PRODUCTOS WHERE PRODUCTOS LIKE 'POST%';

(Esperar 30 segundos a que se replique al target y dejar todo en sincronía.)

Validación esperada al cierre

Lecciones que el lab busca dejar

Errores comunes y mitigación

| Síntoma | Mitigación | |---|---| | Switch se queda en quiesce | Hay actividad pendiente sobre los objetos; verificar locks (WRKOBJLCK) | | Apply inverso no levanta | Validar journaling en el nuevo source (que era target) | | Aplicación cliente no conecta al nuevo source | DNS/IPs no actualizados; revisar plan de cliente | | Drift entre swap y swap-back | Replicación inversa no estaba corriendo; reconciliar con audit |

Recursos