Änderungen der Tabellenentwicklung von Quelle zu Ziel propagieren
Oracle GoldenGate repliziert die Tabellenänderungen einschließlich der fehlenden Tabellenereignisse. Wenn AUTOSCHEMA aktiviert ist, wird das fehlende Tabellenereignis bei der Tabellenzuordnung erkannt, insbesondere bei der Verarbeitung des Tabellendefinitions-Records (TDR) aus der Traildatei.
Die folgenden Schritte erläutern diesen Workflow:
-
Replicat versucht, die Metadaten der Zieltabelle aufzulösen. Wenn die Metadatenauflösung mit dem Fehler
object not foundnicht erfolgreich verläuft, gibt dies an, dass die Zieltabelle nicht in der Zieldatenbank vorhanden ist. -
Wenn die
AUTOSCHEMA-Funktionalität aktiviert ist, wird dieCREATE TABLE-Anweisung für die fehlende Zieltabelle basierend auf den Quellmetadaten im TDR-Datensatz generiert.-
Die auf dem Zieldatenbanktyp basierende Standardvorlage für die Datentypzuordnung wird bei der Auswahl geeigneter Datentypen für die Spalten der Zieltabelle verwendet.
-
Die
CREATE TABLE-Anweisung wird basierend auf der SQL-Syntax der Zieldatenbank unter Berücksichtigung der Benutzervoreinstellungen generiert, sofern angegeben. Sie können die folgenden Voreinstellungen angeben:-
Zieltabellenname, wie in der
TARGET-Klausel des entsprechenden MAP-Statemenets in der Replicat-Parameterdatei angegeben. -
Standardmäßig sind die Namen für die Zieltabellenspalten identisch mit den Quelltabellenspalten. Sie können jedoch mit
COLMAPverschiedene Namen auswählen. -
Sie können benutzerdefinierte Datentypnamen (in der Zieldatenbank verfügbar) für bestimmte Quelldatentypnamen (oder Quellspalten) mit
TYPEMAPauswählen. Geeignet für Fälle, in denen die unterstützten Datentypen (und ihre Limits) zwischen Quell- und Zieldatenbanken unterschiedlich sein können.
-
-
-
Die Erstellung neuer Tabellen mit den generierten
CREATE TABLE-Anweisungen wird automatisch vom Replikationsprozess verarbeitet, sofern der Vorgang die konfigurierten Filterkriterien (wieINCLUDE/EXCLUDE-Regeln) erfüllt. Wenn ein temporäres Problem auftritt, versucht das System, die Änderung je nach den konfigurierten Wiederholungseinstellungen mehrmals anzuwenden. Wenn die Änderung nach diesen Wiederholungen weiterhin nicht angewendet werden kann, wird die Replikation gestoppt, und es wird ein Fehler gemeldet.
Spaltenentwicklung in Zieltabellen propagieren
Die fehlende Spalte im Zieltabellenereignis wird während der Tabellenzuordnung ermittelt. Genauer gesagt bei der Verarbeitung des Tabellendefinitions-Records (TDR).
-
Replicat versucht, die Metadaten der Zieltabelle aufzulösen. In diesem Fall schlägt die Metadatenauflösung nicht fehl, da die Zieltabelle vorhanden ist. Es wird jedoch eine gültige Zieltabellendefinitionsstruktur zurückgegeben.
-
Wenn
AUTOSCHEMAaktiviert ist, werden die Metadaten in der Zieltabellendefinition mit den Metadaten der Quelltabelle im eingehenden TDR-Datensatz verglichen. Damit werden alle zusätzlichen Spalten in den Metadaten der Quelltabelle im TDR-Datensatz ermittelt, die in der Zieltabellendefinition nicht verfügbar sind und im vorherigen Schritt abgerufen wurden.-
Die Standardvorlage für die Datentypzuordnung gemäß dem Zieldatenbanktyp wird bei der Auswahl der am besten geeigneten Datentypen für die neuen Spalten der Zieltabelle verwendet.
-
Die
ALTER TABLE ADD COLUMN-Anweisung wird basierend auf der SQL-Syntax der Zieldatenbank generiert.Sie können benutzerdefinierte Datentypnamen (in der Zieldatenbank verfügbar) für bestimmte Quelldatentypnamen (oder Quellspalten) auswählen. Geeignet für Fälle, in denen die unterstützten Datentypen (und ihre Limits) zwischen Quell- und Zieldatenbanken unterschiedlich sein können.
-
-
Wenn solche zusätzlichen Spalten identifiziert sind, wird die
ALTER TABLE ADD COLUMN-Anweisung für die vorhandene Zieltabelle basierend auf den Quellmetadaten im TDR-Datensatz generiert (genauer gesagt die zusätzlichen Spalten im TDR-Datensatz).
Die Ausführung der generierten ALTER TABLE DDL wird von der vorhandenen DDL-Replikationsinfrastruktur nur ausgeführt, wenn die entsprechende DDL die DDL-Dateitringkriterien (DDL INCLUDE/EXCLUDE-Kriterien mit den Optionen OBJTYPE/OPTYPE/OBJNAME) übergibt. Da die DDL-Replikationsinfrastruktur auch für AUTOSCHEMA verwendet wird, wird auch die Wiederholungslogik für nicht schwerwiegende Fehlercodes verwendet. Die Wiederholungslogik weist außerdem eine konfigurierbare Anzahl von Wiederholungen und eine Verzögerung zwischen Wiederholungen auf. Wenn die generierte DDL-Ausführung auch nach den Wiederholungen nicht erfolgreich verläuft, wird Replicat abgebrochen.