Failover-Unterstützung für Oracle GoldenGate mit PostgreSQL 17 und höher

Erfahren Sie, wie Sie Failover für Oracle GoldenGate mit PostgreSQL 17 und höher konfigurieren.

PostgreSQL 17 unterstützt die automatische Synchronisierung logischer Replikations-Slots zwischen Primär- und Standby-Servern. Bei Verwendung mit Oracle GoldenGate ermöglicht diese Funktion ein nahtloses Failover von Extract-Prozessen, ohne dass Replikations-Slots manuell neu erstellt werden müssen.

Diese Funktion gewährleistet eine kontinuierliche Datenreplikation mit minimaler Unterbrechung bei Failover-Ereignissen.

Voraussetzungen für die Aktivierung von Failover-Unterstützung für Oracle GoldenGate für PostgreSQL 17 und höher

Bevor Sie die Failover-Unterstützung aktivieren, stellen Sie Folgendes sicher:

Konfigurieren der Failover-Unterstützung

Konfigurieren Sie die Failover-Unterstützung, indem Sie die folgenden Aufgaben auf den Primär- und Standbyservern PostgreSQL und dann auf der Oracle GoldenGate-Extraktionsseite ausführen.

  1. Konfigurieren Sie PostgreSQL-Primär- und -Standbyserver.

    Auf dem primären Server: Aktualisieren Sie die Konfigurationsparameter PostgreSQL:

    wal_level = logical
    max_replication_slots = *sufficient_value*
    sync_replication_slots = on
    synchronized_standby_slots = '*standby_slot_name*'

    Auf dem Standby-Server

    Aktualisieren Sie die Konfigurationsparameter:

    hot_standby_feedback = on
    primary_slot_name = '*primary_physical_slot*'
  2. Starten Sie nach dem Aktualisieren der Konfiguration PostgreSQL sowohl auf dem Primär- als auch auf dem Standbyserver neu.

  3. Aktivieren Sie die Unterstützung von Failover-Slots bei der Registrierung des Extraktionsprozesses.

    Oracle GoldenGate-Weboberfläche verwenden

    Aktivieren Sie beim Erstellen von Extract für PostgreSQL den Schalter "Failover-Replikationseinschubfächer":

    Aktivieren Sie den Schalter "Failover Replication Slots".

    Verwenden von AdminClient

    REGISTER EXTRACT *extract_name* FAILOVERSLOT;

    Mit der REST-API

    POST /services/v2/extracts/AT
    {
        "credentials": {
            "alias": "fail1"
        },
        "registration": "default",
        "failoverSlot": true
    }
  4. Prüfen Sie die Konfiguration auf den Primär- und Standbyservern PostgreSQL:

    Auf dem primären Server: Führen Sie die folgende Abfrage aus:

    SELECT slot_name, slot_type, failover
    FROM pg_replication_slots;

    Die Ausgabe sollte Folgendes anzeigen:

    • Einschubfachtyp ist logical

    • failover ist auf true gesetzt

    Auf dem Standby-Server: Führen Sie die folgende Abfrage aus:

    SELECT slot_name, restart_lsn
    FROM pg_replication_slots;

    Die Ausgabe sollte Folgendes anzeigen:

    • Derselbe Slot ist im Standby-Modus vorhanden.

    • LSN-Werte werden verarbeitet

  5. Führen Sie das Failover aus, indem Sie die folgenden Schritte ausführen:

    1. Hochstufen des Standby-Servers zur Primärdatenbank mithilfe des konfigurierten High Availability-Mechanismus.

    2. Aktualisieren Sie die Extract-Konfiguration, um eine Verbindung zur neuen Primärdatenbank herzustellen.

    3. Extrahierungsprozess starten oder wiederaufnehmen

    Die Replikation wird ab der zuletzt verarbeiteten Position fortgesetzt, ohne dass eine erneute Initialisierung erforderlich ist.

  6. Replikations-Slot-Status überwachen:

    SELECT slot_name, active, restart_lsn
    FROM pg_replication_slots;

    Prüfen Sie Folgendes:

    • Slot ist aktiv

    • Restart LSN geht voran

    • Keine übermäßige WAL-Akkumulation

  7. Das Entfernen nicht verwendeter Replikations-Slots verhindert eine übermäßige WAL-Aufbewahrung und Datenträgerauslastung.

    SELECT pg_drop_replication_slot('*slot_name*');

Best Practices für die Failover-Supportkonfiguration

Beachten Sie die folgenden Best Practices, um die Failover-Unterstützung mit Oracle GoldenGate Extract for PostgreSQL zu konfigurieren:

Einschränkungen

Cloud-spezifische Richtlinien