Datastream extrahiert Change Data Capture-Ereignisse (CDC) aus Oracle-Redo-Logdateien, um Änderungen aus Ihrer Quelldatenbank in Ihr Ziel zu replizieren. Oracle-Datenbanken zeichnen alle Transaktionen in Online-Redo-Logdateien auf und archivieren diese Dateien, wenn die aktuelle Logdatei rotiert. Sie können auswählen, wie Datastream auf Redo-Logdateien zugreift, und die Größe und Rotationshäufigkeit der Logdateien konfigurieren, um die Replikationslatenz zu reduzieren.
Auf Redo-Logdateien zugreifen
Datastream kann die Oracle LogMiner API oder die Methode „Binärer Reader“ verwenden, um auf die Redo-Logdateien zuzugreifen:
Oracle LogMiner: Ein sofort einsatzbereites Dienstprogramm, das in Oracle-Datenbanken enthalten ist. Wenn Sie Datastream für die Verwendung der Oracle LogMiner API konfigurieren, 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är-Reader (Vorabversion): Ein spezielles, leistungsstarkes Dienstprogramm, das sowohl mit Online- als auch mit archivierten Redo-Logdateien funktioniert. Der binäre Reader kann über die automatische Speicherverwaltung (Automatic Storage Management, ASM) oder durch direktes Lesen der Dateien über Datenbank-Verzeichnisobjekte auf die Logdateien zugreifen. Der Binärleser ist multithreadingfähig und unterstützt CDC mit niedriger Latenz. Außerdem hat es nur geringe Auswirkungen auf die Quelldatenbank, da Redo-Logs außerhalb der Datenbankvorgänge geparst werden. Die CDC-Methode mit Binärleser 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
Wenn Sie die CDC-Methode LogMiner verwenden, hat dieses Design erhebliche Auswirkungen auf die potenzielle Latenz von Datastream. Da LogMiner nur aus archivierten Logs liest, kann Datastream Änderungen schneller replizieren, wenn die Redo-Logdateien von Oracle häufig gewechselt oder kleiner gehalten werden (z. B. < 256 MB). Dies gilt nicht für die Methode Binärleseprogramm, die aktiv aus Online-Redo-Logdateien liest.
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_TARGETgibt eine Obergrenze für die Dauer (in Sekunden) des aktuellen Logs der primären Datenbank an.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 ist1800(oder 30 Minuten) oder weniger.Sie können die folgenden Befehle verwenden, um den Parameter
ARCHIVE_LAG_TARGETfestzulegen, entweder während der Initialisierung oder während die Datenbank in Betrieb ist: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;Verwenden Sie diesen Befehl, um die Obergrenze zu ä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.