Mit der Standard- oder Advanced-Lizenz verfügbar.
Wenn ein Replikat erstellt wird, werden Daten und Schema aus der Parent-Geodatabase in die Child-Geodatabase kopiert. Die Daten enthalten die Zeilen, die aus den Datasets im Replikat repliziert werden sollen. Das Schema besteht aus den Feldern, Domänen, Subtypes und der Definition der Datasets in den replizierten Daten.
Anfangs sind die Schemas in beiden Replikaten identisch. Im Lauf der Zeit jedoch werden möglicherweise Änderungen auf die einzelnen Replikat-Geodatabase-Schemas angewendet. Beispielsweise erfordert ein Replikat zusätzliche Felder, um ein Projekt abzuschließen, während das relative Replikat möglicherweise eine neue Domäne auf ein bestehendes Feld anwenden muss. In diesem Fall sind die Schemas der Replikat-Geodatabases nicht mehr identisch. Sie können Geoverarbeitungswerkzeuge verwenden, um Replikat-Geodatabase-Schemas zu vergleichen, Unterschiede zu ermitteln und das Schema zwischen den beiden Geodatabases zu synchronisieren (nur bei bestimmten Arten von Schemaänderungen).
Durch Schemaänderungen wird die Struktur bzw. Definition von Objekten in einer Geodatabase, z. B. Tabellen und Feature-Classes, geändert. Aus diesem Grund werden Schemaänderungen direkt auf die Objekte einer Geodatabase angewendet und sind nicht auf bestimmte Versionen beschränkt.
Werkzeuge für Replikatschemas
Es gibt drei Geoverarbeitungswerkzeuge, die beim Arbeiten mit Replikatschema-Änderungen verwendet werden:
- Replikatschema exportieren: Erstellt eine Replikatschemadatei mit dem Schema eines als Eingabe verwendeten unidirektionalen oder bidirektionalen Replikats.
- Replikatschema vergleichen: Generiert eine .xml-Datei, die Schemaabweichungen zwischen einer Replikat-Geodatabase und der relativen Replikat-Geodatabase beschreibt.
- In der mit diesem Werkzeug generierten Schemaänderungsdatei werden die Änderungen beschrieben, die auf die Replikat-Geodatabase angewendet werden müssen, damit sie mit der relativen Replikat-Geodatabase übereinstimmt.
- Replikatschema importieren: Wendet Replikatschemaabweichungen mithilfe einer Eingabe-Replikat-Geodatabase und einer .xml-Datei an.
Auf die Werkzeuge für Schemaänderungen kann an den folgenden Positionen in der Software zugegriffen werden:
- Im Bereich Geoverarbeitung können Sie die Suchoption verwenden oder zur Toolbox Distributed Geodatabase navigieren.
- Im Bereich Replikate verwalten können Sie das Menü "Replikate verwalten" verwenden.
- Im Bereich Katalog können Sie mit der rechten Maustaste auf eine Geodatabase klicken und auf das Kontextmenü Verteilte Geodatabase zugreifen.
Anweisungen zum Anwenden von Schemaänderungen auf eine relative Replikat-Geodatabase finden Sie unter Verwalten von Geodatabase-Replikaten.
Hinweis:
Beim Ändern des Schemas eines Replikats zur Anpassung an das Schema eines relativen Replikats handelt es sich um einen von der Datensynchronisierung getrennten Prozess.
Gültige Schemaänderungen
In der folgenden Tabelle sind die Typen von Schemaänderungen aufgeführt, die Sie mit dem Geoverarbeitungswerkzeug Replikatschema importieren in die relative Replikat-Geodatabase importieren können. Die Werte in der Tabelle geben an, ob und wie die Schemaänderungen auf die relative Replikat-Geodatabase angewendet werden.
Hinzufügen | Änderung | |
---|---|---|
Feld | Felder, die Tabellen oder Feature-Classes hinzugefügt wurden, werden synchronisiert. | Änderungen an Domänen, die auf Felder angewendet wurden, werden synchronisiert. |
Domäne | Neue Domänen werden synchronisiert. | Änderungen an Domänendefinitionen werden synchronisiert. |
Tabelle oder Feature-Class |
Hinzugefügte Felder und Domänen, die auf Felder in Tabellen angewendet wurden, werden synchronisiert. |
Gelöschte Felder, Tabellen oder Feature-Classes werden nicht mit der relativen Replikat-Geodatabase synchronisiert (d. h. sie werden nicht daraus entfernt).
Entfernen von Datasets aus einem Replikat
In einer Replikat-Geodatabase wird eine Liste der an den einzelnen Replikaten beteiligten Datasets gespeichert. Diese Liste können Sie im Dialogfeld Replikateigenschaften anzeigen. Anweisungen zum Öffnen dieser Eigenschaften finden Sie unter Verwalten von Geodatabase-Replikaten.
Wenn Sie für eines dieser Datasets die Registrierung im Replikat aufheben, wird eine Warnung angezeigt. Wenn Sie fortfahren, wird das Dataset aus der Liste der Replikat-Datasets entfernt. Beachten Sie außerdem Folgendes:
- Wenn Sie die Registrierung einer Tabelle, Feature-Class oder Beziehungsklasse aufheben, können Sie diese nicht wieder dem Replikat hinzufügen.
- Wenn Sie die Registrierung einer Topologie aufheben, können Sie diese nicht wieder dem Replikat hinzufügen. Die Replikate werden nach wie vor synchronisiert, die Synchronisierung von Topologieausnahmen wird jedoch nicht unterstützt.
Verwalten von Schemaabweichungen
Die Geodatabase-Replikation ist darauf ausgelegt, dass bestimmte Schemaabweichungen zwischen Replikat-Geodatabases zulässig sind, während die ordnungsgemäße Funktion der Datensynchronisierung in den meisten Fällen gewahrt wird.
Wenn Sie allerdings eine Schemaänderung auf eine Replikat-Geodatabase anwenden, auf die andere dagegen nicht, können die folgenden Probleme auftreten:
- Nicht synchronisierte Änderungen: Bei der Datensynchronisierung werden nur Änderungen für Tabellen und Felder importiert, die in beiden Replikaten enthalten sind. Wenn ein Feld bearbeitet wird, das sich nicht in der relativen Replikat-Geodatabase befindet, wird die Bearbeitung beim Importieren der Änderungen in die Replikat-Geodatabase nicht angewendet.
- Ungültige Werte: Beim Synchronisieren von Änderungen werden Änderungen, die Regeln für Domänen, Subtypes und Beziehungen verletzen, angewendet.
- Fehler bei der Datensynchronisierung: Dieser Fall kann eintreten, wenn Sie manuell eine Schemaänderung an beiden Replikat-Geodatabases vornehmen. Beispiel: Wenn Sie einer Tabelle ein Feld hinzufügen, müssen Sie sicherstellen, dass Sie in beiden Geodatabases des Replikatpaares dieselbe Felddefinition verwenden. Bei Abweichungen – zum Beispiel wenn das Feld in einer Replikat-Geodatabase vom Typ "String" ist, in der anderen jedoch vom Typ "Integer" – tritt ein Datensynchronisierungsfehler auf.
- Nicht unterstützte Änderungen: Manche Arten von Schemaänderungen können zu Synchronisierungsfehlern führen, ohne dass beim Vornehmen der Änderung eine Warnung angezeigt wird. Diese Änderungen können vom Geodatabase-Replikationssystem nicht erkannt werden. Dazu gehören Vorgänge auf Datenbankebene wie das Ändern von Berechtigungen für Tabellen in der Datenbank. Wenn die Berechtigungen für replizierte Daten in schreibgeschützten Zugriff geändert werden, tritt beim Importieren von Änderungen aus der relativen Replikat-Geodatabase ein Fehler auf.
Best Practices
Im Allgemeinen sollten Schemaänderungen vermieden werden. Schemaänderungen können zu Inkonsistenzen zwischen Replikaten führen, und das zusätzlich notwendige Anwenden von Schemaänderungen kann Performance-Einbußen verursachen. Es gibt allerdings Fälle, in denen Schemaänderungen angewendet werden müssen. Mit den folgenden Empfehlungen können Schemaänderungen vermieden werden:
- Anwenden regelmäßiger Schemavergleiche: Da die Replikation fehlertolerant ist, werden Synchronisierungsprozesse aller Wahrscheinlichkeit nach durch Schemaänderungen nicht unterbrochen. Es empfiehlt sich allerdings, regelmäßig einen Schemavergleich durchzuführen, um sicherzustellen, dass keine nicht geplanten Schemaänderungen angewendet wurden.
- Synchronisieren Sie erst nach Abschluss von Wartungsaufgaben, bei denen eine Schemaänderung erforderlich ist.
- Systemweites Anwenden von Schemaänderungen: Wenden Sie notwendige Schemaänderungen systemweit und auf strukturierte Weise an. Gehen Sie dazu beispielsweise von oben nach unten vor, indem Sie die Änderungen auf die Parent-Replikat-Geodatabase anwenden und an Child-Replikate weitergeben.