Details zur Unterstützung von Objekten und Vorgängen in Oracle DML
Im Folgenden finden Sie eine Liste der Oracle-Objekte und -Vorgänge, die Oracle GoldenGate für die Erfassung und Replikation von DML-Vorgängen unterstützt.
Mehrmandanten-Containerdatenbank
Oracle GoldenGate erfasst und liefert eine mehrmandantenfähige Containerdatenbank. Siehe Mehrmandanten-Containerdatenbank konfigurieren.
Oracle GoldenGate unterstützt die Root-to-End-Replikation des Anwendungscontainers nicht
Tabellen, Views und Materialized Views
Die folgenden DML-Vorgänge werden für reguläre Tabellen, indexorganisierte Tabellen, geclusterte Tabellen und Materialized Views unterstützt:
-
INSERT -
UPDATE -
DELETE -
Zugeordnete Transaktionskontrollvorgänge
Ab Oracle GoldenGate 23ai sind die folgenden Features für Tabellen verfügbar:
-
Spalte 4K in Tabellen mit einer Zeilengröße von weniger als 4 MB
-
Blockchain und unveränderliche Tabellen
Weitere Informationen finden Sie unter Limitations of Support for Blockchain and Immutable Tables.
Tipp:
Mit der Data Dictionary-View DBA_GOLDENGATE_SUPPORT_MODE können Sie Informationen über die Ebene der Oracle GoldenGate-Capture-Prozessunterstützung für die Tabellen in der Datenbank anzeigen. Der PLSQL-Wert von DBA_GOLDENGATE_SUPPORT_MODE gibt an, dass die Tabelle nativ unterstützt wird, aber ein prozedurales zusätzliches Logging erfordert. Weitere Informationen finden Sie in der DBA_GOLDENGATE_SUPPORT_MODE. Wenn Sie alle Tabellen anzeigen müssen, die keine primären und keine eindeutigen Indizes haben, können Sie die DBA_GOLDENGATE_NOT_UNIQUE verwenden. Weitere Informationen finden Sie unter DBA_GOLDENGATE_NOT_UNIQUE.
Einschränkungen bei der Unterstützung für reguläre Tabellen
Diese Einschränkungen gelten für Extract.
-
Oracle GoldenGate unterstützt Tabellen, die eine beliebige Anzahl von Zeilen enthalten.
-
Eine Zeile kann bis zu 4 MB lang sein. Wenn Oracle GoldenGate so konfiguriert ist, dass sowohl das Vorher- als auch das Nachher-Image einer Spalte in ihren Verarbeitungsgeltungsbereich aufgenommen wird, gilt die maximale Länge von 4 MB für die Gesamtlänge des vollständigen Vorbilds plus die Länge des Nachbilds. Beispiel: Wenn
UPDATE-Vorgänge für Spalten vorhanden sind, die als Zeilen-ID verwendet werden, werden die Vorher- und Nachher-Bilder verarbeitet und dürfen insgesamt 4 MB nicht überschreiten. Vorher- und Nachher-Bilder sind auch für Spalten erforderlich, die keine Zeilen-IDs sind, aber als Vergleichsspalten bei der Konflikterkennung und -auflösung (CDR) verwendet werden. Zeichenspalten, die mehr als 4 KB Daten zulassen, wie z. B. eineCLOB, weisen nur die ersten 4 KB Daten auf, die in der Zeile gespeichert sind und zur maximalen Zeilenlänge von 4 MB beitragen. Binärspalten, die mehr als 4 KB Daten zulassen, wie z. B. eineBLOB, werden die ersten 8 KB Daten in der Zeile gespeichert und tragen zur maximalen Zeilenlänge von 4 MB bei. -
Oracle GoldenGate unterstützt die maximale Anzahl von Spalten pro Tabelle, die von der Datenbank unterstützt wird.
-
Oracle GoldenGate unterstützt die von der Datenbank unterstützte maximale Spaltengröße.
-
Oracle GoldenGate unterstützt Tabellen, die nur eine Spalte enthalten, es sei denn, die Spalte enthält einen der folgenden Datentypen:
-
LOB -
LONG -
LONG VARCHAR -
Nested table -
Benutzerdefinierte Art (UDT)
-
VARRAY -
XMLType
-
-
Legen Sie
DBOPTIONS ALLOWUNUSEDCOLUMNfest, bevor Sie Tabellen mit nicht verwendeten Spalten replizieren. -
Oracle GoldenGate unterstützt Tabellen mit den folgenden Partitionierungsattributen:
-
Range-Partitionierung
-
Hash-Partitionierungsintervall-Partitionierung
-
Composite-Partitionierung
-
Virtuelle spaltenbasierte Partitionierung
-
Referenzpartitionierung
-
List-Partitionierung
-
-
Oracle GoldenGate unterstützt Tabellen mit virtuellen Spalten, erfasst jedoch keine Änderungsdaten für diese Spalten oder wendet Änderungsdaten an: Die Datenbank schreibt keine virtuellen Spalten in das Transaktionslog, und die Oracle AI Database lässt DML in virtuellen Spalten nicht zu. Aus dem gleichen Grund können Daten zum erstmaligen Laden nicht auf eine virtuelle Spalte angewendet werden. Sie können die Daten aus virtuellen Spalten nicht-virtuellen Zielspalten zuordnen.
-
Oracle GoldenGate berücksichtigt keine eindeutigen/indizierten virtuellen Spalten.
-
Oracle GoldenGate unterstützt die Replikation auf und von Oracle Exadata. Um die Exadata Hybrid Columnar Compression zu unterstützen, muss die Kompatibilität der Quelldatenbank auf 11.2.0.0.0 oder höher eingestellt sein.
-
Oracle GoldenGate unterstützt Transparent Data Encryption (TDE).
-
Oracle GoldenGate unterstützt
TRUNCATE-Anweisungen als Teil der DDL-Replikationsunterstützung oder als eigenständige Funktionalität, die von der DDL-Unterstützung unabhängig ist. -
Oracle GoldenGate unterstützt die Erfassung von Direct-Load
INSERT, mit Ausnahme von SQL*Loader Direct-Path Insert für XML Binary und XML Object Relational. Zusätzliches Logging muss aktiviert sein, und die Datenbank muss sich im Archive Log-Modus befinden. Die folgenden Direct-Load-Methoden werden unterstützt.-
/*+ APPEND */-Hinweis -
/*+ PARALLEL */-Hinweis -
SQLLDRmitDIRECT=TRUE
-
-
Oracle GoldenGate unterstützt die Erfassung aus komprimierten Objekten für Extract vollständig.
-
Oracle GoldenGate unterstützt verteilte XA- und PDML-Transaktionen.
-
Oracle GoldenGate unterstützt DML-Vorgänge für Tabellen, für die
FLASHBACK ARCHIVEaktiviert ist. Oracle GoldenGate unterstützt jedoch keine DDL, die Tabellen mit derFLASHBACK ARCHIVE-Klausel oder DDL erstellt, ändert oder löscht das Flashback Data Archive selbst.
Einschränkungen bei der Unterstützung von Ansichten
Diese Einschränkungen gelten für Extract.
-
Oracle GoldenGate unterstützt Capture aus einer Ansicht, wenn Extract sich im Modus zum erstmaligen Laden befindet (direkte Erfassung aus der Quellansicht, nicht aus dem Redo Log).
-
Oracle GoldenGate erfasst keine Änderungsdaten aus einer Ansicht, unterstützt jedoch die Erfassung aus den zugrunde liegenden Tabellen einer Ansicht.
Einschränkungen der Unterstützung für Materialized Views
Materialized Views werden von Extract mit den folgenden Einschränkungen unterstützt.
-
Die
WITH ROWIDerstellten Materialized Views werden nicht unterstützt. -
Das Materialized View-Log kann
WITH ROWIDerstellt werden. -
Die Quelltabelle muss über einen Primärschlüssel verfügen.
-
Abkürzungen von Materialized Views werden nicht unterstützt. Sie können eine
DELETE FROM-Anweisung verwenden. -
DML (aber nicht DDL) aus einer vollständigen Aktualisierung einer Materialized View wird unterstützt. Wenn DDL-Unterstützung für dieses Feature erforderlich ist, öffnen Sie einen Oracle GoldenGate-Supportfall.
-
Für Replicat muss der Befehl
Create MVdieFOR UPDATE-Klausel enthalten -
Entweder Materialized Views können repliziert werden oder die zugrunde liegenden Basistabellen, aber nicht beides.
Einschränkungen der Unterstützung für Blockchain und unveränderliche Tabellen
Ab Oracle AI Database 26ai werden unveränderliche und Blockchain-Tabellen unterstützt. Folgende Vorgänge werden für das Feature unterstützt:
Unterstützung für One-Way-Replikation
-
Sowohl die Blockchain-Tabellenversionen v1 (in Oracle Database 19.10 eingeführt) als auch v2 (in Oracle AI Database 26ai eingeführt) sowie die unveränderlichen Tabellenversionen v1 (in Oracle Database 19.11 eingeführt) und v2 (in Oracle AI Database 26ai eingeführt) werden für alle Replicats mit Ausnahme des koordinierten Replicats unterstützt.
-
Interoperabilität zwischen Typen und Versionen:
-
Unterstützung für die Replikation von Blockchain- und unveränderlichen Tabellen jeder Version an der Quelle in konventionelle Tabellen am Ziel.
-
Keine Unterstützung für die Replikation herkömmlicher Tabellen an der Quelle in einer Blockchain und unveränderlichen Tabellen jeder Version am Ziel.
-
-
DML-, DDL- und Prozedurreplikation müssen aktiviert sein. Bei der Prozedurreplikation muss die Blockchain-Tabelle angehängt werden.
-
Löschvorgänge abgelaufener Zeilen werden nicht repliziert. Der Ablauf wird von jedem Datenbanksystem separat verwaltet.
Unterstützung für bidirektionale (Active-Active) Replikation
-
Unterstützung nur für Version v2.
-
Unterstützung für paralleles Replicat im integrierten Modus und nur integriertes Replicat.
-
ACDR muss konfiguriert sein. ACDR für Blockchain und unveränderliche Tabellen enthält die folgenden Auflösungsmethoden:
-
Spätester Zeitstempel
-
Frühester Zeitstempel Hinweis: Es werden keine anderen Auflösungsmethoden (wie Spaltengruppe oder Deltaauflösung) unterstützt. Es gibt keine Unterstützung für manuelles CDR.
-
-
Eine Blockchain oder unveränderliche Tabelle kann höchstens einen Primärschlüssel oder ein eindeutiges Constraint aufweisen und keine eindeutigen Indizes aufweisen.
-
Primärschlüssel- oder Unique-Key-Constraint für Blockchain oder unveränderliche Tabellen für ACDR verwendet nicht eindeutige Indizes.
-
ACDR verwaltet nur INSERT-INSERT-Konflikte, da Blockchain und unveränderliche Tabellen nur INSERT-Tabellen sind. ACDR fügt zwei ausgeblendete Spalten für Zeitstempel (
CDRTS$ROW) und Sichtbarkeit (ORABCTAB_INVISIBLE$) hinzu.
Diese ausgeblendeten Spalten funktionieren wie folgt:
ACDR löst einen Konflikt auf und behält beide Kopien des Datensatzes bei. Es markiert einen unvereinbaren INSERT, der normalerweise verworfen oder überschrieben worden wäre, als logisch ungültig, indem die ausgeblendete Spalte
ORABCTAB_INVISIBLE$auf 1 gesetzt wird. Infolgedessen können mehrere Zeilen mit demselben Schlüsselwert vorhanden sein, aber maximal 1 Zeile für jeden Schlüssel ist gültig, undORABCTAB_INVISIBLE$ist auf 0 gesetzt. -
Automatische DML-Erfassung
Oracle GoldenGate unterstützt die folgenden DML-Vorgänge mit dem Modus für automatische Erfassung:
-
Parameter
TABLEEXCLUSIONwird unterstützt. -
Parameter
TABLEwird unterstützt. -
Extract schreibt die von der Datenbank bereitgestellten Tabellen-DML-Datensätze für die automatische Erfassung in die Traildatei.
Systempartitionierung
Die Systempartitionierung ist eine Oracle AI Database-Funktion, mit der eine Tabelle mit benannten Partitionen erstellt werden kann. Eine systempartitionierte Tabelle wird nicht von der Datenbank verwaltet. Jede DML muss die Partition angeben, in der sich die Zeile befinden soll. Extract und alle Modi der Replicat-Supportsystempartitionierung. Jeder Header eines Traildateidatensatzes, der zu einer systempartitionierten Tabelle gehört, enthält den Partitionsnamen. Ab Oracle GoldenGate 21c wird ein Partitionsnamensdatensatz (PNR) für systempartitionierte Tabellen generiert, wenn er im Parameter PARTITION enthalten ist.
Siehe PARTITION \| PARTITIONEXCLUDE in der Referenz zu Parametern und Funktionen für Oracle GoldenGate.
Sequenzen und Identity-Spalten
-
Identitätsspalten werden ab der Oracle-Datenbank 18c unterstützt und erfordern Extract, paralleles Replicat im integrierten Modus oder integriertes Replicat.
Hinweis: Die Replikation von systemgenerierten Sequenzen für Identitätsspalten wird nicht unterstützt.
-
Oracle GoldenGate unterstützt die Replikation von Sequence-Werten und Identitätsspalten in einer nicht-idirektionalen und Active/Passive High Availability-Konfiguration.
-
Oracle GoldenGate stellt sicher, dass die Zielsequenzwerte immer höher als die der Quelle sind (oder gleich sind, wenn der Cache null ist).
Einschränkungen bei der Unterstützung von Sequenzen
Diese Einschränkungen gelten für Extract.
-
Oracle GoldenGate unterstützt die Replikation von Sequenzwerten in einer aktiv-aktiven bidirektionalen Konfiguration nicht.
-
Die Cachegröße und das Inkrementintervall der Quell- und Zielsequenzen müssen identisch sein. Der Cache kann beliebig groß sein, einschließlich 0 (
NOCACHE). -
Die Sequenz kann auf "Zyklus" oder "Nicht-Zyklus" gesetzt werden, die Quell- und Zieldatenbank müssen jedoch auf dieselbe Weise festgelegt werden.
-
Tabellen mit Standardsequenzspalten werden von der Replikation für Extract ausgeschlossen.
Nicht unterstützte Objekte und Vorgänge in Oracle DML
Im Folgenden werden weitere Oracle-Objekte oder -Vorgänge aufgeführt, die von Extract nicht unterstützt werden:
-
REFwerden aus Gründen der Kompatibilität mit Oracle Database 12.2 und höher nativ unterstützt, jedoch nicht auf Primärschlüsseln basierendesREFs(PKREFs) -
Sequenzwerte in einer aktiv-aktiven bidirektionalen Konfiguration
-
Datenbankwiedergabe
-
Tabellen, die als
EXTERNALerstellt wurden