Antes de añadir procesos de Extract y Replicat
Obtenga información sobre las configuraciones de requisitos necesarias antes de crear procesos de Extract y Replicat para un despliegue de Oracle GoldenGate.
Agregar TRANDATA
Válido para Db2 para i, Db2 LUW, Db2 z/OS, Oracle, PostgreSQL, SQL Server y Sybase.
Según la base de datos origen, el registro complementario debe estar activado para capturar operaciones DML y se puede activar mediante el menú Trandata de una conexión de base de datos en la interfaz web o en el cliente de administración emitiendo ADD TRANDATA o ADD SCHEMATRANDATA (solo para Oracle).
No es necesario agregar TRANDATA en una base de datos de origen para un Extract de carga inicial. Sin embargo, si tanto la extracción de carga inicial como la extracción de captura de datos de cambio (CDC) se utilizan conjuntamente, para una instanciación en línea, se debe agregar TRANDATA antes de iniciar la extracción de carga inicial.
Activar TRANDATA o SCHEMATRANDATA para Oracle AI Database
Esto se puede hacer en el nivel de tabla, esquema o global (base de datos).
Para activar el registro complementario, conéctese a la base de datos desde la página Conexiones de Base de Datos, seleccione el menú Trandata y, a continuación, realice los siguientes pasos:
-
Seleccione la opción Tabla o Esquema según sea necesario y haga clic en el signo más para agregarlo.
-
Introduzca el nombre de la tabla para la que necesita configurar el registro complementario. Asegúrese de introducir el nombre completo de la tabla con el nombre del esquema, como
HR.EMP. También puede utilizar comodines en lugar de un nombre de tabla específico. -
Haga clic en Enviar.
Puede omitir ADD TRANDATA en caso de carga inicial sin CDC.
También puede utilizar los comandos ADD TRANDATA y ADD SCHEMATRANDATA para configurar trandata y trandata de nivel de esquema.
Nota: Antes de ejecutar el comando ADD TRANDATA, primero debe conectarse a la base de datos en la que se agregará Extract mediante el comando DBLOGIN. Además, ejecute los comandos ADD TRANDATA o ADD SCHEMATRANDATA antes de agregar el Extract.
Activar TRANDATA para bases de datos que no sean de Oracle
Válido para Db2 i, Db2 LUW, Db2 z/OS, PostgreSQL, SQL Server y Sybase.
Esto se puede hacer en el nivel de tabla o global (base de datos). Para activar el registro complementario, conéctese a la base de datos desde la página Conexiones de Base de Datos, seleccione el menú Trandata y, a continuación, realice los siguientes pasos:
-
Seleccione la opción Tabla y haga clic en el signo más para agregar.
-
Introduzca el nombre de la tabla para la que necesita configurar el registro complementario. Asegúrese de introducir el nombre completo de la tabla, como
EMPLOYEE. También puede utilizar comodines en lugar de un nombre de tabla específico. -
Haga clic en Enviar.
Para activar la captura de cambios para Db2 para i
Para capturar los cambios en una tabla de un asiento, puede ejecutar el comando STRJRNPF en la línea de comandos de IBM i o ejecutar el comando ADD TRANDATA desde el cliente de administración. El comando ADD TRANDATA llama a los STRJRNPF y es el método recomendado para iniciar el registro de diario para las tablas, ya que garantiza que el atributo de imagen de diario (IMAGES): *BOTH necesario se defina en el comando STRJRNPF.
El comando ADD TRANDATA es:
ADD TRANDATA table_specification
Donde: table_specification es una de las siguientes opciones:
-
*schema.table* [JOURNAL *library/journal*]
-
*library/file* [JOURNAL *library/journal]*)
Especificación de asientos por defecto
Para especificar un asiento por defecto para varias tablas o archivos en el comando ADD TRANDATA, en lugar de especificar la palabra clave JOURNAL, utilice el siguiente comando antes de emitir ADD TRANDATA.
DEFAULTJOURNAL *library/journal*
Cualquier comando ADD TRANDATA utilizado sin un diario asume el diario desde DEFAULTJOURNAL.
Para mostrar la configuración actual de DEFAULTJOURNAL, puede emitir un comando no con argumentos.
Eliminación de una especificación de asiento predeterminada**
Para eliminar el uso de un diario por defecto, utilice el siguiente comando:
DEFAULTJOURNAL CLEAR
Para activar la captura de cambios para Db2 LUW
Configure Db2 para registrar los cambios de datos en el formato ampliado que proporciona la función DATA CAPTURE CHANGES de los comandos CREATE TABLE y ALTER TABLE. Este formato proporciona a Oracle GoldenGate todas las imágenes de filas anteriores y posteriores que se cambian mediante sentencias de actualización. Ejecute el comando ALTER TABLE de la siguiente manera:
Ejecute el siguiente comando.
ADD TRANDATA owner.table
donde owner.table es el nombre completo de la tabla. Puede utilizar un comodín para especificar varios nombres de tabla.
ADD TRANDATA ejecuta el siguiente comando, que incluye el registro de la imagen anterior de las columnas LONGVAR:
ALTER TABLE name DATA CAPTURE CHANGES INCLUDE LONGVAR COLUMNS;
Ejemplo 7-1 Para excluir el registro LONGVAR:
Para omitir la cláusula INCLUDE LONGVAR COLUMNS del comando ALTER TABLE, utilice ADD TRANDATA con la opción EXCLUDELONG.
ADD TRANDATA *owner.table*, EXCLUDELONG
Nota: Si se excluyen del registro las columnas LONGVAR, las funciones de Oracle GoldenGate que necesitan imágenes anteriores, como los parámetros GETUPDATEBEFORES, NOCOMPRESSUPDATES y NOCOMPRESSDELETES, pueden devolver errores si las tablas contienen esas columnas. Para obtener una solución alternativa, consulte las opciones REQUIRELONGDATACAPTURECHANGES | NOREQUIRELONGDATACAPTURECHANGES del parámetro TRANLOGOPTIONS.
Agregar una tabla de punto de control
Se necesita una tabla de puntos de control para todas las réplicas no paralelas y se debe crear en la base de datos antes de agregar un Replicat. Un punto de control se ejecuta correctamente o falla con la transacción, por lo que Replicat garantiza que una transacción solo se aplique una vez, incluso si hay un fallo del proceso o de la base de datos.
Puede ver la tabla de puntos de control en la sección de puntos de control. Para agregar una tabla de puntos de control, conéctese a la base de datos de destino desde la página Conexiones de Base de Datos, seleccione Punto de Control y, a continuación, realice los siguientes pasos:
-
Haga clic en el signo más para activar la adición de una tabla de puntos de control.
-
Agregue el nombre de la tabla de puntos de control con el formato
*table*.*checkpoint_table_name* -
Haga clic en Enviar. Después de crear el punto de control, podrá ver en la lista de tablas de puntos de control.
Para realizar esta tarea desde la línea de comandos, consulte ADD CHECKPOINTTABLE en la Referencia de interfaz de línea de comandos para Oracle GoldenGate.
Agregar una tabla de puntos de control con creación de asientos en Db2 para i
En Db2 para la base de datos de destino i, cada punto de control que se escribe en la tabla de puntos de control se debe registrar en el asiento de la transacción de Replicat.
Un método común para crear la tabla de puntos de control con el registro por diario es el siguiente:
-
En el sistema de destino, cree el archivo de punto de control de Replicat.
Defina el nombre del asiento que se va a utilizar para el archivo de punto de control. El valor por defecto será
GGSCHEMA/OGGJRN.Puede cambiarlo definiendo el valor por defecto para la sesión actual del cliente de administración mediante el comando
DEFAULTJOURNAL. La sintaxis del comandoDEFAULTJOURNALes:DEFAULTJOURNAL *library_name*/*journal_name*Donde: library_name es el nombre de la biblioteca y
journal_namees el nombre del asiento que se utilizará para operaciones posteriores que, opcionalmente, pueden tener un asiento especificado. -
Agregue la tabla de puntos de control.
ADD CHECKPOINTTABLE *library_name*.chkptab -
Agregue asientos a la tabla de puntos de control.
ADD TRANDATA *library_name*.CHKPTAB
Para obtener más información sobre la creación de una tabla de puntos de control, consulte Adición de una tabla de puntos de control.
Agregar tabla de latidos
Las tablas de latidos se utilizan para supervisar la demora a lo largo del ciclo de replicación de datos. Los latidos automáticos se envían desde cada base de datos origen a los flujos de replicación mediante la actualización de los registros en una tabla inicial de latidos y una tabla de latidos, y la creación de un registro de historial de latidos.
Cada proceso del flujo de replicación actualiza el registro de latido con información de seguimiento que se actualiza en la tabla de latidos de la base de datos de destino. Estos registros de latidos se insertan o actualizan en la tabla de latidos de las bases de datos de destino.
Nota: La creación de la tabla de latidos es opcional, pero se recomienda.
Para agregar una tabla de latidos, conéctese a cada base de datos de origen y destino desde la página Conexiones de Base de Datos, seleccione el menú Latido y, a continuación, realice los siguientes pasos:
-
Haga clic en el signo más (+) situado junto a la tabla de latidos.
-
Acepte la configuración predeterminada o modifique los valores disponibles según sea necesario.
Nota: Para las bases de datos que tienen una opción para Solo destino, seleccione esta opción si esa base de datos solo se va a utilizar como base de datos de destino en el flujo de replicación, para evitar la creación de trabajos innecesarios que se asociarían a una base de datos de origen.
-
Haga clic en Enviar.
Para realizar esta tarea desde la línea de comandos y revisar las limitaciones específicas importantes de la base de datos, consulte ADD HEARTBEATTABLE en Referencia de interfaz de línea de comandos para Oracle GoldenGate.
Los siguientes pasos describen los comandos para configurar la tabla de latidos.
-
Inicie el cliente de administración desde la línea de comandos.
-
Conéctese al despliegue desde el cliente de administración.
CONNECT https://remotehost:*srvmgrport* DEPLOYMENT *deployment_name* AS *deployment_user* PASSWORD *deployment_password*Tomemos el siguiente ejemplo:
CONNECT https://remotehost:16000 DEPLOYMENT *ggdep_postgres* AS ggadmin PASSWORD P@ssWord -
Conéctese a las bases de datos de origen y destino mediante el comando
DBLOGIN USERIDALIAS. En el siguiente ejemplo se muestra la conexión a la base de datos origen con el alias de credencialggeast:(https://remotehost:16000 ggdep_postgres)> DBLOGIN USERIDALIAS ggeast -
Agregue la tabla de latidos:
(https://remotehost:16000 ggdep_postgres)> ADD HEARTBEATTABLE
Opcionalmente, para una base de datos solo de destino, que se utiliza solo para la replicación unidireccional, puede incluir la opción TARGETONLY, que no creará una función de actualización de registro de latido.
Consulte ADD HEARTBEATTABLE para obtener detalles sobre las opciones de comandos.
Ejecución de la función de actualización y depuración de latidos para PostgreSQL
Oracle GoldenGate for PostgreSQL soporta una configuración de tabla de latidos, con algunas limitaciones en cuanto a las tareas de actualización y depuración.
La tabla de latidos y las funciones asociadas se crean a partir del comando ADD HEARTBEATTABLE; sin embargo, para PostgreSQL, no hay ningún programador automático que llame a las funciones.
Una función principal controla tanto la actualización del registro de latidos como las funciones de depuración de la tabla de historial de latidos. La configuración predeterminada de ambas funciones es de 60 segundos para la frecuencia de actualización y 1 día para la depuración de registros del historial, que elimina todos los registros con más de 30 días de forma predeterminada.
Para llamar a la función principal de registro de latidos, los usuarios deben crear un trabajo de nivel de sistema operativo que se ejecute
"select ggschema.gg_hb_job_run();"
Cuando se llama a esta función, se tendrá en cuenta la configuración de frecuencia de actualización y la configuración de depuración de registros del historial y se utilizarán esos valores independientemente de la configuración del programador para la llamada a la función.
Por ejemplo, los usuarios pueden crear un Cron Job con la siguiente sintaxis y hacer que se ejecute cada minuto.
PGPASSWORD="gguserpasswd" psql -U gguser -d dbname -h remotehost -p 5432 -c "select ggschema.gg_hb_job_run();" >/dev/null
2>&1
Programador de tareas de Windows, pgAdmin o pg_cron son otros programas que se pueden utilizar para programar la llamada a función.
Crear la tarea de limpieza de CDC de Oracle GoldenGate
Para los usuarios de SQL Server, es necesario crear tareas de limpieza de CDC de Oracle GoldenGate antes de agregar un Extract. Para ello, realice los pasos de Detalles del proceso de limpieza de CDC de Oracle GoldenGate.
PostgreSQL: Consideraciones de Extract para el despliegue remoto
Para un despliegue remoto, la base de datos de origen y Oracle GoldenGate se instalan en servidores independientes. Los despliegues remotos son la única opción disponible para admitir bases de datos en la nube, como Azure para PostgreSQL o Amazon Aurora PostgreSQL.
Para los despliegues remotos, la endianidad del sistema operativo entre el servidor de base de datos y el servidor de Oracle GoldenGate debe ser la misma.
Las zonas horarias y horarias del servidor de Oracle GoldenGate se deben sincronizar con las del servidor de base de datos. Si esto no es posible, entonces el posicionamiento de un Extract al crear o alterar uno tendrá que ser realizado por LSN.
En los casos de uso de captura remota, el uso de SQLEXEC puede introducir una latencia adicional, ya que la operación SQLEXEC se debe realizar en serie para cada registro que procese Extract. Si un Extract de hub remoto realiza un filtrado especial que requeriría un SQLEXEC y el impacto en el rendimiento es demasiado grave, puede que sea necesario acercar el proceso de Extract a la base de datos de origen.
Con los despliegues remotos, la latencia de red baja es importante y se recomienda que la latencia de red entre el servidor de Oracle GoldenGate y el servidor de base de datos de origen sea inferior a 1 milisegundo.