Mit Wiederherstellungs-Logdateien der Oracle-Datenbank arbeiten

Database Migration Service nutzt die Oracle LogMiner API, die Teil von Oracle Database ist, um archivierte Redo-Logdateien abzufragen. 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 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 zwangsläufig zu einer gewissen Latenz im Migrationsprozess. Auf dieser Seite wird die 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 kleiner gehalten werden (z. B. < 256 MB), kann Database Migration Service Änderungen schneller replizieren.

Es gibt Konfigurationsparameter, mit denen Sie die Häufigkeit der Logdatei-Rotation 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 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 Parameter ARCHIVE_LAG_TARGET gibt eine Obergrenze dafür an, wie lange (in Sekunden) das aktuelle Log der primären Datenbank maximal sein darf.

    Dies ist nicht die genaue Zeit für den Logwechsel, da berücksichtigt wird, wie lange die Archivierung des Logs dauert. Der Standardwert ist 0 (keine Obergrenze). Ein angemessener Wert von 1800 (oder 30 Minuten) oder weniger wird empfohlen.

    Sie können den Parameter ARCHIVE_LAG_TARGET mit den folgenden Befehlen festlegen, entweder während der Initialisierung oder während die Datenbank aktiv ist:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Dieser Befehl zeigt an, wie viele Sekunden das aktuelle Log umfasst.
    • 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 (oder 600 Sekunden) festlegen möchten, geben Sie ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600; ein.