Consideraciones operativas del método de captura de CDC

Obtenga información sobre las opciones, las funciones y los valores recomendados de captura de CDC de SQL Server.

Ajuste de la Captura de Datos de Cambios de SQL Server

La siguiente información es útil para mejorar el rendimiento de captura de Extract.

Control de versiones de objetos CDC de Oracle GoldenGate

Oracle GoldenGate proporciona un subsistema de seguimiento de versiones para realizar un seguimiento de los objetos CDC que crea Oracle GoldenGate al activar el registro complementario. Estos objetos son:

Parámetros de extracción soportados y no soportados para la captura de datos de cambio de SQL Server

Obtenga información sobre los parámetros utilizados con el extracto de CDC. En las siguientes tablas se muestran los parámetros admitidos y no admitidos.

Parámetros admitidos Parámetros no admitidos
TRANLOGOPTIONS TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT
ALWAYSONREADONLYROUTING -
TRANLOGOPTIONS LOB_CHUNK_SIZE -
TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUPTRANLOGOPTIONS -
TRANLOGOPTIONS QUERYTIMEOUT -
TRANLOGOPTIONS TRANCOUNT -

OPCIONES DE TRANSACCIÓN LOB_CHUNK_SIZE

Se agrega el parámetro Extract LOB_CHUNK_SIZE para que el método de captura de CDC soporte objetos grandes. Si tiene grandes tamaños de datos LOB, puede ajustar LOB_CHUNK_SIZE del valor por defecto de 4000 bytes a un valor superior de hasta 65535 bytes, de modo que el tamaño de recuperación aumente, lo que reduce los viajes necesarios para recuperar todo el LOB.

Ejemplo: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUP

El método de captura CDC utiliza el parámetro Extract MANAGECDCCLEANUP/NOMANAGECDCCLEANUP para indicar al Extract si desea o no mantener los datos de punto de control de recuperación en el trabajo de limpieza CDC de Oracle GoldenGate. El punto de control de recuperación se mantiene, pero la depuración de las tablas ct no se producirá si el trabajo de limpieza de CDC de SQL Server tampoco está activado. Es necesario para la depuración.

El valor por defecto es MANAGECDCCLEANUP y no tiene que aparecer explícitamente en Extract. Sin embargo, sí necesita crear el trabajo de limpieza de CDC de Oracle GoldenGate antes de iniciar el Extract. MANAGECDCCLEANUP se debe utilizar para todos los entornos de producción, donde NOMANAGECDCCLEANUP se puede utilizar para implantaciones temporales y de prueba según sea necesario.

Ejemplo: TRANLOGOPTIONS MANAGECDCCLEANUP

EXCLUIR USUARIO/EXCLUIR TRANSACCIÓN DE OPCIONES DE TRANSACCIÓN

El trabajo de captura de CDC de SQL Server no captura información de usuario ni nombres de transacción asociados a una transacción, y como esta información no se registra en las tablas temporales de CDC, Extract no tiene ningún método para excluir DML de un usuario específico o DML de un nombre de transacción específico. Por lo tanto, los parámetros EXCLUDEUSER y EXCLUDETRANS no son válidos para el proceso de captura de CDC.

TRANLOGOPTIONS GESTIONA EL PUNTO DE ENLACE SECUNDARIO/PUNTO DE ENLACE SECUNDARIO/PUNTO DE ENLACE SECUNDARIO/ACTIVOSPUNTO DE ENLACE SECUNDARIO

El trabajo de captura de datos de cambio de SQL Server es el único proceso que captura datos del log de transacciones al utilizar el método de captura de CDC de Oracle GoldenGate. La gestión del punto de truncamiento secundario no la gestiona Extract y, para la extracción de captura de datos de cambio, estos parámetros no son válidos.

TRANLOGOPTIONS ALWAYSONREADONLYROUTING (ENRUTAMIENTO SIEMPRE EN MODO SOLO LECTURA)

El parámetro ALWAYSONREADONLYROUTING permite a Extract para SQL Server enrutar su procesamiento de solo lectura a un secundario de intención de lectura disponible cuando está conectado a un listener de grupo de disponibilidad Always On.

TIMEOUT DE CONSULTA DE OPCIONES DE TRANSACCIÓN

Especifica cuánto tiempo esperarán las consultas a SQL Server los resultados antes de informar de un mensaje de error de timeout. Esta opción toma un valor entero para representar el número de segundos. El valor por defecto del timeout de consulta es 300 segundos (5 minutos). El valor mínimo es 0 segundos (tiempo de espera infinito). El máximo es de 2147483645 segundos.

TRANLOGOPTIONS - RECUENTO DE TRANSACCIONES

Permite ajustar el número de transacciones procesadas por cada llamada mediante Extract para extraer datos de las tablas temporales de captura de datos de cambio de SQL Server. En función de la carga de trabajo de las transacciones, ajustar este valor puede mejorar el rendimiento de la tasa de captura, aunque no todas las cargas de trabajo se verán afectadas positivamente. El valor mínimo es 1, el máximo es 100 y el valor por defecto es 10.

Detalles del proceso de limpieza de CDC de Oracle GoldenGate

La tarea Depurar datos de cambio de Oracle GoldenGate es necesaria para un Extract de CDC por defecto, ya que el valor por defecto de Extract es TRANLOGOPTIONS MANAGECDCCLEANUP.

Solo debe haber una tarea de depuración para cada base de datos activada para la captura de CDC y debe crear la tarea mediante los pasos mencionados en la sección Preparación de la base de datos para Oracle GoldenGate de este documento.

Modificación de la tarea de depuración de datos de cambio de Oracle GoldenGate

El programa de frecuencia de la tarea de depuración por defecto y el período de retención de datos para la tarea de depuración de datos de cambio de Oracle GoldenGate se ejecutan cada 10 minutos, con una política de retención de datos de 3 días o 1 hora, según la versión de Oracle GoldenGate instalada.

Para los requisitos específicos del cliente, puede que sea necesario ajustar el período de retención (opción Mantener regla) y el programa de tiempo de ejecución de la tarea (opción Depurar frecuencia).

La opción Mantener regla determina en horas o días la cantidad de datos temporales de CDC que se van a mantener en la base de datos de origen. Según la versión de Oracle GoldenGate instalada, los valores por defecto son 3 días o 1 hora. Los períodos de retención de datos CDC más bajos reducen la cantidad de datos temporales CDC almacenados en la base de datos, pero limitan la capacidad de un usuario para cambiar la posición de Extract a un tiempo anterior a los datos que existen en las tablas temporales. Normalmente, no sería necesario cambiar la posición de un Extract existente a un punto anterior en el tiempo, por lo que se recomienda utilizar el valor por defecto más reciente de 1 hora, a menos que haya un caso específico que requiera más datos temporales para permanecer en la base de datos. Tenga en cuenta que, si cambia este valor de un período de retención superior a un período de retención muy corto, la próxima vez que se ejecute el programa de tareas, podría consumir mucho espacio de log de transacciones y sobrecarga del sistema. Por lo tanto, se recomienda reducir lentamente el valor Keep Rule con el tiempo, hasta que alcance el valor final deseado.

La frecuencia de depuración representa la frecuencia con la que se ejecuta la tarea, con un valor por defecto de cada 10 minutos. Se recomienda mantener el valor por defecto a menos que la sobrecarga de la tarea de depuración afecte al rendimiento de la base de datos durante períodos de alta actividad del usuario.

Para modificar una tarea de depuración de datos de cambio existente, vaya a Configuración desde el menú de la izquierda del servicio de administración, para abrir la página Configuración. 1. Haga clic en Tareas en la página Configuración para abrir la página Tareas.

  1. Haga clic en Depurar datos de cambio en la página Tareas.

  2. Haga clic en el icono Modificar tarea junto a una tarea existente.

  3. Modifique los valores de las opciones Mantener regla y Depurar frecuencia según sea necesario.

  4. Haga clic en Enviar para guardar los cambios.

Supresión de la tarea de depuración de datos de cambio de Oracle GoldenGate

La supresión de una tarea Depurar datos de cambio para una base de datos solo se debe realizar si no hay Extract configurados para capturarlos en la base de datos específica.

Para suprimir una tarea de depuración de datos de cambio existente, vaya a la opción Configuración del menú de la izquierda del servicio de administración, para abrir la página Configuración. 1. Haga clic en Tareas en la página Configuración para abrir la página Tareas.

  1. Haga clic en Depurar datos de cambio en la página Tareas.

  2. Haga clic en el icono Suprimir tarea junto a la tarea que se va a eliminar.

Actualización de extracto clásico a extracto de CDC

Si tiene previsto cambiar de un Extract clásico de Oracle GoldenGate 12c (12.3.0.1) o anterior a un Extract CDC 26ai de Oracle GoldenGate, debe eliminar el registro complementario que se ha implantado mediante el método de instalación Classic Extract. y vuelva a activar el registro complementario mediante los binarios de instalación de CDC Extract, ya que las llamadas para activar TRANDATA son diferentes entre las dos versiones, y la implementación de TRANDATA para Classic Extract no está soportada por CDC Extract.

Siga estas directrices generales para eliminar y volver a activar el registro complementario. Se debe tener en cuenta y planificar especialmente si se migra de Extracto Clásico a Extracto CDC en un sistema de producción. La información aquí proporcionada no cubre todos los requisitos y solo se ofrece como requisitos generales con respecto a la tala complementaria:

  1. Asegúrese de que la extracción clásica ha procesado todos los datos restantes en los logs y se puede parar correctamente.

  2. Realice una de las siguientes acciones, según cómo se ejecutara Extract en relación con otros componentes de replicación o CDC:

    • Si Extract no se estaba ejecutando simultáneamente con la replicación transaccional de SQL Server o con una configuración de CDC que no sea de Oracle en la misma base de datos, abra una sesión de consulta en Management Studio y emita la siguiente sentencia en la base de datos de origen para desactivar y suprimir cualquier CDC o componentes de replicación, y para borrar el punto de truncamiento secundario.

      EXEC sys.sp_cdc_disable_db

    • Si Extract se estaba ejecutando concurrentemente con la replicación transaccional de SQL Server o una configuración de CDC que no sea de Oracle en la misma base de datos, ejecute el cliente de administración desde la carpeta de instalación de Classic Extract, conéctese a la base de datos de origen con DBLOGIN y, a continuación, ejecute el siguiente comando para cada tabla que esté en la configuración de Extract. Puede utilizar un comodín para especificar varios nombres de tabla

      DELETE TRANDATA owner.table

      DELETE TRANDATA owner.*

  3. Suprima las entradas de la tabla de latidos si se instaló una.

    DELETE HEARTBEATTABLE

  4. Mediante los binarios de instalación de Oracle GoldenGate CDC Extract, siga los pasos que se muestran en Preparación de la base de datos para Oracle GoldenGate para volver a activar el registro complementario y otros componentes necesarios, y vuelva a agregar la tabla de latidos.