ADD SCHEMATRANDATA

Gültig für Oracle.

Mit ADD SCHEMATRANDATA können Sie das ergänzende Logging auf Schemaebene für eine Tabelle aktivieren. ADD SCHEMATRANDATA wird für alle aktuellen und zukünftigen Tabellen in einem angegebenen Schema verwendet und protokolliert automatisch eine Obermenge der verfügbaren Schlüssel, die Oracle GoldenGate für eine Zeilenidentifizierung benötigt.

Hinweis: Oracle GoldenGate 23.6 unterstützt die Aktivierung der logischen Replikation auf Schemaebene für JSON Relational Duality Views (JSON DV) und JSON Collection Tables (JCTs).

Um ADD SCHEMATRANDATA für ein Schema in der PDB einer mehrmandantenfähigen Datenbank auszuführen, müssen Sie sich zur Ausgabe bei der PDB anmelden.

ADD SCHEMATRANDATA ist für Extract gültig und führt folgende Aktionen aus:

Standardmäßig protokolliert ADD SCHEMATRANDATA die Schlüsselspalten einer Tabelle in der folgenden Prioritätsfolge:

  1. Primärschlüssel

  2. Wenn kein Primärschlüssel vorhanden ist, werden alle eindeutigen Schlüssel der Tabelle protokolliert, darunter deaktivierte, nicht verwendbare oder unsichtbare Schlüssel. Eindeutige Schlüssel, die ADT-Member-Spalten enthalten, werden ebenfalls protokolliert. Nur eindeutige Schlüssel für virtuelle Spalten (funktionsbasierte Indizes) werden nicht protokolliert.

  3. Wenn keine der oben genannten Schlüssel vorhanden sind, werden alle skalaren Spalten der Tabelle protokolliert. (Vom System generierte Zeilen-OIDs werden immer protokolliert.)

ADD SCHEMATRANDATA unterstützt auch die bedingten oder nicht bedingten Logginganforderungen für integrierte Replicats.

Verwenden Sie ADD SCHEMATRANDATA in den folgenden Fällen:

Logginganforderungen auf Datenbankebene für UsingADD SCHEMATRANDATA

Oracle empfiehlt dringend, bei Verwendung von Oracle GoldenGate die Quelldatenbank in den Force Logging-Modus zu versetzen und das minimale zusätzliche Logging auf Datenbankebene zu aktivieren. Dadurch werden eventuelle Zeilenverkettungsinformationen für Aktualisierungsvorgänge dem Redo-Log hinzugefügt.

Weitere Überlegungen zu UsingADD SCHEMATRANDATA

Syntax

ADD SCHEMATRANDATA schema
{
[ALLOWNONVALIDATEDKEYS]
[NOSCHEDULINGCOLS | ALLCOLS]}
[NOVALIDATE]
[PARTIALJSON]
[PREPARECSN  {WAIT | LOCK | NOWAIT | NONE}]

schema

Das Schema, für das die zusätzlichen Schlüsselinformationen protokolliert werden sollen. Verwenden Sie keinen Platzhalter. Um ADD SCHEMATRANDATA für Schemas in mehr als einer integrierbaren Datenbank einer mehrmandantenfähigen Containerdatenbank auszugeben, melden Sie sich separat mit DBLOGIN bei jeder integrierbaren Datenbank an, und geben Sie dann ADD SCHEMATRANDATA aus. Im Root-Conatiner können Sie Schematrandata mit dem Containerpräfix ADD SCHEMATRANDATA [pdb_name].schema hinzufügen

Wenn Sie den Befehl aus cdb$root ausführen, legen Sie auch die folgende Benutzerberechtigung auf Datenbankseite fest:

ALTER USER userID SET CONTAINER_DATA = ALL  CONTAINER = CURRENT;

ALLOWNONVALIDATEDKEYS

Sie bezieht Primärschlüssel NON VALIDATED- und NOT VALID-Primärschlüssel in das zusätzliche Logging. Diese Schlüssel setzen die normalen Schlüsselauswahlkriterien von Oracle GoldenGate außer Kraft. Wenn Sie den GLOBALS-Parameter ALLOWNONVALIDATEDKEYS verwenden, wird ADD SCHEMATRANDATA mit ALLOWNONVALIDATEDKEYS ausgeführt, unabhängig davon, ob diese Option angegeben ist oder nicht. Standardmäßig werden NON VALIDATED- und NOT VALID-Primärschlüssel nicht protokolliert (siehe GLOBALS-Parameter ALLOWNONVALIDATEDKEYS).

NOSCHEDULINGCOLS | ALLCOLS

Mit diesen Optionen steuern Sie das zusätzliche Logging für eine Oracle-Zieldatenbank. Sie können diese Optionen zusammen verwenden. Allerdings wird dann die zweite Option verwendet. Beispiel: Beim Befehl ADD SCHEMATRANDATA oggadm_ext ALLCOL NOSCHEDULINGCOLS wird die Option NOSCHEDULINGCOLS verwendet.

NOSCHEDULINGCOLS

Deaktiviert das Logging der Planungsspalten. Standardmäßig aktiviert ADD SCHEMATRANDATA das nicht bedingte Logging des Primärschlüssels und das bedingte zusätzliche Logging aller eindeutigen Schlüssel und Fremdschlüssel aller aktuellen und zukünftigen Tabellen im angegebenen Schema. Beim nicht bedingten Logging wird das Schreiben des Primärschlüssels in das Log erzwungen, unabhängig davon, ob der Schlüssel im aktuellen Vorgang geändert wurde. Beim bedingten Logging werden alle Spaltenwerte eines Fremdschlüssels oder eindeutigen Schlüssels protokolliert, wenn mindestens einer davon im aktuellen Vorgang geändert wurde. Der Primärschlüssel, die eindeutigen Schlüssel und die Fremdschlüssel des integrierten Replicats müssen allesamt für den Eingangsserver verfügbar sein, um Abhängigkeiten zu berechnen.

Wenn Sie auto_capture aktivieren, verwenden Sie diese Option nicht. Dadurch können Tabellen in diesem Schema automatisch erfasst werden, es sei denn, die Tabelle wird explizit für eine Replikation ausgeschlossen/deaktiviert (z.B. über TABLEEXCLUDE, DELETE TRANDATA oder ALTER TABLE DISABLE LOGICAL REPLICATION DDL).

ALLCOLS

Aktiviert das nicht bedingte zusätzliche Logging aller unterstützten Schlüssel- und Nicht-Schlüsselspalten für alle aktuellen und zukünftigen Tabellen im angegebenen Schema. Mit dieser Option aktivieren Sie das Logging der Schlüssel, die zum Berechnen von Abhängigkeiten erforderlich sind, sowie Spalten, die für Filterung, Konfliktlösung oder andere Zwecke benötigt werden. Spalten wie LOB, LONG und ADT sind dabei nicht eingeschlossen.

NOVALIDATE

Gültig für alle Datenbanken, die von ADD SCHEMATRANDATA unterstützt werden.

Unterdrückt zusätzliche Informationen zur Tabelle, die von ADD SCHEMATRANDATA verarbeitet wird. Standardmäßig ist diese Option aktiviert. Die Verarbeitung zusätzlicher Informationen führt zu einer Verzögerung bei der Befehlsantwort. Sie können die Antwortzeit mit dieser Option also erhöhen.

PARTIALJSON

Gültig für Oracle.

Ruft JSON-Teilaktualisierungen auf Schemaebene ab. Wenn diese Option aktiviert ist, enthält das Redo JSON-Teildatensätze.

Siehe auch Parameter TRANLOGOPTIONS FETCHPARTIALJSON.

PREPARECSN {WAIT | LOCK | NOWAIT | NONE}

Gültig für Oracle für DML und DDL.

Bereitet die Tabellen in der Quelle automatisch vor, sodass die Exportdumpdatei von Oracle Data Pump Instanziierungs-CSNs enthält. Replicat verwendet die tabellenbezogene Instanziierungs-CSN, die (beim Import) von Oracle Data Pump festgelegt wird, um Traildatensätze herauszufiltern. Im Ziel füllt der Datenpumpe-Import die Systemtabellen und -Views mit Instanziierungs-SCNs, um die Instanziierungsfilterung in Tabellenebene zu ermöglichen. Verwenden Sie dazu den Parameter DBOPTIONS ENABLE_INSTANTIATION_FILTERING.

WAIT

Warten Sie auf In-Flight-Transaktionen, und bereiten Sie die Tabelleninstanziierung vor.

LOCK

Sperren Sie die Tabelle (als Vorbereitung auf die Tabelleninstanziierung).

NOWAIT

Standardverhalten. Dabei wird die Instanziierung sofort vorbereitet.

NONE

Die Instanziierung wird nicht vorbereitet.

Beispiel


Mit dem folgenden Befehl aktivieren Sie das ergänzende Logging für das Schema hr.

ADD SCHEMATRANDATA hr

Im folgenden Beispiel werden alle unterstützten Schlüssel- und Nicht-Schlüsselspalten für alle aktuellen und zukünftigen Tabellen im Schema hr protokolliert.

ADD SCHEMATRANDATA hr ALLCOLS

Im folgenden Beispiel wird die Verarbeitung zusätzlicher Tabelleninformationen unterdrückt.

ADD SCHEMATRANDATA hr NOVALIDATE