Considérations opérationnelles relatives à la méthode de capture CDC

Découvrez les options, fonctionnalités et paramètres recommandés de capture CDC SQL Server.

Régler la capture des données de modification SQL Server

Les informations suivantes sont utiles pour améliorer les performances de capture du processus Extract.

Gestion des versions d'objet CDC Oracle GoldenGate

Oracle GoldenGate fournit un sous-système de suivi des versions pour suivre les objets CDC créés par Oracle GoldenGate lors de l'activation de la journalisation supplémentaire. Ces objets sont les suivants :

Paramètres Extract pris en charge et non pris en charge pour la capture des données de modification SQL Server

En savoir plus sur les paramètres utilisés avec l'extraction CDC. Le tableau suivant répertorie les paramètres pris en charge et non pris en charge.

Paramètres pris en charge Paramètres non pris en charge
TRANLOGOPTIONS TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT
ALWAYSONREADONLYROUTING -
TRANLOGOPTIONS LOB_CHUNK_SIZE -
TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUPTRANLOGOPTIONS -
TRANLOGOPTIONS QUERYTIMEOUT -
TRANLOGOPTIONS TRANCOUNT -

TRANLOGOPTIONS LOB_CHUNK_SIZE

Le paramètre d'extraction LOB_CHUNK_SIZE est ajouté pour que la méthode CDC Capture prenne en charge les objets volumineux. Si vous disposez de grandes tailles de données de LOB, vous pouvez ajuster LOB_CHUNK_SIZE à partir de la valeur par défaut de 4000 octets, à une valeur supérieure allant jusqu'à 65535 octets, de sorte que la taille d'extraction soit augmentée, ce qui réduit les trajets nécessaires pour extraire l'ensemble de LOB.

Exemple : TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUP

Le paramètre d'extraction MANAGECDCCLEANUP/NOMANAGECDCCLEANUP est utilisé par la méthode CDC Capture pour indiquer au processus Extract s'il doit tenir à jour les données de point de reprise de récupération dans le travail de nettoyage CDC Oracle GoldenGate. Le point de reprise de récupération est maintenu, mais la purge des tables ct n'aura pas lieu si le travail de nettoyage du CDC SQL Server n'est pas activé. Elle est requise pour la purge.

La valeur par défaut est MANAGECDCCLEANUP et n'a pas besoin d'être explicitement répertoriée dans l'extraction. Toutefois, il n'est pas nécessaire de créer le travail de nettoyage CDC Oracle GoldenGate avant de démarrer l'extraction. MANAGECDCCLEANUP doit être utilisé pour tous les environnements de production, où NOMANAGECDCCLEANUP peut être utilisé pour des implémentations temporaires et de test si nécessaire.

Exemple : TRANLOGOPTIONS MANAGECDCCLEANUP

TRANLOGOPTIONS EXCLUSIONUSER/EXCLUDETRANS

Le travail de capture CDC SQL Server ne capture pas les informations utilisateur ou les noms de transaction associés à une transaction. Etant donné que ces informations ne sont pas consignées dans les tables intermédiaires CDC, le processus Extract n'a pas de méthode pour exclure les instructions LMD d'un utilisateur spécifique ou les instructions LMD d'un nom de transaction spécifique. Par conséquent, les paramètres EXCLUDEUSER et EXCLUDETRANS ne sont pas valides pour le processus de capture CDC.

TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT

Le travail de capture des données de modification SQL Server est le seul processus qui capture les données du journal des transactions lors de l'utilisation de la méthode de capture CDC Oracle GoldenGate. La gestion des points de troncation secondaires n'est pas gérée par l'extraction et, pour l'extraction de capture des données de modification, ces paramètres ne sont pas valides.

TRANLOGOPTIONS ALWAYSONREADONLYROUTING

Le paramètre ALWAYSONREADONLYROUTING permet au processus d'extraction de SQL Server d'acheminer son traitement en lecture seule vers une instance secondaire d'intention de lecture disponible lorsqu'il est connecté à un processus d'écoute de groupe de disponibilité Always On.

TRANLOGOPTIONS QUERYTIMEOUT

Indique la durée pendant laquelle les requêtes envoyées à SQL Server attendent les résultats avant de signaler un message d'erreur d'expiration. Cette option prend une valeur entière pour représenter le nombre de secondes. Le délai d'expiration par défaut de la requête est de 300 secondes (5 minutes). La valeur minimale est de 0 seconde (délai d'expiration infini). Le maximum est de 2147483645 secondes.

TRANCOUNT TRANLOGOPTIONS

Permet d'ajuster le nombre de transactions traitées par chaque appel par le processus Extract pour extraire des données des tables intermédiaires de capture des données de modification SQL Server. En fonction de votre charge de travail de transaction, l'ajustement de cette valeur peut améliorer le débit de capture, bien que toutes les charges de travail ne soient pas impactées positivement. La valeur minimale est 1, la valeur maximale est 100 et la valeur par défaut est 10.

Détails du processus de nettoyage du CDC Oracle GoldenGate

La tâche Purger les données de modification d'Oracle GoldenGate est obligatoire pour une extraction CDC par défaut, car l'extraction est définie par défaut sur TRANLOGOPTIONS MANAGECDCCLEANUP.

Il ne doit y avoir qu'une seule tâche de purge pour chaque base de données activée pour CDC Capture. Vous devez créer la tâche en suivant les étapes mentionnées dans la section Préparer la base de données pour Oracle GoldenGate de ce document.

Modifier la tâche de purge des données de modification d'Oracle GoldenGate

La programmation de fréquence de tâche de purge par défaut et la période de conservation des données pour la tâche de purge des données de modification Oracle GoldenGate doivent être exécutées toutes les 10 minutes, avec une stratégie de conservation des données de 3 jours ou 1 heure, selon la version d'Oracle GoldenGate installée.

Pour les besoins spécifiques du client, il peut être nécessaire d'ajuster la période de conservation (option Conserver la règle) et la programmation d'exécution de la tâche (option Fréquence de purge).

L'option Conserver la règle détermine, en heures ou en jours, la quantité de données de transfert CDC à conserver dans la base de données source. Selon la version d'Oracle GoldenGate installée, les valeurs par défaut sont 3 jours ou 1 heure. Les périodes de conservation des données CDC inférieures réduisent la quantité de données intermédiaires CDC stockées dans la base de données, mais limitent la possibilité pour un utilisateur de repositionner l'extraction à une date antérieure aux données qui existent dans les tables intermédiaires. En règle générale, il n'est pas nécessaire de repositionner un processus Extract existant à un point antérieur dans le temps. Il est donc recommandé d'utiliser le nouveau paramètre par défaut de 1 heure, à moins qu'un cas spécifique ne nécessite plus de données intermédiaires pour rester dans la base de données. Notez que si vous modifiez cette valeur d'une période de conservation plus longue à une période de conservation très courte, la prochaine exécution de la programmation de tâche risque de consommer beaucoup d'espace dans les journaux de transactions et de surcharger le système. Il est donc recommandé de réduire lentement la valeur Keep Rule au fil du temps, jusqu'à ce que vous atteigniez la valeur de fin souhaitée.

La fréquence de purge représente la fréquence d'exécution de la tâche, avec une valeur par défaut toutes les 10 minutes. Il est recommandé de conserver la valeur par défaut, sauf si la surcharge liée à la tâche de purge a une incidence sur les performances de la base de données pendant les périodes d'activité utilisateur élevée.

Pour modifier une tâche Purger les données de modification existante, accédez à la Configuration à partir du menu à gauche du service d'administration pour ouvrir la page Configuration. 1. Cliquez sur Tâches sur la page Configuration pour ouvrir la page Tâches.

  1. Cliquez sur Purger les données de modification sur la page Tâches.

  2. Cliquez sur l'icône Modifier la tâche en regard d'une tâche existante.

  3. Modifiez les valeurs des options Conserver la règle et Purger la fréquence selon vos besoins.

  4. Cliquez sur Soumettre pour enregistrer les modifications.

Supprimer la tâche de purge des données de modification d'Oracle GoldenGate

La suppression d'une tâche Purger les données de modification pour une base de données ne doit être effectuée que si aucune extraction n'est configurée pour la capture par rapport à la base de données spécifique.

Pour supprimer une tâche Purger les données de modification existante, accédez à l'option Configuration dans le menu à gauche du service d'administration pour ouvrir la page Configuration. 1. Cliquez sur Tâches sur la page Configuration pour ouvrir la page Tâches.

  1. Cliquez sur Purger les données de modification sur la page Tâches.

  2. Cliquez sur l'icône Supprimer la tâche en regard de la tâche à enlever.

Mise à jour d'une extraction classique vers une extraction CDC

Si vous prévoyez de passer d'une extraction classique à partir d'Oracle GoldenGate 12c (12.3.0.1) ou d'une version antérieure à une extraction CDC Oracle GoldenGate 26ai, vous devez enlever la journalisation supplémentaire implémentée à l'aide de la méthode d'installation Extraction classique, et réactiver la journalisation supplémentaire à l'aide des fichiers binaires d'installation de l'extraction CDC, car les appels permettant d'activer TRANDATA sont différents entre les deux versions et l'implémentation de TRANDATA pour l'extraction classique n'est pas prise en charge par l'extraction CDC.

Suivez ces instructions générales pour supprimer et réactiver la journalisation supplémentaire. Une attention particulière et une planification doivent être prises en compte lors de la migration de l'extraction classique vers l'extraction CDC dans un système de production. Les informations fournies ici ne couvrent pas toutes les exigences et ne sont proposées que comme exigences générales concernant la journalisation supplémentaire :

  1. Assurez-vous que l'extraction classique a traité toutes les données restantes dans les journaux et qu'elle peut être arrêtée progressivement.

  2. Effectuez l'une des opérations suivantes, en fonction de l'exécution du processus Extract par rapport à d'autres composants de réplication ou CDC :

    • Si le processus Extract n'était pas exécuté simultanément avec la réplication transactionnelle SQL Server ou une configuration de CDC non Oracle sur la même base de données, ouvrez une session de requête dans Management Studio et exécutez l'instruction suivante sur la base de données source pour désactiver et supprimer tout CDC ou composant de réplication, et pour effacer le point de troncation secondaire.

      EXEC sys.sp_cdc_disable_db

    • Si le processus Extract s'exécutait de manière simultanée avec la réplication transactionnelle SQL Server ou une configuration de CDC non Oracle sur la même base de données, exécutez le client d'administration à partir du dossier d'installation du processus Extract classique, connectez-vous à la base de données source avec DBLOGIN, puis exécutez la commande suivante pour chaque table de la configuration du processus Extract. Vous pouvez utiliser un caractère générique pour indiquer plusieurs noms de table.

      DELETE TRANDATA owner.table

      DELETE TRANDATA owner.*

  3. Supprimez les entrées de la table de signal d'activité si une entrée a été installée.

    DELETE HEARTBEATTABLE

  4. A l'aide des fichiers binaires d'installation de l'extraction CDC d'Oracle GoldenGate, suivez les étapes répertoriées dans Préparation de la base de données pour Oracle GoldenGate pour réactiver la journalisation supplémentaire et les autres composants nécessaires, puis ajoutez à nouveau la table des signaux d'activité.