Mehrere Prozessgruppen verwenden

In der Regel ist nur eine Extract-Gruppe erforderlich, um effizient aus einer Datenbank zu erfassen. Abhängig von den Redo-Werten (Transaktionswerten) oder den Daten- und Vorgangstypen müssen Sie der Konfiguration möglicherweise eine oder mehrere Extract-Gruppen hinzufügen.

Ebenso ist in der Regel nur eine Replicat-Gruppe erforderlich, um Daten auf eine Zieldatenbank anzuwenden, wenn Replicat im koordinierten Modus verwendet wird. Selbst in einigen Fällen, wenn Sie Replicat im koordinierten Modus verwenden, müssen Sie möglicherweise mehrere Replicat-Gruppen verwenden. Wenn Sie Replicat im klassischen Modus verwenden und Ihre Anwendungen ein hohes Transaktionsvolumen generieren, müssen Sie wahrscheinlich parallele Replicat-Gruppen verwenden.

Jede Oracle GoldenGate-Komponente, Extract, Trail, DISTPATH und Replicat, ist ein unabhängiges Modul, sodass Sie sie auf Ihre Bedürfnisse abstimmen können. Sie können mehrere Trails und parallele Extract- und Replicat-Prozesse verwenden, um ein großes Transaktionsvolumen zu bewältigen, die Performance zu verbessern, Engpässe zu beseitigen, die Latenz zu reduzieren oder die Verarbeitung bestimmter Daten zu isolieren.

Das folgende Diagramm zeigt einige Möglichkeiten, wie Sie Oracle GoldenGate konfigurieren können, um die Durchsatzgeschwindigkeit zu verbessern und Probleme mit der Netzwerkbandbreite zu beheben.

Load-Balancing-Konfigurationen zur Verbesserung der Performance zeigen einige Möglichkeiten, wie Sie Oracle GoldenGate konfigurieren können, um die Durchsatzgeschwindigkeit zu verbessern und Probleme mit der Netzwerkbandbreite zu beheben.

Die Bildbeschriftungen implizieren Folgendes:

Richtlinien für die Verwendung mehrerer Prozessgruppen

Bevor Sie mehrere Verarbeitungsgruppen konfigurieren, prüfen Sie die folgenden Richtlinien, um sicherzustellen, dass Ihre Konfiguration die erwarteten Ergebnisse liefert und die Datenintegrität aufrechterhält.

Datenintegrität aufrechterhalten

Nicht alle Workloads können über mehrere Gruppen partitioniert werden, und die ursprüngliche Transaktionsatomarität bleibt erhalten. Sie müssen bestimmen, ob die Objekte in einer Gruppe jemals Abhängigkeiten von Objekten in einer anderen Gruppe haben, ob transaktional oder anderweitig. Tabellen, für die die Workload den Primärschlüssel routinemäßig aktualisiert, können auf diese Weise nicht einfach partitioniert werden. Die DDL-Replikation (sofern sie für die Datenbank unterstützt wird) ist in diesem Modus nicht möglich, und es werden auch einige SQLEXEC- oder EVENTACTIONS-Features verwendet, die ihre Aktionen auf einem bestimmten Datensatz basieren.

Wenn Ihre Tabellen keine Fremdschlüsselabhängigkeiten oder Aktualisierungen von Primärschlüsseln aufweisen, können Sie möglicherweise mehrere Prozesse verwenden. Behalten Sie die zugehörige DML im selben Prozessstream bei, um die Datenintegrität sicherzustellen.

Anzahl Gruppen

Die Anzahl der nebenläufigen Extract- und Replicat-Prozessgruppen, die auf einem System ausgeführt werden können, hängt davon ab, wie viel Systemspeicher verfügbar ist. Jeder Extract- und klassische Replicat-Prozess benötigt je nach Größe der Transaktionen und Anzahl der gleichzeitigen Transaktionen etwa 25 bis 55 MB Arbeitsspeicher oder mehr. Die Oracle GoldenGate-Befehlsschnittstelle unterstützt bis zu 5.000 nebenläufige Extract- und Replicat-Gruppen pro Oracle GoldenGate-Instanz vollständig. At the supported level, all groups can be controlled and viewed in full with commands such as the INFO and STATUS commands.

Über die unterstützte Ebene hinaus werden keine Gruppeninformationen angezeigt, und es können Fehler auftreten. Oracle GoldenGate empfiehlt, die Anzahl der (kombinierten) Extract- und Replicat-Gruppen auf einer verwaltbareren Ebene (z.B. 100 oder niedriger) zu halten, um die Umgebung effektiv zu verwalten. Die maximale Anzahl von Gruppen wird vom Parameter MAXGROUPS gesteuert, der den Standardwert 1000 hat.

Bei Windows Server-Umgebungen ist die Anzahl der Prozessgruppen, die ausgeführt werden können, eng an die "nicht-interaktiven" Windows-Desktop-Heap-Speichereinstellungen gekoppelt. Die Standardeinstellungen für den Windows-Desktop-Heap reichen möglicherweise aus, um eine sehr kleine Anzahl von Prozessgruppen auszuführen, aber wenn Sie sich größeren Mengen von Prozessgruppen nähern, mehr als 60 oder so, müssen Sie entweder die nicht-interaktiver Wert des Feldes SharedSection in der Registry, basierend auf diesen Informationen aus Microsoft (Windows-Desktop-Heap-Speicher), oder erhöhen Sie die Anzahl der Oracle GoldenGate-Home-Verzeichnisse, und verteilen Sie die Gesamtanzahl der gewünschten Prozessgruppen auf diese Homes. Hinweis: Weitere Informationen zum Ändern des Windows Desktop-Heap-Speichers finden Sie im folgenden Oracle Knowledge Base-Dokument (Dok.-ID 2056225.1).

Arbeitsspeicher

Das System muss über ausreichend Swap-Speicherplatz für jeden ausgeführten Oracle GoldenGate Extract- und Replicat-Prozess verfügen. So ermitteln Sie den erforderlichen Swap-Bereich:

  1. Starten Sie einen Extract oder Replicat.

  2. Admin-Client ausführen.

  3. Zeigen Sie die Berichtsdatei an, und suchen Sie die Zeile PROCESS VM AVAIL FROM OS (min).

  4. Runden Sie den Wert bei Bedarf auf das nächste vollständige Gigabyte auf. Beispiel: Runden Sie 1.76GB auf 2 GB auf.

  5. Multiplizieren Sie diesen Wert mit der Anzahl der Extract- und Replicat-Prozesse, die ausgeführt werden. Das Ergebnis ist der maximal erforderliche Swap-Speicherplatz

Weitere Informationen zur Speicherverwaltung finden Sie im Parameter CACHEMGR in der Referenz zu Parametern und Funktionen für Oracle GoldenGate.

Isolieren von Processing-Intensive Tables

Sie können mehrere Prozessgruppen verwenden, um bestimmte Tabellenarten zu unterstützen, die in der Regel die normale Verarbeitung beeinträchtigen und dazu führen, dass Latenzzeiten auf dem Ziel aufbauen. Beispiel: