Récapitulatif des exigences pour la capture et la distribution de bases de données dans un groupe de disponibilité Always On
Oracle GoldenGate for SQL Server prend en charge la capture à partir d'une réplique principale ou d'une réplique secondaire en mode synchrone en lecture seule d'un groupe de disponibilité Toujours sur, et la distribution à la réplique principale.
Lors de la capture à partir d'une réplique principale ou secondaire dans un groupe de disponibilité Toujours sur, il est important de comprendre que le processus de capture doit uniquement lire les transactions renforcées à partir du journal et qu'il n'y a aucun risque de perte de données entre les bases de données de réplique à partir desquelles Oracle GoldenGate est ou va effectuer la capture.
Connexion de base de données
Pour le processus Extract et le processus Replicat, il est recommandé de créer une connexion de base de données qui utilise le processus d'écoute de groupe de disponibilité Always On pour la connexion.
-
Pour le processus d'écoute, la connexion au processus d'écoute permet à ce dernier de se reconnecter si la réplique principale effectue un basculement vers une nouvelle instance, sans avoir à modifier manuellement les paramètres de connexion pour pointer vers la nouvelle instance principale.
-
Pour l'extraction, la connexion au processus d'écoute permet non seulement de se reconnecter à l'instance principale sans modifier la connexion pour pointer vers la nouvelle instance, mais offre également la possibilité facultative d'exécuter les procédures stockées d'extraction de données de l'extraction, par rapport à une instance secondaire en lecture seule.
-
Pour le processus Extract et le processus Replicat connectés à un environnement Always On, utilisez le paramètre
AUTORESTARTpour le gestionnaire afin de redémarrer les processus après un basculement. -
Pour acheminer les requêtes d'extraction de données du processus Extract vers un serveur secondaire en lecture seule, assurez-vous que la connexion utilise le processus d'écoute, que vous disposez d'une ou de plusieurs répliques secondaires en lecture seule configurées pour gérer le routage en lecture seule et que le processus Extract est exécuté avec le paramètre
TRANLOGOPTIONS ALWAYSONREADONLYROUTING.Reportez-vous à la documentation Microsoft suivante sur la configuration du routage en lecture seule : https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/configure-read-only-routing-for-an-availability-group-sql-server?view=sql-server-2017
Journalisation supplémentaire
La journalisation supplémentaire doit être activée par des moyens normaux (ADD TRANDATA) à l'aide du client d'administration ou de l'interface Web connectée à la réplique principale et non à une réplique secondaire.
-
Créez un DSN vers la réplique principale ou vers le processus d'écoute du groupe de disponibilité Always On pour vous connecter à l'aide de
DBLOGINafin d'exécuterADD TRANDATA. -
Lors de l'activation de la journalisation supplémentaire sur la base de répliques principale, le travail de capture des données de modification SQL Server n'est pas automatiquement créé sur les répliques secondaires. Lors du basculement d'une base principale vers une base secondaire, vous devez créer manuellement le travail de capture des données de modification SQL Server et le travail de nettoyage Oracle CDC, le cas échéant, sur la nouvelle réplique principale.
EXECUTE sys.sp_cdc_add_job N'capture- Lors de la création du travail de capture CDC SQL Server sur le nouveau serveur principal, les paramètres de configuration par défaut sont mis en place. Par conséquent, si vous avez précédemment modifié les valeurs par défaut sur l'ancienne réplique principale, vous devez exécuter
sys.sp_cdc_change_jobsur la nouvelle réplique principale et définir les valeurs en conséquence. Remarque : pour plus d'informations, consultez la documentation Microsoft sur l'activation du travail de capture CDC pour les répliques secondaires AlwaysOn.
- Lors de la création du travail de capture CDC SQL Server sur le nouveau serveur principal, les paramètres de configuration par défaut sont mis en place. Par conséquent, si vous avez précédemment modifié les valeurs par défaut sur l'ancienne réplique principale, vous devez exécuter
Exigences opérationnelles et considérations
-
Lorsqu'une instance n'est plus l'instance principale mais que le travail de capture CDC SQL Server est installé, le travail cesse de s'exécuter après un certain temps et ne tente pas de redémarrer. Lors du basculement vers cette instance, le travail ne démarre pas automatiquement. Il doit donc être démarré manuellement.
-
Si les bases de données de répliques secondaires ne sont pas synchronisées avec la base de données de répliques principale, le travail de capture du CDC n'avance pas dans le journal. Par conséquent, aucun enregistrement ne sera capturé par une extraction tant que les répliques principale et secondaire ne seront pas synchronisées. Voir cet article de Microsoft pour plus de détails :
Remarque : lors de la capture à partir d'une réplique principale ou secondaire dans un groupe de disponibilité Toujours sur, il est important de comprendre que le processus de capture doit uniquement lire les transactions renforcées à partir du journal et qu'il n'y a aucun risque de perte de données entre les bases de données de réplique à partir desquelles Oracle GoldenGate est ou sera capturé.
-
Lors de l'exécution d'une extraction à partir d'un serveur Windows ou Linux de niveau intermédiaire, définissez la date, l'heure et le fuseau horaire du serveur de niveau intermédiaire sur les mêmes que ceux de la réplique principale.
-
Si le processus Extract est configuré pour effectuer une capture à partir d'une réplique secondaire lisible, mais pas avec un routage en lecture seule, le travail de capture CDC SQL Server doit être créé sur la réplique secondaire avant le démarrage du processus Extract, car celui-ci vérifie si le travail existe. Pour créer le travail de capture CDC SQL Server, tout secondaire potentiel auquel une extraction sera connectée doit à un moment donné être défini sur une base de données principale accessible en écriture, puis suivre les étapes ci-dessus, sous journalisation supplémentaire, pour ajouter manuellement le travail de capture CDC SQL Server.
-
Si vous désinstallez Oracle GoldenGate et désactivez Change Data Capture sur une base de données qui fait partie d'un groupe de disponibilité Always On, suivez les étapes supplémentaires fournies dans Désactivation de la capture des données de modification.