Coordinación de Atributos de Tabla entre Origen y Destino
Siga este procedimiento para cambiar un atributo de una tabla de origen cuando la función DDL de Oracle GoldenGate no esté soportada para la base de datos. Los cambios de atributo incluyen agregar o cambiar columnas o particiones. Le indica cómo realizar el mismo cambio en la tabla de destino sin incurrir en latencia de replicación.
Nota: Para las bases de datos Oracle y MySQL, puede activar la función de soporte de DDL de Oracle GoldenGate para propagar los cambios de DDL al destino, en lugar de utilizar este procedimiento.
- En los sistemas de origen y destino, cree una tabla, que se denominará tabla de marcadores, que se puede utilizar para generar un marcador que indique un punto de parada en el log de transacciones. Solo tiene que crear dos columnas simples: una como clave primaria y la otra como columna normal. Por ejemplo:
CREATE TABLE marker
(
id int NOT NULL,
column varchar(25) NOT NULL,
PRIMARY KEY (id)
);
- Inserte una fila en la tabla de marcadores en los sistemas de origen y de destino.
INSERT INTO marker VALUES (1, 1);
COMMIT;
-
En el sistema de origen, ejecute Admin Client.
-
Abra el archivo de parámetros de Extract para editarlo.
Precaución: no utilice el comando
VIEW PARAMSoEDIT PARAMSpara ver o editar un archivo de parámetro existente que se encuentre en un conjunto de caracteres distinto al del sistema operativo local (como uno en los que la opciónCHARSETse ha utilizado para especificar un conjunto de caracteres distinto). Ver el archivo de parámetros desde fuera de la interfaz de línea de comandos si este es el caso; de lo contrario, el contenido puede dañarse. -
Agregue la tabla de marcadores al archivo de parámetros Extract en una sentencia
TABLE.
TABLE marker;
-
Guarde y cierre el archivo de parámetros.
-
Agregue la tabla de marcadores a la sentencia
TABLEdel pump de datos, si se está utilizando uno. -
Detenga los procesos de extracción y bombeo de datos y, a continuación, reinícielos inmediatamente para evitar la demora de captura.
STOP EXTRACT *group*
START EXTRACT *group*
-
En el sistema de destino, ejecute Admin Client.
-
Abra el archivo de parámetros de Replicat para editarlo.
Precaución: no utilice el comando
VIEW PARAMSoEDIT PARAMSpara ver o editar un archivo de parámetro existente que se encuentre en un conjunto de caracteres distinto al del sistema operativo local (como uno en los que la opciónCHARSETse ha utilizado para especificar un conjunto de caracteres distinto). Ver el archivo de parámetros desde fuera del cliente de administración si este es el caso; de lo contrario, el contenido puede dañarse. -
Agregue la tabla de marcadores al archivo de parámetros Replicat en una sentencia
MAPy utilice el parámetroEVENTACTIONScomo se muestra para parar Replicat e ignorar las operaciones en la tabla de marcadores.
MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
-
Guarde y cierre el archivo de parámetros.
-
Pare y, a continuación, reinicie inmediatamente el proceso de Replicat.
STOP REPLICAT *group*
START REPLICAT *group*
-
Cuando esté listo para cambiar los atributos de la tabla tanto para las tablas de origen como para las de destino, pare toda la actividad del usuario en ellas.
-
En el sistema de origen, realice una operación
UPDATEen la tabla de marcadores como la única operación de la transacción.
UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
- En el sistema de destino, ejecute el siguiente comando hasta que muestre que Replicat se ha parado como resultado de la regla
EVENTACTIONS.
STATUS REPLICAT *group*
-
Realice el DDL en las tablas de origen y destino, pero aún no permita la actividad del usuario.
-
Iniciar Replicación.
START REPLICAT *group*
- Permite la actividad del usuario en las tablas de origen y destino.