Replikatschema-Änderungen

Mit der Standard- oder Advanced-Lizenz verfügbar.

Wenn ein Replikat erstellt wird, werden Daten und Schemas 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 Replikatschemas 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 Replikate nicht mehr identisch. Sie können Geoverarbeitungswerkzeuge verwenden, um Replikatschemas zu vergleichen und Unterschiede zu identifizieren.

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" Menü verwenden.
    Zugriff auf Werkzeuge für Schemaänderungen über das Menü "Replikate verwalten"
  • Im Bereich Katalog können Sie mit der rechten Maustaste auf eine Geodatabase klicken und auf das Kontextmenü Verteilte Geodatabase zugreifen.
    Zugriff auf Werkzeuge für Schemaänderungen über das Kontextmenü "Verteilte Geodatabase"

Anweisungen zum Anwenden von Schemaänderungen auf ein relatives Replikat 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

Der folgenden Liste der Schemaänderungen können Sie entnehmen, ob diese auf das relative Replikat angewendet werden können:

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/Feature-Class

Hinzugefügte Felder und Domänen, die auf Felder in Tabellen angewendet wurden, werden synchronisiert.

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.

Warten von Schemaabweichungen

Sie können auswählen, dass in Replikaten unabhängig voneinander vorgenommene Schemaänderungen zulässig sind. Geodatabase-Replikation wurde entwickelt, um die meisten Schemaabweichungen zwischen Replikaten zu ermöglichen, wobei die Datensynchronisierung in den meisten Fällen weiterhin funktioniert.

Wenn Sie eine Schemaänderung auf ein Replikat anwenden, auf ein anderes dagegen nicht, müssen Sie mit den folgenden Problemen rechnen:

  • Nicht synchronisierte Änderungen: Bei der Datensynchronisierung werden nur Änderungen für Tabellen und Felder importiert, die in beiden Replikaten enthalten sind. Wenn ein Bearbeitung an einem Feld vorgenommen wird, das sich nicht im relativen Replikat befindet, wird es beim Importieren der Änderungen 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 Replikaten vornehmen. Beispiel: Sie möchten ein Feld zu einer Tabelle hinzufügen. Achten Sie dabei darauf, in allen Fällen die gleiche Schemaänderung vorzunehmen. Bei Abweichungen (zum Beispiel ein Feld, das in einem Replikat eine Zeichenfolge, im anderen jedoch eine ganze Zahl enthält) 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 Berechtigungen für replizierte Daten in schreibgeschützten Zugriff geändert werden, tritt beim Importieren von Änderungen aus dem relativen Replikat 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:

  1. Sperren des Systems: Stellen Sie sicher, dass Benutzer des Systems mit den entsprechenden Berechtigungen arbeiten. Möglicherweise müssen Anwendungen programmiert werden, die bestimmte Typen von ungeplanten Schemaänderungen verhindern, wie das Hinzufügen oder Entfernen einer Spalte.
  2. 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.
  3. Synchronisieren Sie erst nach Abschluss von Wartungsaufgaben, bei denen eine Schemaänderung erforderlich ist.
  4. Systemweites Anwenden von Schemaänderungen: Wenden Sie notwendige Schemaänderungen systemweit und auf strukturierte Weise an. Sie können beispielsweise von oben nach unten vorgehen, indem Sie die Änderungen auf das Stammreplikat anwenden und nach unten weitergeben.