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 Verlauf der Aktivitäten 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 wird in der Datenbank eine andere Datei als aktuelle Datei festgelegt.

Wenn Database Migration Service die Oracle LogMiner API verwendet, greift er nicht auf die Online-Redo-Logdateien zu, sondern arbeitet nur mit den archivierten Logdateien. Der Zugriff auf archivierte Redo-Logdateien führt zu einer höheren Latenz bei der Migration. Auf dieser Seite wird die empfohlene Konfiguration für Ihre Oracle-Quelldatenbanken beschrieben, um die Auswirkungen auf die Latenz zu minimieren.

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 klein gehalten werden (z. B. < 256 MB), kann Database Migration Service Ä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; Verwenden Sie diesen Befehl, um die Obergrenze zu ändern.

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