Geodatabase-Systemtabellen in Oracle

Wenn Sie die Verbindung mit einer Enterprise-Geodatabase über einen ArcGIS-Client oder einen ArcGIS Server-Web-Service herstellen, interagieren Sie mit den Datasets, die Sie oder andere Datenbankbenutzer der Geodatabase hinzugefügt haben. Um diese Daten zu verfolgen und Geodatabase-Verhalten zu implementieren, verwenden Enterprise-Geodatabases Systemtabellen.

Die Systemtabellen und ihr Inhalt sollten ausschließlich mit der ArcGIS-Software oder dem -SDK geändert werden. Sie können jedoch den Inhalt der Systemtabellen mit SQL anzeigen.

Kernsystemtabellen

Wenn Sie eine Abfrage in einer Oracle-Datenbank durchführen, die eine Enterprise-Geodatabase enthält, werden die folgenden Kernsystemtabellen im Schema des SDE-Benutzers angezeigt:

  • BRANCH_TABLES_MODIFIED
  • BRANCHES
  • COLUMN_REGISTRY
  • COMPRESS_LOG: Diese Tabelle wird erstellt, wenn Sie die Geodatabase zum ersten Mal komprimieren.
  • DBTUNE
  • GDB_CONFLICTS
  • GDB_EDITINGTEMPLATERELATIONSHIPS
  • GDB_EDITINGTEMPLATES
  • GDB_ITEMRELATIONSHIPS
  • GDB_ITEMRELATIONSHIPTYPES
  • GDB_ITEMS
  • GDB_ITEMTYPES
  • GDB_LOCKS
  • GDB_REPLICALOG
  • GDB_TABLES_LAST_MODIFIED
  • GEOMETRY_COLUMNS
  • INSTANCES
  • LAYER_LOCKS
  • LAYERS
  • LINEAGES_MODIFIED
  • MULTIBRANCH_TABLES
  • MVTABLES_MODIFIED
  • OBJECT_LOCKS
  • PROCESS_INFORMATION
  • RASTER_COLUMNS
  • SDE_ARCHIVES
  • SDE_LOGFILE_POOL
  • SDE_TABLES_MODIFIED
  • SDE_XML_COLUMNS
  • SDE_XML_INDEX_TAGS
  • SERVER_CONFIG
  • SPATIAL_REFERENCES
  • STATE_LINEAGES
  • STATE_LOCKS
  • STATES
  • ST_COORDINATE_SYSTEMS
  • ST_GEOMETRY_COLUMNS
  • ST_GEOMETRY_INDEX
  • ST_SPATIAL_REFERENCES
  • TABLE_LOCKS
  • TABLE_REGISTRY
  • TABLES_LAST_EDIT_TIME
  • VERSION
  • VERSION_HISTORY
  • VERSIONS

Die folgenden Tabellen sind in der Geodatabase vorhanden, werden aber nicht mehr verwendet. Sie werden in einer zukünftigen Version möglicherweise entfernt.

  • LOCATORS
  • METADATA
  • SDE_LAYER_STATS
  • SDE_XML_INDEXES

Tabellen, die Enterprise-Geodatabase-Funktionen implementieren

Informationen für einige Geodatabase-Funktionen werden nur in Kernsystemtabellen gespeichert. Informationen für die folgenden Funktionen werden beispielsweise in Kernsystemtabellen gespeichert. Es werden keine zusätzlichen Tabellen in der Datenbank erstellt, wenn Sie diese Funktionalität für Benutzerdaten definieren oder aktivieren:

  • Attributregeln: Werden in der Systemtabelle GDB_ITEMS gespeichert.
  • Verzweigungsversionen: Sechs Felder werden einer Tabelle oder Business-Tabelle einer Feature-Class hinzugefügt, wenn sie für die Teilnahme an der Verzweigungsversionierung zum Verfolgen von Änderungen registriert ist.
  • Domänen: Werden in der GDB_ITEMS-Systemtabelle gespeichert. Ein Feld in der Systemtabelle GDB_ITEMTYPES identifiziert das Objekt als Domäne.
  • Geodatabase-Replikate: Werden in der Datenbank in den Systemtabellen GDB_ITEMS, GDB_ITEMRELATIONSHIPS, GDB_ITEMTYPES und GDB_REPLICALOG verfolgt.
  • Beziehungsklassen: Werden in den GDB_ITEMS- und GDB_ITEMRELATIONSHIPS-Systemtabellen gespeichert.

Die in den folgenden Abschnitten beschriebenen Geodatabase-Funktionen erstellen jedoch zusätzliche interne Tabellen, wenn Sie die jeweilige Funktion aktivieren oder nutzen.

Geodatabase-Archive

Sie können den Transaktionszeit-Verlauf für die Daten mit der Geodatabase-Archivierung verfolgen. Bei der Transaktionszeit handelt es sich um den Zeitpunkt, an dem ein Feature der Datenbank hinzugefügt wurde oder in der Datenbank gelöscht bzw. aktualisiert wurde.

Wenn Sie die Geodatabase-Archivierung für eine Tabelle oder Feature-Class aktivieren, wird eine Archivklasse erstellt. Eine Archivklasse ist eine Kopie der Business-Tabelle, die die gleichen Felder sowie drei neue Felder, "GDB_FROM_DATE", "GDB_TO_DATE" und "GDB_ARCHIVE_OID", enthält. Wenn Sie die Archivierung in einer Tabelle oder Feature-Class aktivieren, für die die traditionelle Versionierung durchgeführt wird, wird in der Systemtabelle SDE_ARCHIVES ebenfalls ein Datensatz hinzugefügt. In diesem Datensatz sind die Registrierungs-IDs der Tabelle, die für Archivierung aktiviert wurde, und der zugehörigen Archivklassentabelle gespeichert.

Der Name der Archivklassentabelle entspricht dem Namen der ursprünglichen Business-Tabelle gefolgt von einem Unterstrich und dem Buchstaben H. Beispiel: Wenn die Archivierung in einer Feature-Class mit dem Namen "buildings" aktiviert ist, wird die Archivklasse "buildings_H" erstellt. Diese Archivklassentabelle wird in demselben Schema gespeichert wie die Business-Tabelle.

Wenn Sie nicht benötigte Archivdatensätze aus Archivklassen, die nicht als versioniert registriert sind, entfernen, wird diese Aktion in der METADATA-Systemtabelle aufgezeichnet.

Traditionelle Versionen

Wenn Sie eine Feature-Class oder Tabelle für die Beteiligung an traditionellen Versionen registrieren, werden zwei Tabellen für die Verfolgung von Änderungen an Daten erstellt: die Adds-Tabelle und die Deletes-Tabelle. Zusammen werden sie als Delta-Tabellen bezeichnet.

In der Tabelle "A_<registration_id>" (Adds-Tabelle) werden Informationen zu jedem eingefügten oder aktualisierten Datensatz (Feature) in einer versionierten Business-Tabelle verwaltet. Sie wird abgefragt, um die hinzugefügten oder geänderten Datensätze in einem bestimmten Datenbankzustand zu identifizieren.

In der Tabelle "D_<registration_id>" (Deletes-Tabelle) werden Informationen zu den gelöschten oder aktualisierten Zeilen in einer versionierten Business-Tabelle verwaltet. Sie wird abgefragt, um die gelöschten oder geänderten Zeilen in einem bestimmten Zustand zu identifizieren. Wenn eine Zeile gelöscht wird, wird der Datensatz nicht physisch entfernt. Er wird als gelöscht markiert und in nachfolgenden Datenbankabfragen nicht mehr zurückgegeben.

"registration_id" im Namen der Adds-Tabelle und der Deletes-Tabelle entspricht dem Wert für die versionierte Tabelle in der Systemtabelle TABLE_REGISTRY.

Diese Tabellen werden in demselben Benutzerschema erstellt wie die Tabelle oder Feature-Class, die als versioniert registriert ist.

Zusätzlich zu den Delta-Tabellen verfolgen die Kernsystemtabellen STATES, STATE_LINEAGES, MVTABLES_MODIFIED und VERSIONS versionierte Tabellen und Änderungen.

Keyset-Tabellen

ArcGIS-Clients verwenden Keyset-Tabellen zur Verbesserung der Abfrageleistung. In den Keyset-Tabellen wird eine Liste ausgewählter Zeilen gespeichert, wenn ein ArcGIS-Client eine Geodatabase-Beziehungsabfrage ausführt, durch die Tabellen mithilfe von Attributen vom Typ "Ganzzahl", "Zahl", "Datum" oder "Zeichenfolge" verbunden werden. In diesen Tabellen werden Verbindungen mit anderen Attributen als dem Objekt-ID-Feld gespeichert.

In der Geodatabase sind keine Keyset-Tabellen enthalten, bis Sie einen der folgenden Vorgänge ausführen:

  • Sie wählen in einer Feature-Class in einer Karte in ArcGIS Pro mehr als 99 Datensätze aus, und die Feature-Class ist Mitglied einer Beziehungsklasse.
  • In ArcGIS Pro öffnen Sie die Attributtabelle einer Feature-Class, die Mitglied einer Beziehungsklasse ist, und rufen die zugehörige Tabelle ab.

Eine Keyset-Tabelle wird als globale temporäre Tabelle pro Verbindung pro Sitzung erstellt. Da es sich um eine temporäre Tabelle handelt, wird die Keyset-Tabelle gelöscht, wenn der Benutzer die Verbindung zur Geodatabase trennt.

Keyset-Tabellennamen haben das folgende Format:

<user_schema>.keyset_<process_id>, wobei <schema_name> das Schema des Benutzers ist, der die Erstellung der Tabelle veranlasst hat, und <process_id> die Prozess-ID der Sitzung des Benutzers, die die Erstellung der Tabelle ausgelöst hat.

Protokolldateitabellen

Protokolldateitabellen werden von ArcGIS-Clients verwendet, um die Abfrageleistung durch Speichern von Listen ausgewählter Zeilen zu verbessern. Protokolldateitabellen verwenden Verbindungen, die auf Objekt-ID-Attributen basieren.

Geodatabases in Oracle verwenden globale temporäre Tabellen im Benutzerschema. Diese Art von Protokolldateikonfiguration erstellt die beiden Tabellen SDE_LOGFILES und SDE_LOGFILE_DATA im Schema des Benutzers, der eine Aktion durchführt, für die Protokolldateitabellen erforderlich sind. Einmal erstellt bleiben diese Tabellen in der Geodatabase; alle Protokolldateieinträge werden jedoch gelöscht, wenn die verbindende Anwendung alle ihre Protokolldateien löscht.