Db2 LUW: Unterstützte Datentypen, Objekte und Vorgänge
Dieser Abschnitt enthält Informationen zu unterstützten Datentypen, Objekten und Vorgängen für Oracle GoldenGate auf Db2 LUW.
Unterstützte LUW-Datentypen Db2
Oracle GoldenGate unterstützt alle Db2 LUW-Datentypen, mit Ausnahme derjenigen, die unter Nicht unterstützte Db2 LUW-Datentypen aufgeführt sind.
Einschränkungen des Supports
Für Oracle GoldenGate gelten die folgenden Einschränkungen für die Unterstützung von Db2-LUW-Datentypen:
-
Oracle GoldenGate unterstützt Datentypen mit mehreren Byte und Multibyte-Daten, die in Zeichenspalten gespeichert sind. Multi-Byte-Daten werden nur in einer Like-to-like-Konfiguration unterstützt. Transformation, Filterung und andere Manipulationstypen werden für Mehr-Byte-Zeichendaten nicht unterstützt.
-
Die Spalten
BLOBundCLOBmüssen eineLOGGED-Klausel in ihren Definitionen enthalten. -
Aufgrund von Einschränkungen in der IBM DB2READLOG-Schnittstelle unterstützt Oracle GoldenGate keine Koordination von Transaktionen zwischen Knoten in einer Db2 Database Partitioning Feature-(DPF-)Umgebung. In DPF kann eine Transaktion mehrere Knoten umfassen, je nachdem, wie die Daten partitioniert sind.
Wenn Sie es jedoch erfassen müssen, können Sie es mit bestimmten Einschränkungen tun. Prüfen Sie den Oracle Support-Hinweis Does Oracle GoldenGate Support DB2 LUW Data Partitioning Feature (DPF)? (2763006.1 DocID).
-
Die Spalten
GRAPHICundVARGRAPHICmüssen sich in einer Datenbank befinden, wobei der Zeichensatz UTF16 lautet. Jeder andere Zeichensatz bewirkt, dass Oracle GoldenGate abgebrochen wird. -
Die Unterstützung von Reichweite und Genauigkeit für Gleitkommazahlen hängt vom Hostrechner ab. Im Allgemeinen ist die Genauigkeit auf 16 signifikante Stellen genau, aber Sie sollten die Datenbankdokumentation lesen, um die erwarteten Näherungen zu ermitteln. Oracle GoldenGate rundet oder schneidet Werte ab, die den unterstützten Nachkommastellenwert überschreiten.
-
Extract unterstützt die Erfassung und Anwendung von
TIMESTAMP(0)bisTIMESTAMP(12)vollständig, wenn das Ausgabetrailformat 19.1 oder höher ist. Andernfalls schneidet Extract die Daten vonTIMESTAMP(10)bisTIMESTAMP(12)auf Nanosekunden ab (maximal neun Stellen Bruchzeit) und gibt eine Warnung an die Berichtsdatei aus. -
Oracle GoldenGate unterstützt Zeitstempeldaten von 0001/01/03:00:00:00 bis 9999/12/31:23:59:59. Wenn ein Zeitstempel von GMT in Ortszeit konvertiert wird, gelten diese Grenzwerte auch für den resultierenden Zeitstempel. Je nach Zeitzone kann die Konvertierung Stunden addieren oder subtrahieren, was dazu führen kann, dass der Zeitstempel den unteren oder oberen unterstützten Grenzwert überschreitet.
-
Oracle GoldenGate unterstützt keine Filterung, Spaltenzuordnung oder Bearbeitung großer Objekte, die größer als 4K sind. Sie können die vollständige Oracle GoldenGate-Funktionalität für Objekte verwenden, die 4K oder kleiner sind.
-
Die Replikation von XML-Spalten zwischen Quell- und Zieldatenbanken mit dem gleichen Zeichensatz wird unterstützt. Wenn sich die Zeichensätze der Quell- und Zieldatenbank unterscheiden, kann die XML-Replikation mit einem Datenbankfehler fehlschlagen, da einige Zeichen im Zeichensatz der Zieldatenbank möglicherweise nicht erkannt (oder gültig) werden.
-
Oracle GoldenGate zertifiziert nicht das Erfassen von Änderungen aus den spaltenorganisierten Tabellen der LUW Db2.
-
Der Datentyp
DECFLOATunterstützt die speziellen numerischen WerteNaN,sNaNundInfinity/-Infinity.Weitere Informationen zu Datentypen nach Datenbanken, die spezielle Werte unterstützen, finden Sie unter Von Datenbankdatentypen unterstützte Sonderwerte.
Nicht unterstützte LUW-Datentypen für Db2
Die nicht unterstützten LUW-Datentypen Db2 sind:
-
XMLType(Erfassung) -
Benutzerdefinierte Arten
-
Negative Daten
Unterstützte Objekte und Vorgänge für Db2 LUW
Folgende Objekte und Vorgänge werden für Db2 LUW unterstützt:
-
Oracle GoldenGate Extract unterstützt Cross-Endian Capture-Prozesse, bei denen die Datenbank und Oracle GoldenGate auf verschiedenen Byte-Order-Servern ausgeführt werden. Die Byte-Reihenfolge wird automatisch für Db2 LUW Version 10.5 oder höher ermittelt. Wenn die automatische Erkennung der Db2-Datenbank in der Db2 LUW 10.5-Datenbank nicht erforderlich ist, können Sie sie durch Angabe des Parameters
TRANLOGOPTIONS MIXEDENDIAN [ON|OFF]außer Kraft setzen. Für Db2 LUW Version 10.1 muss dieser Parameter in der Extract-Parameterdatei für den Cross-Endian Capture-Prozess verwendet werden. Weitere Informationen hierzu finden Sie in TRANLOGOPTIONS. -
Die Umgebung Db2 pureScale wird unterstützt.
-
Oracle GoldenGate unterstützt die maximale Anzahl von Spalten und Spaltengrößen pro Tabelle, die von der Datenbank unterstützt wird.
-
TRUNCATE TABLE. -
Mehrdimensionale geclusterte Tabellen (MDC).
-
Materialized-Abfrage-Tabellen Oracle GoldenGate repliziert nicht das MQT selbst, sondern nur die Basistabellen. Die Zieldatenbank verwaltet den Inhalt des MQT automatisch basierend auf den Änderungen, die von Replicat auf die Basistabellen angewendet werden.
-
Tabellen mit
ROW COMPRESSION. In Db2 LUW-Version 10.1 und höher wirdCOMPRESS YES STATICunterstützt, undCOMPRESS YES ADAPTIVEwird unterstützt. -
Die Funktion "Erweiterte Zeilengröße" ist standardmäßig aktiviert. Es wird mit einem Workaround unterstützt, der
FETCHCOLSverwendet. Für alle Spaltenwerte, die DatentypenVARCHARoderVARGRAPHICsind und außerhalb der Zeile in der Datenbank gespeichert werden, müssen Sie diese erweiterten Zeilen abrufen, indem Sie diese Spalten mit der OptionFETCHCOLSim ParameterTABLEin der Extraktparameterdatei angeben. Wenn diese Option festgelegt ist, ruft Oracle GoldenGate seinen Wert ab, wenn die Spaltenwerte außerhalb der Zeile liegen. Wenn der Wert außerhalb des Wertes liegt undFETCHCOLSnicht angegeben ist, wird Extract beendet, um einen Datenverlust zu verhindern. Wenn Sie dieses Feature nicht verwenden möchten, setzen Sie den Parameterextended_row_sizeaufDISABLE.Die Funktion "Erweiterte Zeilengröße" ist standardmäßig aktiviert. Es wird mit einem Workaround unterstützt, der
FETCHCOLSfür Db2 LUW 10.1 verwendet. Für alle Spaltenwerte, die DatentypenVARCHARoderVARGRAPHICsind und außerhalb der Zeile in der Datenbank gespeichert werden, müssen Sie diese erweiterten Zeilen abrufen, indem Sie diese Spalten mit der OptionFETCHCOLSim ParameterTABLEin der Extract-Parameterdatei angeben. Wenn diese Option festgelegt ist, ruft Oracle GoldenGate seinen Wert ab, wenn die Spaltenwerte außerhalb der Zeile liegen. Wenn der Wert außerhalb des Wertes liegt undFETCHCOLSnicht angegeben ist, wird Extract abgebrochen, um einen Datenverlust zu verhindern. Wenn Sie dieses Feature nicht verwenden möchten, setzen Sieextended_row_size parameteraufDISABLE. Bei Db2 werden LUW 10.5 und höher von Zeilenwerten nahtlos von Extract erfasst.FETCHCOLSist nicht mehr erforderlich, um Zeilenspalten aus diesen Datenbankversionen zu erfassen. -
Zeitliche Tabellen mit Db2 LUW 10.1 FixPack 2 und höher werden unterstützt. Dies ist der Standardwert für Replicat.
-
Die Replikation zwischen temporalen Systemperiodentabellen und temporalen Anwendungstabellen wird nicht unterstützt.
-
Die Replikation von einer nicht-zeitlichen Tabelle in eine temporale Tabelle wird nicht unterstützt.
-
Die Replikation von temporalen Tabellen mit dem Parameter
INSERTALLRECORDSwird nicht unterstützt. -
Bidirektionale Replikation wird nur mit der Standardreplikation unterstützt.
-
CDR in bidirektionaler Replikation wird nicht unterstützt.
-
CDR in temporalen Anwendungstabellen wird unterstützt.
-
-
Folgende Optionen werden mit dem Befehl
SEND EXTRACT SHOWTRANS\SKIPTRANS\FORCETRANSunterstützt:Unterstützte Optionen mit dem Befehl
SHOWTRANSSHOWTRANS [transaction_ID] [COUNT n] [DURATION duration unit] [TABULAR][FILE file_name] |Optionen mit
SKIPTRANSundFORCETRANS.SKIPTRANS transaction_ID [FORCE] FORCETRANS transaction_ID [FORCE] -
Die Unterstützung der automatischen Heartbeat-Tabelle ist wie folgt eingeschränkt:
-
[THREAD n][DETAIL]wird nicht unterstützt. -
Die Häufigkeit und Löschhäufigkeit der Oracle GoldenGate-Heartbeat-Parameter werden in Sekunden und Tagen akzeptiert. Der LUW-Aufgabenplaner Db2 akzeptiert seinen Zeitplan jedoch nur im Cron-Format, sodass der Oracle GoldenGate-Eingabewert im Cron-Format zu einem Genauigkeitsverlust führen kann. Beispiel:
-
ADD HEARTBEATTABLE, FREQUENCY 150, PURGE_FREQUENCY 20
This example sets the `FREQUENCY` to 150 seconds, which is converted to the closest minute value of 2 minutes, so the heartbeat table is updated every 120 seconds instead of every 150 seconds. Setting `PURGE_FREQUENCY` to 20 means that the history table is purged at midnight on every 20th day.
-
Für die Ausführung der geplanten Heartbeat-Aufgaben sind folgende Schritte erforderlich:
-
Legen Sie die Registry-Variable
DB2_ATS_ENABLEaufdb2set DB2_ATS_ENABLE=YESfest. -
Erstellen Sie den Tablespace
SYSTOOLSPACE, falls er noch nicht vorhanden ist:
CREATE TABLESPACE SYSTOOLSPACE IN IBMCATGROUP MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 4-
Stellen Sie sicher, dass der Instance-Eigentümer über Database Administration Authority (DBADM) verfügt:
GRANT DBADM ON DATABASE TOinstance_owner_name
-
Nicht unterstützte Objekte und Vorgänge für Db2 LUW
Objekte und Vorgänge für Db2 LUW, die von Oracle GoldenGate nicht unterstützt werden, sind:
-
Schema-, Tabellen- oder Spaltennamen mit nachgestellten Leerzeichen
-
Mehrere Instanzen einer Datenbank
-
Extrahierung oder Replikation von DDL-(Data Definition Language-)Vorgängen
-
Generierte Spalten (
GENERATE ALWAYS-Klausel) -
DB2 Data Partitioning Feature (DPF) wird nicht unterstützt. DPF bietet keine Möglichkeit, die Logdatensätze koordiniert über alle Knoten in einer Partition hinweg zu lesen. Es gibt also keine Möglichkeit sicherzustellen, dass selbst wenn alle Knoten mit separaten Extrakten repliziert werden, sichergestellt werden kann, dass alle Datensätze aus allen Transaktionen in der richtigen zeitlichen Reihenfolge angewendet werden. Dies kann auf eine Reihe von Faktoren zurückzuführen sein, darunter das Caching in der Datenbank und das zugrunde liegende Betriebssystem, das es den Extracts nicht ermöglicht, einen Einblick zu erhalten, ob zwischengespeicherte und noch nicht sichtbare Einträge vorhanden sind, die sich auf die Reihenfolge der Datensatzvorgänge in allen Partitionen auswirken können. Aufgrund dieser Unsicherheit kann nicht sichergestellt werden, dass Transaktionen, die sich über Partitionen oder Primärschlüsselaktualisierungen erstrecken, konsistent repliziert werden können.
Systemschemas
Die folgenden Schemas oder Objekte werden nicht automatisch von Oracle GoldenGate repliziert, es sei denn, sie werden explizit ohne Platzhalter angegeben.
-
"SYSIBM" -
"SYSCAT" -
"SYSSTAT" -
"SYSPROC" -
"SYSFUN" -
"SYSIBMADMIN" -
"SYSTOOLS" -
"SYSPUBLIC"
Unterstützte Objektnamen
Eine Liste der Zeichen, die in Objektnamen unterstützt werden, finden Sie unter Unterstützte Datenbankobjektnamen.