Mit Wiederherstellungs-Logdateien der Oracle-Datenbank arbeiten

Database Migration Service nutzt die Oracle LogMiner API, die Teil der Oracle-Datenbank ist, zum Abfragen archivierter Redo-Logdateien. Diese Dateien enthalten Informationen zum Aktivitätsverlauf in einer Datenbank. 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 stuft die Datenbank eine andere Datei als aktuelle Datei hoch.

Wenn Database Migration Service die Oracle LogMiner API verwendet, greift es nicht auf die Online-Redo-Logdateien zu, sondern arbeitet nur mit den archivierten Logdateien. Der Zugriff auf archivierte Redo-Logdateien führt zwangsläufig zu einer gewissen Latenz im Migrationsprozess. Auf dieser Seite wird eine empfohlene Konfiguration für Ihre Oracle-Quelldatenbanken beschrieben, um die Auswirkungen auf die Latenz zu steuern.

Konfigurationsparameter für Oracle-Redo-Logdateien festlegen

Dieses Design hat erhebliche Auswirkungen auf die potenzielle Latenz von Database Migration Service. Wenn Oracle-Redo-Logdateien häufig gewechselt oder auf eine kleinere Größe beschränkt werden (z. B. < 256 MB), kann Database Migration Service Änderungen schneller replizieren.

Es gibt Konfigurationsparameter, die Sie festlegen können, um die Rotationshäufigkeit von Logdateien zu steuern:

  • Größe: Online-Redo-Logdateien haben eine Mindestgröße von 4 MB, und die Standardgröße hängt von Ihrem Betriebssystem ab. Sie können die Größe der Logdateien ändern, indem Sie neue Online-Logdateien 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 ARCHIVE_LAG_TARGET Parameter gibt eine Obergrenze für die Dauer (in Sekunden) des aktuellen Protokolls der primären Datenbank an.

    Dies ist nicht die genaue Zeit für den Logwechsel, da berücksichtigt wird, wie lange es dauert, das Log zu archivieren. Der Standardwert ist 0 (keine Obergrenze), und ein angemessener Wert von 1800 (oder 30 Minuten) oder weniger wird empfohlen.

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

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Mit diesem Befehl wird angezeigt wie viele Sekunden das aktuelle Log umfasst.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Mit diesem Befehl können Sie die Obergrenze ändern.

      Wenn Sie die Obergrenze beispielsweise auf 10 Minuten (oder 600 Sekunden) festlegen möchten, geben Sie ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600; ein.