ABRUFOPTIONEN
Gültig für
Extrahieren
Beschreibung
Mit dem Parameter FETCHOPTIONS können Sie bestimmte Aspekte der Art und Weise steuern, wie Oracle GoldenGate Daten in den folgenden Fällen abruft:
-
Wenn der Transaktionsdatensatz nicht genügend Informationen enthält, damit Extract einen Aktualisierungsvorgang rekonstruieren kann.
-
Wenn Oracle GoldenGate einen Spaltenwert als Ergebnis einer
MISSINGCOLS-Klausel einerTABLE-Anweisung abrufen muss.
FETCHOPTIONS ist tabellenspezifisch. Eine FETCHOPTIONS-Anweisung gilt für alle nachfolgenden TABLE-Anweisungen, bis eine andere FETCHOPTIONS-Anweisung gefunden wird.
Standardabrufeigenschaften sind für die meisten Installationen ausreichend.
Standard
Fehlende Zeilen ignorieren und Verarbeitung fortsetzen
Syntax
FETCHOPTIONS
[, FETCHPKUPDATECOLS]
[, MISSINGCOLS]
[, INCONSISTENTROW <action>]
[, MAXFETCHSTATEMENTS <number>]
[, MISSINGROW <action>]
[, NOFETCH]
[, SUPPRESSDUPLICATES]
[, USEKEY | NOUSEKEY]
[, USELATESTVERSION | NOUSELATESTVERSION]
[, USESNAPSHOT | NOUSESNAPSHOT]
[, USEROWID | NOUSEROWID]
FETCHPKUPDATECOLS
Ruft alle nicht verfügbaren Spalten ab, wenn ein Primärschlüssel aktualisiert wird. Diese Option ist standardmäßig deaktiviert. Wenn diese Option deaktiviert ist, wird der Spaltenabruf gemäß anderen FETCHOPTIONS-Optionen ausgeführt, die aktiviert sind.
Wenn diese Option aktiviert ist, wird sie nur bei einer Aktualisierung einer Primärschlüsselspalte wirksam. Die Ergebnisse sind mit (*) in der TABLE-Anweisung identisch. LOB-Spalten sind im Fetch enthalten.
Verwenden Sie diesen Parameter, wenn Sie HANDLECOLLISIONS. verwenden Wenn Replicat eine fehlende Aktualisierung erkennt, sind alle Spalten verfügbar, um die Aktualisierung in eine Einfügung zu verwandeln.
MISSINGCOLS
Ruft alle fehlenden Spalten aus Aktualisierungs- und Löschvorgängen ab, einschließlich LOB-Spalten. Diese Option ist nur für Oracle AI Database gültig. Es kann sich negativ auf die Datenbank und die Extract-Performance auswirken, da zusätzliche Abfragen zum Abrufen der Daten erforderlich sind. Insbesondere, wenn große LOB-Werte abgerufen und in den Trail geschrieben werden müssen.
Die Einstellung dieses Parameters entspricht der Einstellung der folgenden Parameter:
MISSINGCOLS(*) in the TABLE statement
NOCOMPRESSDELETES FETCHMISSINGCOLS
GETUPDATEBEFORES
NOCOMPRESSUPDATES
LOGALLSUPCOLS
Beim Festlegen von FETCHOPTIONS MISSINGCOLS ist jedoch ein Konflikt mit den folgenden Parametern aufgetreten:
FETCHOPTIONS NOFETCH
FETCHOPTIONS FETCHPKUPDATECOLS
COMPRESSDELETES
COMPRESSUPDATES
GETUPDATEBEFORES
LOGALLSUPCOLS
INCONSISTENTROW <action>
Gibt an, dass Spaltendaten erfolgreich nach Zeile ID abgerufen wurden, der Schlüssel jedoch nicht übereinstimmend. Entweder wurde die Zeile ID wiederverwendet, oder nach diesem Vorgang (und vor dem Abruf) ist eine Primärschlüsselaktualisierung aufgetreten.
<action> kann einer der Folgenden sein:
ALLOW
Bedingung zulassen und Verarbeitung fortsetzen
IGNORE
Die Bedingung ignorieren und mit der Verarbeitung fortfahren. Dies ist die standardmäßige Einstellung.
REPORT
Melden Sie die Bedingung und den Inhalt der Zeile der Discard-Datei, aber fahren Sie mit der Verarbeitung der Teilzeile fort.
DISCARD
Verwerfen Sie die Daten, und verarbeiten Sie die Teilzeile nicht.
ABEND
Daten verwerfen und Verarbeitung beenden
MAXFETCHSTATEMENTS <number>
Steuert die maximal zulässige Anzahl vorbereiteter Abfragen, die von Extract zum Abrufen von Zeilendaten aus einer Quelldatenbank verwendet werden können. Die abgerufenen Daten werden verwendet, wenn nicht genügend Informationen zum Erstellen einer logischen SQL-Anweisung aus einem Transaktionslogdatensatz verfügbar sind. Abfragen werden nach Bedarf vorbereitet und gecacht. Wenn der mit MAXFETCHSTATEMENTS festgelegte Wert erreicht ist, wird die älteste Abfrage durch die neueste ersetzt. Der Wert dieses Parameters steuert die Anzahl der offenen Cursor, die von Extract nur für Abrufabfragen verwaltet werden. Zusätzliche Cursor können von Extract für andere Zwecke verwendet werden, wie sie für gespeicherte Prozeduren erforderlich sind. Dieser Parameter ist nur für Oracle AI Database gültig. Der Standardwert ist 100 Anweisungen. Stellen Sie sicher, dass die Datenbank die angegebene Anzahl von Cursorn sowie Cursor unterstützen kann, die von anderen Anwendungen und Prozessen verwendet werden.
MISSINGROW <action>
Gibt eine Antwort an, wenn Oracle GoldenGate eine abzurufende Zeile nicht finden kann, sodass nur ein Teil der Zeile (die geänderten Werte) zur Verarbeitung verfügbar ist. In der Regel kann keine Zeile gefunden werden, weil sie zwischen dem Zeitpunkt der Erstellung des Änderungsdatensatzes und dem Zeitpunkt, zu dem der Abruf ausgelöst wurde, gelöscht wurde oder weil das erforderliche Zeilenimage älter war als die Undo-Aufbewahrungsspezifikation.
<action> kann einer der folgenden Werte sein:
ALLOW
Bedingung zulassen und Verarbeitung fortsetzen Dies ist die standardmäßige Einstellung.
IGNORE
Die Bedingung ignorieren und mit der Verarbeitung fortfahren.
REPORT
Melden Sie die Bedingung und den Inhalt der Zeile der Discard-Datei, aber fahren Sie mit der Verarbeitung der Teilzeile fort.
DISCARD
Verwerfen Sie die Daten, und verarbeiten Sie die Teilzeile nicht.
ABEND
Daten verwerfen und Verarbeitung beenden
NOFETCH
Verhindert, dass Extract die Spalte aus der Datenbank abruft. Diese Option ist standardmäßig deaktiviert. Extract schreibt den Datensatz in den Trail, fügt jedoch ein Token ein, das angibt, dass die Spalte fehlt.
SUPPRESSDUPLICATES
Gültig für Oracle. Verhindert, dass Ziel-Tablespaces zu groß werden, wenn Aktualisierungen an LOB-Spalten vorgenommen werden. Standardmäßig ist SUPPRESSDUPLICATES auf "Off" gesetzt. Beispiel: Nach der Replikation wird ein Quell-Tablespace von 232 MB zu einem Ziel-Tablespace von 7.52GB.
USEKEY |
NOUSEKEY |
Bestimmt, ob Oracle GoldenGate den Primärschlüssel verwendet, um die abzurufende Zeile zu suchen.
Wenn sowohl USEKEY als auch USEROWID angegeben sind, hat ROWID Priorität für einen schnelleren Zugriff auf den Datensatz. USEROWID ist der Standardwert.
USELATESTVERSION |
NOUSELATESTVERSION |
Gültig für Oracle. Verwenden Sie USESNAPSHOT. Der Standardwert USELATESTVERSION weist Extract an, Daten aus der Quelltabelle abzurufen, wenn er nicht aus dem Undo Tablespace abgerufen werden kann. NOUSELATESTVERSION weist Extract an, die Bedingung zu ignorieren, wenn der Snapshot-Abruf nicht erfolgreich verläuft, und die Verarbeitung fortzusetzen.
Um eine alternative Aktion bereitzustellen, wenn ein Snapshot-Abruf nicht erfolgreich verläuft, verwenden Sie die Option MISSINGROW.
USESNAPSHOT |
NOUSESNAPSHOT |
Gültig für Oracle. Bei der Standardeinstellung, USESNAPSHOT, verwendet Extract das Oracle Flashback-Verfahren, um bestimmte Vorgänge wiederherzustellen, die erforderlich sind, um bestimmte Vorgänge wiederherzustellen, die nicht vollständig aus dem Redo-Datensatz erfasst werden können. Mit NOUSESNAPSHOT ruft Extract die erforderlichen Daten aus der Quelltabelle anstelle der Flashbacklogs ab.
USEROWID |
NOUSEROWID |
Gültig für Oracle. Bestimmt, ob Oracle GoldenGate die Zeile ID verwendet, um die abzurufende Zeile zu suchen.
Wenn sowohl USEKEY als auch USEROWID angegeben sind, hat ROWID Priorität für einen schnelleren Zugriff auf den Datensatz. USEROWID ist der Standardwert.
Beispiele
Beispiel 1
Im Folgenden wird Extract angewiesen, Daten mit Flashback Query abzurufen und die Bedingung zu ignorieren und den Datensatz weiter zu verarbeiten, wenn der Abruf fehlschlägt.
FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION
Beispiel 2
MAXFETCHSTATEMENTS 150
Beispiel 3
Im Folgenden wird Extract angewiesen, Daten mit Flashback Query abzurufen, und Extract wird abgebrochen, wenn die Daten nicht verfügbar sind.
FETCHOPTIONS USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW ABEND