So wird DDL zur Verarbeitung ausgewertet

Erfahren Sie mehr über die Reihenfolge, in der verschiedene Kriterien in den Oracle GoldenGate-Parametern verarbeitet werden, sowie über die Unterschiede zwischen Extract und Replicat bei jedem Prozess der DDL.

Extract 1. Extract erfasst eine DDL-Anweisung.

  1. Extract trennt Kommentare (sofern vorhanden) von der Hauptanweisung.

  2. Extract sucht nach dem Parameter DDL. (Dieses Beispiel geht davon aus, dass es existiert.)

  3. Extract sucht nach dem Parameter IGNOREREPLICATES. Wenn es vorhanden ist und Replicat diese DDL auf diesem System erzeugt hat, ignoriert Extract die DDL-Anweisung. (In diesem Beispiel wird davon ausgegangen, dass keine Replicat-Vorgänge auf diesem System ausgeführt werden.)

  4. Extract bestimmt, ob die DDL-Anweisung eine RENAME ist. Wenn ja, wird die Umbenennung intern gekennzeichnet.

  5. Extract ruft den Basisobjektnamen und, falls vorhanden, den abgeleiteten Objektnamen ab.

  6. Wenn die Anweisung eine RENAME ist, ändert Extract sie in ALTER TABLE RENAME.

  7. Extract sucht nach dem Parameter DDLOPTIONS REMOVECOMMENTS BEFORE. Wenn vorhanden, entfernt Extract die Kommentare aus der DDL-Anweisung, speichert sie jedoch für den Fall, dass eine DDL INCLUDE- oder DDL EXCLUDE-Klausel vorhanden ist, die INSTR oder INSTRCOMMENTS verwendet.

  8. Extract bestimmt den DDL-Geltungsbereich: MAPPED, UNMAPPED oder OTHER:

    • Der Wert lautet MAPPED, wenn der Vorgang und die Objekttypen für die Zuordnung unterstützt werden und der Basisobjektname und/oder der abgeleitete Objektname (wenn RENAME) in einem TABLE-Parameter enthalten sind.

    • Der Wert lautet UNMAPPED, wenn der Vorgang und die Objekttypen für die Zuordnung nicht unterstützt werden und der Basisobjektname und/oder der abgeleitete Objektname (wenn RENAME) nicht in einem TABLE-Parameter enthalten sind.

    • Sonst wird der Vorgang als OTHER gekennzeichnet.

  9. Extract prüft den Parameter DDL für die Klauseln INCLUDE und EXCLUDE und wertet die Parameterkriterien DDL in diesen Klauseln aus. Alle Optionen müssen als TRUE ausgewertet werden, damit INCLUDE oder EXCLUDE als TRUE ausgewertet werden kann. Folgendes geschieht:

    • Wenn eine EXCLUDE-Klausel den Wert TRUE ergibt, verwirft Extract die DDL-Anweisung und wertet eine andere DDL-Anweisung aus. In diesem Fall beginnen die Verarbeitungsschritte von vorne.

    • Wenn eine INCLUDE-Klausel den Wert TRUE ergibt oder wenn der Parameter DDL keine INCLUDE- oder EXCLUDE-Klauseln enthält, enthält Extract die DDL-Anweisung, und die Verarbeitungslogik wird fortgesetzt.

  10. Extract sucht nach einem DDLSUBST-Parameter und wertet die Klauseln INCLUDE und EXCLUDE aus. Wenn die Kriterien in diesen Klauseln TRUE ergeben, führt Extract eine Zeichenfolgenersetzung aus. Extract wertet die DDL-Anweisung für jeden DDLSUBST-Parameter in der Parameterdatei aus. Für alle echten DDLSUBST-Spezifikationen führt Extract eine Zeichenfolgenersetzung in der Reihenfolge aus, in der die DDLSUBST-Parameter in der Datei aufgeführt sind.

  11. Nachdem DDLSUBT verarbeitet wurde, sucht Extract nach dem Parameter REMOVECOMMENTS AFTER. Wenn vorhanden, entfernt Extract die Kommentare aus der DDL-Anweisung.

  12. Extract sucht nach DDLOPTIONS ADDTRANDATA. Wenn er vorhanden ist und der Vorgang CREATE TABLE ist, gibt Extract den Befehl ALTER TABLE name ADD SUPPLEMENTAL LOG GROUP für die Tabelle aus.

  13. Extract schreibt die DDL-Anweisung in den Trail.