Utiliser plusieurs groupes de traitements
En général, un seul groupe Extract est requis pour effectuer une capture efficace à partir d'une base de données. Toutefois, selon les valeurs de journalisation (transactionnelles) ou les données et les types d'opération, vous pouvez être amené à ajouter un ou plusieurs groupes Extract à la configuration.
De même, un seul groupe de réplication est généralement nécessaire pour appliquer des données à une base de données cible si vous utilisez le processus Replicat en mode coordonné. Toutefois, même dans certains cas, lorsque vous utilisez le processus Replicat en mode coordonné, vous pouvez être amené à utiliser plusieurs groupes Replicat. Si vous utilisez la réplication en mode classique et que vos applications génèrent un volume de transactions élevé, vous devrez probablement utiliser des groupes de réplication parallèles.
Chaque composant Oracle GoldenGate, Extract, Trail, DISTPATH et Replicat, est un module indépendant qui vous permet de les combiner en fonction de vos besoins. Vous pouvez utiliser plusieurs traces et processus Extract et Replicat parallèles pour gérer un volume important de transactions, améliorer les performances, éliminer les goulets d'étranglement, réduire la latence ou isoler le traitement de données spécifiques.
Le diagramme suivant présente quelques-unes des façons dont vous pouvez configurer Oracle GoldenGate pour améliorer la vitesse de débit et résoudre les problèmes de bande passante réseau.

Les étiquettes d'image impliquent les éléments suivants :
-
A : les extractions parallèles divisent la charge. Par exemple, par schéma ou pour isoler les tables qui génèrent des extractions.
-
B : une extraction avec trace locale peut être utilisée pour le filtrage, la conversion et la tolérance réseau erronée.
-
C : plusieurs DISTPATHS contournent les limites de bande passante par processus du réseau pour activer le débit TCP/IP. Divisez les instructions de paramètre
TABLEentre elles. -
D : les répliques parallèles augmentent le débit vers la base de données. N'importe quelle trace (trail) peut être lue par des processus Replicat. Divisez les instructions
MAPentre elles.
Instructions relatives à l'utilisation de plusieurs groupes de traitements
Avant de configurer plusieurs groupes de traitement, consultez les instructions suivantes pour vous assurer que votre configuration produit les résultats attendus et maintient l'intégrité des données.
Gestion de l'intégrité des données
Toutes les charges globales ne peuvent pas être partitionnées entre plusieurs groupes, tout en conservant l'atomicité de la transaction d'origine. Vous devez déterminer si les objets d'un groupe auront des dépendances sur les objets de tout autre groupe, transactionnel ou autre. Par exemple, les tables pour lesquelles la charge globale met régulièrement à jour la clé primaire ne peuvent pas être partitionnées facilement de cette manière. La réplication LDD (si elle est prise en charge pour la base de données) n'est pas viable dans ce mode, ni l'utilisation de certaines fonctionnalités SQLEXEC ou EVENTACTIONS qui basent leurs actions sur un enregistrement spécifique.
Si vos tables n'ont pas de dépendance de clé étrangère ou de mise à jour des clés primaires, vous pouvez utiliser plusieurs processus. Regroupez les instructions LMD associées dans le même flux de processus pour garantir l'intégrité des données.
Nombre de groupes
Le nombre de groupes de traitements d'extraction et de réplication simultanés pouvant être exécutés sur un système dépend de la quantité de mémoire système disponible. Chaque processus Extract et Replicat classique a besoin d'environ 25 à 55 Mo de mémoire ou plus, selon la taille des transactions et le nombre de transactions simultanées. L'interface de commande Oracle GoldenGate prend en charge 5 000 groupes d'extraction et d'exécution simultanées par instance d'Oracle GoldenGate. Au niveau pris en charge, vous pouvez contrôler et visualiser tous les groupes en entier à l'aide des commandes INFO et STATUS.
Au-delà du niveau pris en charge, les informations de groupe ne s'affichent pas et des erreurs peuvent se produire. Oracle GoldenGate recommande de ne pas toutefois dépasser le nombre de groupes d'extraction et d'activité de réplication (tous confondu) défini sur 100 afin de gérer efficacement l'environnement. Le nombre maximal de groupes est contrôlé par le paramètre MAXGROUPS, qui a une valeur par défaut de 1000.
Pour les environnements Windows Server, le nombre de groupes de processus pouvant être exécutés est étroitement lié aux paramètres de portion de mémoire de bureau Windows "non interactifs". Les paramètres par défaut pour la portion de mémoire de bureau Windows peuvent être suffisants pour exécuter un très petit nombre de groupes de processus, mais à mesure que vous approchez de plus grandes quantités de groupes de processus, plus de 60 ou plus, vous devrez soit ajuster le ' valeur non interactive du champ SharedSection dans le registre, basée sur ces informations de Microsoft (mémoire de base de données de bureau Windows), ou augmentez le nombre de répertoires de base Oracle GoldenGate et répartissez le nombre total de groupes de processus souhaités dans ces répertoires de base. Remarque : Pour plus d'informations sur la modification de la portion de mémoire du bureau Windows, consultez le document Oracle Knowledge Base suivant (ID de document 2056225.1).
Mémoire
Le système doit disposer d'un espace de swap suffisant pour chaque processus d'extraction et de réplication Oracle GoldenGate en cours d'exécution. Pour déterminer l'espace de swap requis :
-
Démarrez une extraction ou une réplication.
-
Exécutez Admin Client.
-
Affichez le fichier d'état et recherchez la ligne
PROCESS VM AVAIL FROM OS (min). -
Arrondissez la valeur au gigaoctet complet suivant si nécessaire. Par exemple, arrondissez 1.76GB à 2 Go.
-
Multipliez cette valeur par le nombre de processus Extract et Replicat en cours d'exécution. Le résultat est la quantité maximale d'espace de swap pouvant être requise.
Pour plus d'informations sur la gestion de la mémoire, reportez-vous au paramètre CACHEMGR dans Référence des paramètres et des fonctions pour Oracle GoldenGate.
Isoler des tables intensives de traitement
Vous pouvez utiliser plusieurs groupes de processus pour prendre en charge certains types de table qui ont tendance à interférer avec le traitement normal et à provoquer une latence sur la cible. Exemple :
-
Le processus Extract peut avoir besoin d'effectuer une extraction à partir de la base de données en raison du type de données de la colonne, des spécifications de paramètre ou d'effectuer des procédures SQL. Lorsque des données doivent être extraites de la base, cela affecte les performances du processus Extract. Vous pouvez obtenir des statistiques d'extraction à partir de la commande
STATS EXTRACTsi vous incluez le paramètreSTATOPTIONS REPORTFETCHdans le fichier de paramètres d'extraction. Vous pouvez ensuite isoler ces tables dans leurs propres groupes Extract, en supposant que l'intégrité transactionnelle puisse être maintenue. -
Dans son mode classique, le processus Replicat peut être une source de goulets d'étranglement en matière de performances car il s'agit d'un processus monothread qui applique les opérations une par une à l'aide d'instructions SQL standard. Même avec l'option
BATCHSQLactivée (reportez-vous à Référence des paramètres et des fonctions pour Oracle GoldenGate), le processus Replicat peut prendre plus de temps pour traiter les tables qui ont des transactions volumineuses ou longues, un volume important, un très grand nombre de colonnes qui changent et des données LOB. Vous pouvez ensuite isoler ces tables dans leurs propres groupes de réplication, en supposant que l'intégrité transactionnelle puisse être maintenue.