Demora de supervisión
Las estadísticas de demora muestran qué tan bien los procesos de Oracle GoldenGate están manteniendo el ritmo de la cantidad de datos que están generando las aplicaciones de negocio. Con esta información, puede diagnosticar posibles problemas y ajustar el rendimiento de los procesos de Oracle GoldenGate para minimizar la latencia entre las bases de datos de origen y destino.
Acerca de la demora
Para Extract, la demora es la diferencia en segundos entre la hora en la que Extract ha procesado un registro (según el reloj del sistema) y el registro de hora de ese registro en el origen de datos.
Para Replicat, la demora es la diferencia en segundos entre la hora en la que Replicat ha procesado el último registro (según el reloj del sistema) y el registro de hora del registro en la pista.
Para ver las estadísticas de demora, utilice los comandos [LAG](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-52D1B2C3-6ACF-4461-9ED2-FD3AE9121022) o [SEND ER](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-DD62102E-A84D-4866-9A3A-9C2281CFEED7), [SEND EXTRACT](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-2A83CA04-DAB8-494B-BF36-F8D15E645749), [SEND REPLICAT](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-DBA8F45C-6016-4AB4-BF9A-00C117029E7F).
Nota: El comando INFO también devuelve una estadística de demora, pero esta estadística se toma del último registro con punto de control, no del registro actual que se está procesando. Es menos preciso que LAG o INFO.
Supervisión del retraso mediante tablas automáticas de latidos
Puede utilizar la funcionalidad predeterminada de la tabla automática de latidos para supervisar el retraso de replicación de extremo a extremo. 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 una heartbeat history table. Cada uno de los procesos de replicación de la ruta de replicación procesa estos registros de latidos y actualiza la información que contiene. Estos registros de latidos se insertan o actualizan en la tabla de latidos de las bases de datos de destino.
Las tablas de latidos contienen la siguiente información:
-
Base de Datos Origen
-
Base de datos de destino
-
Información sobre los flujos de replicación salientes:
-
Nombres de los procesos Extract, Distribution Service o Replicat en la ruta de acceso
-
Registros de hora en los que los procesos de replicación procesaron los registros de latido.
-
-
Información sobre los flujos de replicación entrantes:
-
Nombres de los procesos Extract, Distribution Service y/o Replicat en la ruta
-
Registros de hora en los que los procesos de replicación procesaron los registros de latido.
-
Mediante la información de la tabla de latidos y la tabla de historial de latidos, se pueden calcular los retrasos actuales e históricos en cada una de las replicaciones.
Replicat puede realizar un seguimiento de la posición de reinicio actual de Extract con tablas de latidos automáticos (LOGBSN). Esto permite volver a generar los archivos de pista a partir de la base de datos origen, si es necesario, y minimiza el período de retención de redo log de la base de datos origen. Además, mediante el seguimiento de la posición de reinicio de Extract más reciente, las tablas de lápida para las tablas automáticas de detección y resolución de conflictos (ACDR) se pueden purgar con mayor frecuencia.
En una configuración bidireccional, la tabla de latidos tiene tantas entradas como el número de rutas de replicación a los vecinos que tiene la base de datos y, en una configuración unidireccional, la tabla del origen está vacía. Las columnas salientes tienen los registros de hora y la ruta de acceso saliente, el Extract local y los procesos descendentes. Las columnas entrantes tienen los registros de hora y la ruta de acceso de los procesos ascendentes y Replicat local.
En una configuración unidireccional, la base de datos de destino solo rellenará las columnas entrantes de la tabla de latidos.
Nota: La funcionalidad de latido automático no está soportada en MySQL versión 5.5.
Flujo de replicación de extremo a extremo de tabla de latidos
El proceso de replicación integral de las tablas de latidos se basa en el uso del formato de pista de Oracle GoldenGate. El proceso es el siguiente:
Agregue una tabla de latidos a cada una de las bases de datos con el comando ADD HEARTBEATTABLE. Agregue la tabla de latidos a todas las instancias de origen y destino y, a continuación, reinicie los procesos existentes de Oracle GoldenGate para activar la funcionalidad de latidos. Según la base de datos, puede que sea necesario o no crear o activar un trabajo para rellenar los datos de la tabla de latidos.
Consulte el siguiente ejemplo:
DBLOGIN USERIDALIAS *alias* [DOMAIN domain]|[SYSDBA | SQLID sqlid][SESSIONCHARSET character_set]}
ADD HEARTBEATTABLE
(Opcional) Para las bases de datos Oracle, debe asegurarse de que Oracle DBMS_SCHEDULER funciona correctamente, ya que la actualización de latidos se basa en ella. Puede consultar DBMS_SCHEDULER emitiendo:
SELECT START_DATE, LAST_START_DATE, NEXT_RUN_DATE
FROM DBA_SCHEDULER_JOBS
Donde job_name ='GG_UPDATE_HEARTBEATS';
A continuación, busque entradas válidas para NEXT_RUN_DATE, que es la próxima vez que se ejecute el programador. Si se trata de un registro de hora en el pasado, no se ejecutará ningún trabajo y debe corregirlo.
Un motivo común para que el programador no funcione es cuando el parámetro job_queue_processes está definido demasiado bajo (normalmente cero). Aumente el número de job_queue_processes configurado en la base de datos con el comando ALTER SYSTEM SET JOB_QUEUE_PROCESSES = ##;, donde ## es el número de procesos de cola de trabajos.
Ejecute un Extract, que al recibir los registros de cambios lógicos (LCR) comprueba el valor en la columna OUTGOING_EXTRACT.
-
Si el nombre de Extract coincide con este valor, la columna
OUTGOING_EXTRACT_TSse actualiza y el registro se introduce en la pista. -
Si el nombre de Extract no coincide, se desecha el LCR.
-
Si el valor
OUTGOING_EXTRACTesNULL, se rellena junto conOUTGOING_EXTRACT_TSy el registro se introduce en la pista.
Al leer el registro, el servicio de distribución comprueba el valor en la columna OUTGOING_ROUTING_PATH. Esta columna contiene una lista de rutas de distribución.
Si el valor es NULL, la columna se actualiza con el nombre de grupo actual (y la ruta de acceso si se trata de un servicio de distribución),"*", actualiza la columna OUTGOING_ROUTING_TS y el registro se escribe en su archivo de pista de destino.
Si el valor tiene un valor "*" en la lista, sustitúyalo por group name[:pathname],"*"', actualice la columna OUTGOING_ROUTING_TS y el registro se escribirá en su archivo de pista de destino. Cuando el valor no tiene un asterisco (*) en la lista y el nombre de la ruta de distribución está en la lista, el registro se envía a la ruta especificada en el par group name[:pathname],"*"' correspondiente de la lista. Si el nombre de la ruta de distribución no está en la lista, el registro se desecha.
Ejecute un Replicat, que al recibir el registro comprueba el valor en la columna OUTGOING_REPLICAT.
-
Si el nombre de Replicat coincide con el valor, la fila de la tabla de latidos se actualiza y el registro se inserta en la tabla de historial.
-
Si el nombre de Replicat no coincide, el registro se desecha.
-
Si el valor es
NULL, la fila de las tablas de historial de latidos y latidos se actualiza con una llamada implícita de la asignación de columnas de Replicat.Asignación Automática de Columna de Replicat:
REMOTE_DATABASE = LOCAL_DATABASE INCOMING_EXTRACT = OUTGOING_EXTRACT INCOMING_ROUTING_PATH = OUTGOING_ROUTING_PATH with "*" removed INCOMING_REPLICAT = @GETENV ("GGENVIRONMENT", "GROUPNAME") INCOMING_HEARTBEAT_TS = HEARTBEAT_TIMESTAMP INCOMING_EXTRACT_TS = OUTGOING_EXTRACT_TS INCOMING_ROUTING_TS = OUTGOING_ROUTING_TS INCOMING_REPLICAT_TS = @DATE ('UYYYY-MM-DD HH:MI:SS.FFFFFF','JTSLCT',@GETENV ('JULIANTIMESTAMP')) LOCAL_DATABASE = REMOTE_DATABASE OUTGOING_EXTRACT = INCOMING_EXTRACT OUTGOING_ROUTING_PATH = INCOMING_ROUTING_PATH OUTGOING_HEARTBEAT_TS = INCOMING_HEARTBEAT_TS OUTGOING_REPLICAT = INCOMING_REPLICAT OUTGOING_HEARTBEAT_TS = INCOMING_HEARTBEAT_TS
Consideraciones adicionales:
La computación se retrasa a medida que el latido fluye a través del sistema y depende de que los relojes de los sistemas de origen y destino se configuren correctamente. Es posible que el retraso sea negativo si el sistema de destino está por delante del sistema de origen. El retraso se muestra como un número negativo para que usted sea consciente de su discrepancia de reloj y pueda tomar medidas para solucionarlo.
El registro de hora que fluye a través del sistema está en UTC. No hay ninguna zona horaria asociada al registro de hora, por lo que al visualizar las tablas de latidos, el retraso se puede ver rápidamente incluso si diferentes componentes están en diferentes zonas horarias. Puede escribir cualquier vista que desee sobre las tablas subyacentes; se recomienda usar UTC.
Todas las entradas de latido se escriben en la pista en UTF-8.
Las rutas de entrada y salida juntas determinan de forma única una fila. Esto significa que si tiene dos filas con la misma ruta de salida y una ruta de entrada diferente, se considerarán dos entradas únicas.
Detalles de tabla de latidos
La tabla GG_HEARTBEAT muestra información de registro de hora del tiempo de replicación de extremo a extremo y la información de tiempo en los diferentes componentes primario y secundario Extract y Replicat.
En un entorno unidireccional, sólo la base de datos de destino contiene información sobre la demora de replicación. Es el momento en que se genera un registro en la base de datos origen y se hace visible para los clientes en la base de datos destino. Nota: Las tablas de latidos automáticos no rellenan las columnas OUTGOING_% con datos cuando tanto la base de datos de origen como la remota tienen el mismo nombre. Para cambiar el nombre de la base de datos, utilice la utilidad DBNEWID. Para obtener detalles, consulte la utilidad DBNEWID.
| Columna | Tipo de dato | Descripción |
|---|---|---|
LOCAL_DATABASE |
VARCHAR2 |
Base de datos local en la que se mide el tiempo de replicación de la base de datos remota. |
HEARTBEAT_TIMESTAMP |
TIMESTAMP(6) |
Momento en el que se genera un registro de hora en la base de datos remota. |
REMOTE_DATABASE |
VARCHAR2 |
Base de datos remota en la que se genera el registro de hora |
INCOMING_EXTRACT |
VARCHAR2 |
Nombre de la extracción (captura) primaria en la base de datos remota |
INCOMING_ROUTING_PATH |
VARCHAR2 |
Nombre del Extract secundario (pump) en la base de datos remota |
INCOMING_REPLICAT |
VARCHAR2 |
Nombre del Replicat en la base de datos local. |
INCOMING_HEARTBEAT_TS |
TIMESTAMP(6) |
Registro de hora final cuando la información se inserta en la tabla GG_HEARTBEAT en la base de datos local. |
INCOMING_EXTRACT_TS |
TIMESTAMP(6) |
El Extract primario procesa el registro de hora del registro de hora generado en la base de datos remota. |
INCOMING_ROUTING_TS |
TIMESTAMP(6) |
El Extract secundario de la base de datos remota procesa el registro de hora del registro de hora generado. |
INCOMING_REPLICAT_TS |
TIMESTAMP(6) |
Replicat procesa el registro de hora del registro de hora generado en la base de datos local. |
OUTGOING_EXTRACT |
VARCHAR2 |
Replicación bidireccional/en sentido: nombre del Extract principal en la base de datos local. |
OUTGOING_ROUTING_PATH |
VARCHAR2 |
Replicación bidireccional/en sentido: nombre del Extract secundario en la base de datos local. |
OUTGOING_REPLICAT |
VARCHAR2 |
Replicación bidireccional/en sentido: nombre del Replicat en la base de datos remota. |
OUTGOING_HEARTBEAT_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: registro de hora final cuando la información se inserta en la tabla en la base de datos remota. |
OUTGOING_EXTRACT_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: el Extract principal procesa el registro de hora del registro de hora generado en la base de datos local. |
OUTGOING_ROUTING_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: el Extract secundario procesa el registro de hora del registro de hora generado en la base de datos local. |
OUTGOING_REPLICAT_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: Replicat procesa el registro de hora del registro de hora generado en la base de datos remota. |
INCOMING_REPLICAT_LW_CSN |
VARCHAR2 |
- |
INCOMING_EXTRACT_HEARTBEAT_CSN |
VARCHAR2 |
- |
INCOMING_EXTRACT_RESTART_CSN |
VARCHAR2 |
- |
INCOMING_EXTRACT_RESTART_TS |
TIMESTAMP(6) |
- |
La tabla GG_HEARTBEAT_HISTORY muestra información histórica de registro de hora del tiempo de replicación de extremo a extremo y la información de tiempo en los diferentes componentes primario y secundario Extract y Replicat.
En un entorno unidireccional, sólo la base de datos de destino contiene información sobre la demora de replicación.
Los registros de hora se gestionan en la zona horaria UTC. Es el momento en que se genera un registro en la base de datos origen y se hace visible para los clientes en la base de datos destino.
| Columna | Tipo de dato | Descripción |
|---|---|---|
LOCAL_DATABASE |
VARCHAR2 |
Base de datos local en la que se mide la demora de extremo a extremo. |
HEARTBEAT_RECEIVED_TS |
TIMESTAMP(6) |
Momento en el que se recibe un registro de hora de la base de datos remota en la base de datos local. |
REMOTE_DATABASE |
VARCHAR2 |
Base de datos remota en la que se genera el registro de hora. |
INCOMING_EXTRACT |
VARCHAR2 |
Nombre del Extract primario en la base de datos remota. |
INCOMING_ROUTING_PATH |
VARCHAR2 |
Nombre del Extract secundario de la base de datos remota. |
INCOMING_REPLICAT |
VARCHAR2 |
Nombre del Replicat en la base de datos local. |
INCOMING_HEARTBEAT_TS |
TIMESTAMP(6) |
Registro de hora final cuando la información se inserta en la tabla GG_HEARTBEAT_HISTORY de la base de datos local. |
INCOMING_EXTRACT_TS |
TIMESTAMP(6) |
Registro de hora cuando el Extract principal procesa el registro de hora generado en la base de datos remota. |
INCOMING_ROUTING_TS |
TIMESTAMP(6) |
Registro de hora cuando el Extract secundario procesa el registro de hora generado en la base de datos remota. |
INCOMING_REPLICAT_TS |
TIMESTAMP(6) |
Registro de hora cuando Replicat procesa el registro de hora generado en la base de datos local. |
OUTGOING_EXTRACT |
VARCHAR2 |
Replicación bidireccional/en sentido: nombre del Extract principal de la base de datos local. |
OUTGOING_ROUTING_PATH |
VARCHAR2 |
Replicación bidireccional/en sentido: nombre del Extract secundario de la base de datos local. |
OUTGOING_REPLICAT |
VARCHAR2 |
Replicación bidireccional/en sentido: nombre del Replicat en la base de datos remota. |
OUTGOING_HEARTBEAT_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: registro de hora final cuando la información se inserta de forma persistente en la tabla de la base de datos remota. |
OUTGOING_EXTRACT_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: registro de hora cuando el Extract principal procesa el registro de hora generado en la base de datos local. |
OUTGOING_ROUTING_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: registro de hora cuando el Extract secundario procesa el registro de hora generado en la base de datos local. |
OUTGOING_REPLICAT_TS |
TIMESTAMP(6) |
Replicación bidireccional/en sentido: registro de hora cuando el registro de hora generado es procesado por Replicat en la base de datos remota. |
REPLICAT_LOW_WATERMARK_CSN |
String |
Esta columna se rellena con Replicat cuando procesa este registro de latidos. Rellena esta columna con su límite inferior actual (LWM) cuando procesa este registro. Esto nos permite elegir un LOGBSN de un registro de latidos que es a partir del LWM de Replicat. |
SOURCE_EXTRACT_HEARTBEAT_CSN |
String |
Esta columna se rellena mediante Extract y contiene el SCN de confirmación de origen para la transacción de latido en la base de datos de origen. El trabajo de latido de la base de datos de origen no puede rellenar este valor porque no conocerá los apriori de SCN de confirmación. |
SOURCE_EXTRACT_RESTART_CSN |
String |
Esta columna se rellenará mediante Extract y contendrá el LOGBSN actual cuando Extract procese este registro de latidos concreto. El trabajo de latido de la base de datos de origen no rellenará este valor. |
SOURCE_EXTRACT_RESTART_CSN_TS |
TIMESTAMP |
Esta columna se rellenará con Extract y contendrá el registro de hora de redo en UTC que corresponde al LOGBSN actual cuando Extract procese este registro de latido concreto. El trabajo de latido de la base de datos de origen no rellenará este valor. |
La vista GG_LAG muestra información sobre la demora de replicación entre las bases de datos locales y remotas.
En un entorno unidireccional, sólo la base de datos de destino contiene información sobre la demora de replicación. La demora se mide en segundos.
| Columna | Tipo de dato | Descripción |
|---|---|---|
LOCAL_DATABASE |
VARCHAR2 |
Base de datos local en la que se mide el retraso de replicación de extremo a extremo desde la base de datos remota. |
CURRENT_LOCAL_TS |
TIMESTAMP(6) |
Registro de hora actual de la base de datos local. |
REMOTE_DATABASE |
VARCHAR2 |
Base de datos remota en la que se genera el registro de hora. |
INCOMING_HEARTBEAT_AGE |
NUMBER |
Antigüedad de los latidos más recientes recibidos de la base de datos remota. |
INCOMING_PATH |
VARCHAR2 |
Ruta de replicación de la base de datos remota a la base de datos local con componentes Extract y Replicat. |
INCOMING_LAG |
NUMBER |
Demora de replicación de la base de datos remota a la base de datos local. Este es el momento en que el latido se generó en la base de datos remota menos el momento en que la información se insertó de forma persistente en la tabla de la base de datos local. |
OUTGOING_HEARTBEAT_AGE |
NUMBER |
Antigüedad de los latidos más recientes de la base de datos local a la base de datos remota. |
OUTGOING_PATH |
VARCHAR2 |
Ruta de replicación de la base de datos local a la base de datos remota con componentes Extract y Replicat |
OUTGOING_LAG |
NUMBER |
Demora de replicación de la base de datos local a la base de datos remota. Este es el momento en que el latido se generó en la base de datos local menos el momento en que la información se insertó de forma persistente en la tabla de la base de datos remota. |
REMOTE_EXTRACT_RESTART_CSN |
String |
Posición de reinicio de extracción de origen. |
REMOTE_DATABASE DB_UNIQUE_NAME |
String |
Se muestra el nombre único de la base de datos remota. Si no existe un nombre único, se muestra el valor DB_NAME. |
REMOTE_EXTRACT_RESTART_CSN_TIME |
Timestamp |
Registro de hora asociado a la posición de redo de extracción de origen. |
REMOTE_DB_OLDEST_OPEN_TXN_AGE |
Timestamp |
Antigüedad de la transacción abierta más antigua en la base de datos de origen que Extract está procesando actualmente. Esta columna se puede calcular como SYSTIMESTAMP - REMOTE_EXTRACT_RESTART_TIME. |
LOCAL_REPLICAT_LWM_CSN |
String |
CSN de marca de agua baja del Replicat local cuando procesó el latido. |
La vista GG_LAG_HISTORY muestra la información del historial sobre el historial de demora de replicación entre las bases de datos locales y remotas.
En un entorno unidireccional, sólo la base de datos de destino contiene información sobre la demora de replicación.
La unidad de las unidades de retraso es en segundos.
| Columna | Tipo de dato | Descripción |
|---|---|---|
LOCAL_DATABASE |
VARCHAR2 |
Base de datos local en la que se mide el retraso de replicación de extremo a extremo desde la base de datos remota. |
HEARTBEAT_RECEIVED_TS |
TIMESTAMP(6) |
Momento en el que un registro de hora de la base de datos remota recibe en la base de datos local. |
REMOTE_DATABASE |
VARCHAR2 |
Base de datos remota en la que se genera el registro de hora. |
DB_NAME |
Cadena | Nombre de base de datos remota. |
DB_UNIQUE_NAME |
Cadena | Nombre único de la base de datos remota. Si el nombre único de la base de datos no existe, DB_NAMEy DB_UNIQUE_NAME serán los mismos. En un escenario de switchover a en espera, db_unique_name cambiará, pero la ruta de acceso de replicación y db_name seguirán siendo la misma |
INCOMING_HEARTBEAT_AGE |
NUMBER |
La edad de la tabla de latidos. |
INCOMING_PATH |
VARCHAR2 |
Ruta de replicación de la base de datos remota a la base de datos local con los componentes Extract y Replicat. |
INCOMING_LAG |
NUMBER |
Demora de replicación de la base de datos remota a la base de datos local. Este es el momento en que se generó el latido en la base de datos remota menos el momento en que la información se insertó de forma persistente en la tabla de la base de datos local. |
OUTGOING_HEARTBEAT_AGE |
NUMBER |
|
OUTGOING_PATH |
VARCHAR2 |
Ruta de replicación de la base de datos local a la base de datos remota con componentes Extract y Replicat. |
OUTGOING_LAG |
NUMBER |
Demora de replicación de la base de datos local a la base de datos remota. Este es el momento en que se generó el latido en la base de datos local menos el momento en que la información se insertó de forma persistente en la tabla de la base de datos remota. |
REMOTE_EXTRACT_RESTART_CSN |
String |
Posición de reinicio de extracción de origen. |
REMOTE_EXTRACT_RESTART_CSN_TIME |
TIMESTAMP |
Registro de hora asociado a la posición de redo de extracción de origen. |
REMOTE_DB_OLDEST_OPEN_TXN_AGE |
TIMESTAMP |
Antigüedad de la transacción abierta más antigua en la base de datos de origen que Extract está procesando actualmente. Esta columna se puede calcular de la siguiente manera: SYSTIMESTAMP - REMOTE_EXTRACT_RESTART_TIME |
LOCAL_REPLICAT_LWM_CSN |
String |
CSN de marca de agua baja del Replicat local cuando procesó el latido. |
INCOMING_EXTRACT_LAG |
- | - |
INCOMING_ROUTINE_LAG |
- | - |
INCOMING_REPLICAT_READ_LAG |
- | - |
INCOMING_REPICAT_LAG |
- | - |
OUTGOING_EXTRACT_LAG |
- | - |
OUTGOING_ROUTINE_LAG |
- | - |
OUTGOING_REPLICAT_READ_LAG |
- | - |
OUTGOING_REPLICAT_LAG |
- | - |
Actualizar tablas de latidos
La columna HEARTBEAT_TIMESTAMP de la tabla inicial de latidos se debe actualizar periódicamente mediante un trabajo de base de datos. El intervalo de latido predeterminado es de 1 minuto y este intervalo se puede especificar o sustituir mediante la línea de comandos o la interfaz web del servicio de administración.
Para Oracle AI Database, el trabajo de base de datos se crea automáticamente.
Para PostgreSQL, puede configurar una tarea automatizada para actualizar la tabla de latidos. Consulte Configuración de tarea de automatización para actualizar la tabla de latidos para PostgreSQL.
Para todas las demás bases de datos soportadas, debe crear trabajos en segundo plano para actualizar el registro de hora de latido mediante la funcionalidad del programador específica de la base de datos.
Consulte [ADD HEARTBEATTABLE](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-126E30A2-DC7A-4C93-93EC-0EB8BA7C13CB), [ALTER HEARTBEATTABLE](/pls/topic/lookup?ctx=en/database/goldengate/core/26/coredoc&id=GCLIR-GUID-08BC29F9-8A5D-4AD9-B355-528A270EECC8) para obtener más información sobre la actualización de la tabla de latidos.
Configurar tarea de automatización para actualizar tabla de latidos para PostgreSQL
La interfaz web de Oracle GoldenGate para PostgreSQL proporciona la funcionalidad para crear un trabajo cron para actualizar periódicamente la tabla de latidos.
A continuación, se muestran los pasos para crear esta tarea desde la interfaz web:
-
En el panel de navegación de la izquierda, amplíe Tareas y seleccione la opción Actualizar tareas de latido.
\

\
-
Haga clic en el signo más en la página Actualizar tareas de latido. Se muestra el cuadro de diálogo Crear una nueva tarea de latido.\

-
Especifique los valores siguientes en el cuadro de diálogo y haga clic en el botón Enviar:
-
Nombre: especifique un nombre para la tarea.
-
Dominio de credenciales: seleccione el nombre de dominio en la lista desplegable.
-
Alias de credencial: seleccione el alias de credencial para la instancia de base de datos PostgreSQL para la que está creando la tarea de latido de actualización.
-
Intervalo de frecuencia: especifique el intervalo de frecuencia para ejecutar la tarea de actualización. El valor mínimo es 60 (valor por defecto) y el valor máximo se puede definir en 7999.
-
Para modificar o eliminar una tarea Actualizar latido, puede utilizar los siguientes pasos: 1. En el panel de navegación de la izquierda de la interfaz del servicio de administración, seleccione Tareas.
-
Haga clic en Actualizar tareas de latido. Se muestra una lista de las tareas de latido de actualización existentes.
-
En la columna Acciones, haga clic en el icono de lápiz. Se muestra el cuadro de diálogo Editar tarea de actualización de latido.
-
Puede cambiar o modificar el dominio de credenciales, el alias o el intervalo de frecuencia y hacer clic en Enviar. La tarea de actualización de latido modificada se muestra en la página Actualizar tareas de latido.
-
Para suprimir una tarea, haga clic en el icono Suprimir de la columna Acciones de la tarea. Haga clic en Aceptar para confirmar la supresión.
Depurar las tablas de historial de latidos
La tabla de historial de latidos se depura periódicamente mediante un trabajo. El intervalo por defecto es de 30 días y este intervalo se puede especificar o sustituir mediante una interfaz de línea de comandos como el cliente de administración o la interfaz web del servicio de administración.
Para Oracle AI Database, el trabajo de base de datos se crea automáticamente.
Para todas las demás bases de datos soportadas, debe crear trabajos en segundo plano para depurar la tabla de historial de latidos mediante la funcionalidad del programador específica de la base de datos.
Mejores prácticas
Oracle recomienda que:
-
Utilice la misma frecuencia de latidos en todas las bases de datos para facilitar el diagnóstico.
-
Ajuste el período de retención si el espacio es un problema.
-
Mantenga la frecuencia predeterminada de la tabla de latidos; la frecuencia establecida de 30 a 60 segundos proporciona los mejores resultados para la mayoría de las cargas de trabajo.
-
Utilice estadísticas de historial de retrasos para recopilar información de demora y edad.
Uso de los comandos de latido automático
Puede utilizar los comandos para controlar la funcionalidad de latido automático de Oracle GoldenGate de la siguiente manera.
| Comando | Descripción |
|---|---|
ADD HEARTBEATTABLE |
Crea las tablas de latidos necesarias para la funcionalidad automática de latidos, incluidas las columnas LOGBSN. |
ALTER HEARTBEATTABLE |
Modifica los objetos de latido existentes. |
ALTER HEARTBEATTABLE UPGRADE |
Modifica las tablas de latidos para agregar las columnas LOGBSN a las tablas de latidos. Esto es opcional. |
DELETE HEARTBEATTABLE |
Suprime los objetos de latido existentes. |
DELETE HEARTBEATENTRY |
Suprime las entradas de la tabla de latidos. |
INFO HEARTBEATTABLE |
Muestra la información de la tabla de latidos. |
Demora de informes
Se puede acceder a los informes de demora desde el servicio de administración. Puede configurar una tarea de informe de demora para generar automáticamente informes de demora para una determinada permanencia y emitir advertencias si el valor de demora supera el umbral especificado. Para configurar una tarea automatizada para generar informes de demora: 1. En el panel de navegación de la izquierda del servicio de administración, haga clic en Tareas y seleccione Informe de etiquetas.
-
La columna Acción contiene todas las opciones para suprimir, modificar, refrescar y ver los detalles de la tarea de informe de demora.
-
Seleccione la opción necesaria.
-
Si selecciona la opción Modificar tarea, se le presentarán opciones para editar el informe de demora. Las opciones son las siguientes:
-
Activado: para seguir procesando la tarea de informe de demora.
-
Marcar cada (en minutos): para establecer un intervalo de tiempo para comprobar el informe de demora.
-
Informe: para generar un informe de demora automáticamente si se supera el umbral especificado. Puede especificar el valor de umbral en el cuadro Si excede.
-
Si excede: Para especificar un umbral después del cual se iniciará una advertencia. El valor puede ser segundos, minutos u horas.
-
Advertencia: para permitir que se genere una advertencia en caso de que el umbral de demora supere el umbral especificado.
-
Cuando excede: umbral de demora tras el cual se dispara la advertencia.
-
-
Haga clic en Enviar.
Identificación de Demora en Replicat
Para identificar la demora en el proceso de Replicat y modificar las columnas de una tabla:
-
Suspender la actividad de la base de datos origen para todas las tablas enlazadas a Oracle GoldenGate.
-
Inicie el cliente de administración.
-
Ejecute este comando para el grupo Replicat:
INFO REPLICAT *group*
-
En la línea
Checkpoint Lag, verifique si hay algún retraso de Replicat. Si es necesario, siga emitiendoINFO REPLICAThasta que la demora sea cero, lo que indica que todos los datos de la pista se han procesado. -
Detenga el grupo Replicat.
STOP REPLICAT *group*
-
Realice las modificaciones de tabla en las bases de datos de destino.
-
Inicie el proceso Replicat.
START REPLICAT *group*
- Permitir que la actividad del usuario se reanude en todas las tablas de origen enlazadas a Oracle GoldenGate.