HOW TO

Feststellen, ob die Geodatabase getrennte Replikatsystemversionen enthält

Last Published: March 13, 2023

Zusammenfassung

Es kann vorkommen, dass interne Replikatversionen in der Geodatabase getrennt werden, was eine suboptimale Geodatabase-Komprimierung zur Folge hat.

In den folgenden Anweisungen wird beschrieben, wie diese getrennten Versionen identifiziert und gelöscht werden können.

Hinweis: Die ArcSDE-Software, einschließlich Anwendungsserver, Befehlswerkzeugen und SDK mit C- und Java-APIs, wird in ArcSDE 10.2.2 nicht mehr unterstützt und nicht mehr ausgeliefert.

Vorgehensweise

Replikatsystemversionen werden von ArcGIS im Hintergrund verwendet, um zu bestimmen, welche Änderungen für ein Replikat synchronisiert werden sollen. Für jedes Replikat gibt es mehrere Systemversionen in der Geodatabase. Bei der Synchronisierung der Replikate werden von ArcGIS verschiedene Systemversionen erstellt und gelöscht.

Hinweis: Diese Versionen werden absichtlich ausgeblendet, d. h. sie werden in ArcGIS nicht angezeigt und von ArcObjects nicht zurückgegeben. Sie sollten nicht manuell aus dem ArcSDE-Repository gelöscht werden.

Replikatsystemversionen können anhand ihres Namens identifiziert werden. Für unidirektionale und bidirektionale Replikatsystemversionen gelten folgende Namenskonventionen:

SYNC_RECEIVE_<replica id>_<generation number> SYNC_RECEIVE_REC_<replica id>_<generation number> SYNC_SEND_<replica id>_<generation number>

Es kann vorkommen, dass Replikate nicht registriert sind und ihre Replikatsystemversionen in der Geodatabase verbleiben. Diese getrennten Versionen verursachen möglicherweise eine unzureichende Komprimierung der Geodatabase.

In den folgenden Schritten wird beschrieben, wie diese getrennten Versionen identifiziert und entfernt werden können.

  1. Stellen Sie als SDE- oder Repository-Besitzer mithilfe der Datenbankschnittstellen-Werkzeuge eine Verbindung zur Datenbank her, und führen Sie die folgende Abfrage aus, um die vorhandenen Replikate zusammen mit ihren Replikat-IDs aufzulisten.
Hinweis: Wenn Sie eine DBO-Schema-Datenbank verwenden, ändern Sie für SQL Server die folgende Syntax, um "dbo.GDB_ITEMS" und "dbo.GDB_ITEMTYPES" zu berücksichtigen.
  • SQL Server:
SELECT ITEMS.Definition .value( '(/GPReplica/ID)[1]', 'nvarchar(max)') AS "ID" , ITEMS.Definition .value( '(/GPReplica/Name)[1]', 'nvarchar(max)') AS "Replica Name" , ITEMS.Definition .value( '(/GPReplica/ReplicaVersion)[1]', 'nvarchar(max)') AS "Replica Version" , ITEMS.Definition .value( '(/GPReplica/CreationDate)[1]', 'nvarchar(max)') AS "Creation Date" from sde.GDB_ITEMS AS ITEMS INNER JOIN sde.GDB_ITEMTYPES AS ITEMTYPES ON ITEMS .Type = ITEMTYPES .UUID WHERE ITEMTYPES. Name = 'Replica';
  • Oracle:
Warnung: Konfigurieren Sie Oracle EXTPROC, damit die folgende Syntax erfolgreich ausgeführt wird.
SELECT EXTRACTVALUE(XMLType(Definition), '/GPReplica/Name') AS "Replica Names", EXTRACTVALUE(XMLType(Definition), '/GPReplica/ID') AS "ReplicaID" FROM sde.GDB_ITEMS_VW ITEMS INNER JOIN sde.GDB_ITEMTYPES ITEMTYPES ON ITEMS.Type = ITEMTYPES.UUID WHERE ITEMTYPES.Name = 'Replica';
  1. Führen Sie eine Abfrage der Tabelle "versions" ("sde_versions" in SQL Server) aus, um alle vorhandenen Versionen aufzulisten:
SQL> select name from sde.versions order by name;

Das folgende Beispiel zeigt die Ergebnisse, die mit dieser Abfrage zurückgegeben würden:

NAME ---------------------------------- DEFAULT SYNC_RECEIVE_56_0 SYNC_RECEIVE_56_1 SYNC_RECEIVE_56_2 SYNC_RECEIVE_REC_56_2 SYNC_SEND_56_0 SYNC_SEND_57_0 SYNC_SEND_48_2
  1. Vergleichen Sie die in Schritt 2 zurückgegebenen Replikatsystemversionen mit den Replikat-IDs aus Schritt 1, um festzustellen, ob Versionen vorhanden sind, die nicht über einen entsprechenden Eintrag in der Tabelle "gdb_replicas" verfügen. In dem in Schritt 2 aufgeführten Beispiel, ist für "SYNC_SEND_48_2" kein entsprechender Eintrag in der Tabelle "gdb_replicas" vorhanden. Diese Replikatsystemversion ist also getrennt.
  2. Verwenden Sie das Werkzeug Version löschen (Data Management) oder den Befehl "sdeversion -o delete", um die in Schritt 3 identifizierten getrennten Versionen zu entfernen.
Warnung: Es sollten keine anderen Replikatsystemversionen aus der Geodatabase gelöscht werden, da dies zur Beschädigung der vorhandenen Replikate führen kann.
Hinweis: Wenden Sie sich an Esri Support Services, wenn es neben den in Schritt 3 identifizierten getrennten Versionen noch weitere getrennte Versionen gibt.

Artikel-ID:000011719

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden