Mit Wiederherstellungs-Logdateien der Oracle-Datenbank arbeiten

Während der Erfassung von Änderungsdaten liest Datastream Oracle-Redo-Logdateien, um Ihre Quelldatenbanken auf Änderungen zu überwachen und sie in die Zielinstanz zu replizieren. Jede Oracle-Datenbank enthält eine Reihe von Online-Redo-Logdateien. Alle Transaktionsdatensätze in der Datenbank werden in den Dateien aufgezeichnet. Wenn die aktuelle Redo-Logdatei rotiert (oder gewechselt) wird, kopiert der Archivierungsprozess diese Datei in einen Archivspeicher. In der Zwischenzeit wird in der Datenbank eine andere Datei als aktuelle Datei festgelegt.

Der Oracle-Connector von Datastream extrahiert CDC-Ereignisse (Change Data Capture) aus archivierten Oracle-Redo-Logdateien.

Auf Redo-Logdateien zugreifen

Datastream kann die Oracle LogMiner API oder die Binärlesemethode verwenden, um auf die Redo-Logdateien zuzugreifen:

  • Oracle LogMiner: ein sofort einsatzbereites Dienstprogramm, das in Oracle-Datenbanken enthalten ist. Wenn Sie Datastream so konfigurieren, dass die Oracle LogMiner API verwendet wird, kann Datastream nur mit archivierten Redo-Logdateien arbeiten. Online-Redo-Logdateien werden nicht unterstützt. Die LogMiner API-Methode ist Single-Threaded und unterliegt einer höheren Latenz und einem geringeren Durchsatz, wenn mit Quelldatenbanken mit einer großen Anzahl von Transaktionen gearbeitet wird. LogMiner unterstützt die meisten Datentypen und Oracle-Datenbankfunktionen.

  • Binärleser (Vorabversion): Ein spezielles, leistungsstarkes Dienstprogramm, das sowohl mit Online- als auch mit archivierten Redo-Logdateien funktioniert. Der binäre Reader kann über Automatic Storage Management (ASM) oder durch direktes Lesen der Dateien mithilfe von Datenbank-Verzeichnisobjekten auf die Logdateien zugreifen. Der binäre Reader ist multithreaded und unterstützt CDC mit niedriger Latenz. Außerdem wird die Quelldatenbank nur geringfügig belastet, da die Redo-Logs außerhalb der Datenbankvorgänge geparst werden. Die CDC-Methode des binären Readers bietet nur eingeschränkte Unterstützung für bestimmte Datentypen oder Funktionen. Weitere Informationen finden Sie unter Bekannte Einschränkungen.

Konfigurationsparameter für Oracle-Redo-Logdateien festlegen

Dieses Design hat erhebliche Auswirkungen auf die potenzielle Latenz von Datastream. Wenn die Redo-Logdateien von Oracle häufig gewechselt oder klein gehalten werden (z. B. < 256 MB), kann Datastream Änderungen schneller replizieren.

Es gibt Konfigurationsparameter, mit denen Sie die Häufigkeit der Logdateirotation steuern können:

  • Größe: Online-Redo-Logdateien haben eine Mindestgröße von 4 MB. Die Standardgröße hängt von Ihrem Betriebssystem ab. Sie können die Größe der Logdateien ändern, indem Sie neue Onlinelogdateien erstellen und die älteren Logdateien löschen.

    Führen Sie die folgende Abfrage aus, um die Größe der Online-Redo-Logdateien zu ermitteln:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • Zeit: Der Parameter ARCHIVE_LAG_TARGET gibt eine Obergrenze für die Dauer (in Sekunden) des aktuellen Logs der primären Datenbank an.

    Dies ist nicht der genaue Zeitpunkt des Log-Wechsels, da berücksichtigt wird, wie lange es dauert, das Log zu archivieren. Der Standardwert ist 0 (keine Obergrenze). Es wird ein angemessener Wert von 1800 (oder 30 Minuten) oder weniger empfohlen.

    Sie können die folgenden Befehle verwenden, um den Parameter ARCHIVE_LAG_TARGET festzulegen, entweder während der Initialisierung oder während die Datenbank in Betrieb ist:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET;: Dieser Befehl zeigt an, wie viele Sekunden es dauert, bis sich das aktuelle Log erstreckt.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Mit diesem Befehl können Sie die Obergrenze ändern.

      Beispiel: Wenn Sie die Obergrenze auf 10 Minuten (bzw. 600 Sekunden) einstellen möchten, geben Sie ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600; ein.

Nächste Schritte