ArcSDE-Protokolldateitabellen in einer Geodatabase in PostgreSQL
Eine Geodatabase speichert Listen mit Tabellenzeilen mithilfe von Protokolldateitabellen.
Weitere Informationen finden Sie unter Konfigurationsoptionen für Protokolldateitabellen in PostgreSQL-Geodatabases.
Protokolldateitabellen in ArcCatalog und ArcMap
Protokolldateitabellen können in ArcGIS for Desktop nicht angezeigt werden. Protokolldateitabellen werden erstellt und mit Daten gefüllt, wenn durch Ihre Auswahl in ArcMap mehr als 100 Features zurückgegeben werden.
Protokolldateitabellen in einer PostgreSQL-Datenbank
Wenn Sie zuerst die Geodatabase in PostgreSQL erstellen, verwendet die Standardprotokolldateikonfiguration freigegebene ArcSDE-Protokolldateien. Gemeinsame Protokolldateien können von allen Sitzungen gemeinsam verwendet werden, die als derselbe Benutzer verbunden sind. Wenn also mehrere Benutzer eine Verbindung über dasselbe Benutzerkonto herstellen, werden von all diesen Sitzungen Datensätze in dieselbe Protokolldateitabelle eingefügt und daraus gelöscht. Die Protokolldateien werden erzeugt, sobald Sie zum ersten Mal einen Auswahlsatz mit 100 Datensätzen oder mehr in ArcGIS erstellen.
Die in der Geodatabase angezeigten Protokolldateitabellen hängen von der verwendeten Protokolldateikonfiguration ab.
Gemeinsame Protokolldateitabellen
Wenn Sie standardmäßigen gemeinsamen Protokolldateien verwenden, werden pro DBMS-Benutzer-ID zwei Tabellen erstellt und im Schema dieses DBMS-Benutzers gespeichert, sde_logfiles und sde_logfile_data. Einmal erstellt bleiben diese Tabellen in der Geodatabase; alle Protokolldateieinträge werden jedoch gelöscht, wenn die verbindende Anwendung alle ihre Protokolldateien löscht.
Die gestrichelten Linien in diesem und den folgenden Diagrammen kennzeichnen eine implizite Beziehung zwischen Tabellen.
Sitzungsbasierte Protokolldateitabellen
Wenn Sie die Protokolldateikonfiguration ändern, sodass sitzungsbasierte Protokolldateien verwendet werden, werden in der Geodatabase die Tabellen sde_logfiles, sde_logfile_data und sde_session<sde_id> angezeigt. Diese Tabellen werden im Schema des Benutzers erstellt, dessen Sitzung die Tabellen erzeugt hat. Die Tabelle sde_logfile_data wird zwar erstellt, aber nicht ausgefüllt. Die Tabellen sde_logfiles und sde_logfile_data bleiben in der Geodatabase, und die Tabelle sde_logfiles wird abgeschnitten, sobald die verbindende Anwendung getrennt wird. Die Tabelle sde_session<sde_id> wird abgeschnitten, wenn die verbindende Anwendung die Protokolldateidatensätze nicht mehr benötigt (für ArcMap bedeutet dies, es gibt keinen Auswahlsatz mehr), und die Tabelle wird verworfen, sobald die Sitzung getrennt wird.
Eigenständige Protokolldateitabellen
Wenn Sie eigenständige Protokolldateien verwenden, wird für jeden Auswahlsatz oberhalb des Auswahlgrenzwertes einer Sitzung eine neue Tabelle sde_logdata<sde_id>_<#> für jeden Layer erstellt. Die Tabellen sde_logfiles und sde_logfile_data werden ebenfalls pro Sitzung erstellt, die Tabelle sde_logfile_data wird jedoch nicht ausgefüllt. Beide Tabellen werden im Schema des Benutzers erstellt, der die Erstellung verursacht hat.
Die Tabellen sde_logdata<sde_id>_<#> werden abgeschnitten, wenn die verbindende Sitzung die Protokolldateien nicht mehr benötigt. Die Tabellen werden gelöscht, sobald die Sitzung getrennt wird. Die Tabelle sde_logfiles wird abgeschnitten, wenn die verbindende Anwendung getrennt wird.
Protokolldateitabellen-Pools
Die Tabelle sde_logfile_pool wird bei der Erstellung der Geodatabase erstellt und im Schema des Geodatabase-Administrators gespeichert. Wenn Sie einen Pool eigenständiger oder sitzungsbasierter Protokolldateien verwenden, deren Besitzer der Geodatabase-Administrator ist, wird diese Tabelle verwendet. Zusätzlich werden sde_logpool_<table_Id>-Tabellen in der Geodatabase erstellt. Die Anzahl der erstellten sde_logpool_<table_Id>-Tabellen hängt von der Zahl ab, die Sie für LOGFILEPOOLSIZE in der Tabelle sde_server_config angeben. Im Beispiel unten ist LOGFILEPOOLSIZE auf 10 festgelegt, daher werden die sde_logpool_<table_Id>-Tabellen 1 bis 10 erstellt.
Alle für Protokolldatei-Pools erstellten Tabellen werden im Schema des Geodatabase-Administrators erstellt.
Wenn MAXSTANDALONELOGS auf einen Wert über 0 (Null) festgelegt ist und ein Benutzer, der Tabellen in der Datenbank erstellen kann, einen Auswahlsatz erstellt, der den Grenzwert für die Erstellung von Protokolldateien überschreitet, wird im Schema dieses Benutzers eine eigenständige Protokolldateitabelle erzeugt.
Systemtabellen für Protokolldateien
Im Folgenden finden Sie Definitionen für die Tabellen, die für ArcSDE-Protokolldateien verwendet werden.
sde_logdata<sde_id>_<#>
Die Tabelle sde_logdata<sde_id>_<#> enthält die Liste der Datensätze in der Business-Tabelle, die Teil einer eigenständigen Protokolldatei sind. Der Name der Tabelle enthält die Sitzungs-ID und eigenständige Protokolldateisequenz. Diese Tabelle gehört dem Benutzer, durch den die Tabelle erzeugt wurde.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
sde_row_id |
integer |
Die Zeilen-ID oder Shape-ID der Business-Tabellenzeile, die protokolliert wird. |
NOT NULL |
sde_logfile_data
Die Tabelle sde_logfile_data enthält die Liste der Datensätze in der Business-Tabelle, die Teil jeder Protokolldatei sind. Diese Tabelle gehört dem Benutzer, durch den die Tabelle erzeugt wurde.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
sde_row_id |
integer |
Die Zeilen-ID oder Shape-ID der Business-Tabellenzeile, die protokolliert wird; in Protokolldateien können entweder Zeilen-IDs, Shape-IDs oder Benutzer-IDs protokolliert werden. |
NOT NULL |
row_id |
integer |
Identifiziert einen Datensatz eindeutig und aktiviert das Entfernen doppelter "<logfile_data_id, sde_row_id>"-Werte. |
|
logfile_data_id |
integer |
Identifiziert, zu welcher Protokolldatei die Zeilen-ID gehört; eine neue "logfile_data_id" wird immer dann zugewiesen, wenn eine Protokolldatei abgeschnitten wird, um teure Löschvorgänge zu vermeiden. Gelöschte Werte in "sde_logfile_data" werden auch als gelöscht markiert, indem ein anderer "logfile_data_id"-Wert zugewiesen wird. Die "logfile_data_id" ist ein Verweis auf die "logfile"-Metadaten in "sde_logfiles". |
NOT NULL |
sde_logfile_pool
Die Tabelle sde_logfile_pool enthält eine Liste der aktuell ausgecheckten Protokolldateien. Diese Tabelle wird nach der Geodatabase-Erstellung erstellt und gehört dem Geodatabase-Administrator.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
table_id |
integer |
Gibt die Tabelle für den Protokolldatei-Pool an. |
NOT NULL |
sde_id |
integer |
Identifiziert, welche sde-Verbindung die gegebene Protokolldatei-Pool-Tabelle aktuell verwendet. "sde_id" verweist auf die Spalte "sde_id" der Tabelle "process_information". Wenn "sde_id" den Wert NULL aufweist, wird diese Protokolldatei-Pool-Tabelle derzeit nicht verwendet. |
sde_logfiles
Die Tabelle sde_logfiles enthält die Metadaten der Protokolldatei. Diese Tabelle gehört dem Benutzer, durch den die Tabelle erzeugt wurde.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
logfile_name |
varchar(255) |
Ein eindeutiger, benutzerdefinierter (oder anwendungsdefiniert) Name für die Protokolldatei. |
NOT NULL |
logfile_id |
integer |
Gibt die Protokolldatei eindeutig an. |
NOT NULL |
logfile_data_id |
integer |
Gibt an, zu welcher Protokolldatei die Zeilen-ID gehört. Eine neue "logfile_data_id" wird immer dann zugewiesen, wenn eine Protokolldatei abgeschnitten wird, um teure Löschvorgänge zu vermeiden. |
NOT NULL |
registration_id |
integer |
Die Registrierungs-ID der Business-Tabelle, für die IDs in dieser Protokolldatei protokolliert werden. |
NOT NULL |
flags |
integer |
Eine Bitmaske von Werten, die Eigenschaften der Protokolldatei angeben. |
NOT NULL |
session_tag |
integer |
Eine eindeutige Kennung für die Sitzung einer Verbindung. Damit können z. B. alle temporären Protokolldateien, die zu ihrer Sitzung gehören, bereinigt werden. |
NOT NULL |
logfile_data_db |
varchar(32) |
Der Name der Datenbank, in der die Tabelle mit den IDs für diese Protokolldatei gespeichert ist. |
|
logfile_data_owner |
varchar(32) |
Der Name des Besitzers der Tabelle mit den IDs für diese Protokolldatei. |
|
logfile_data_table |
varchar(32) |
Der Name der Tabelle, in der die IDs für diese Protokolldatei enthalten sind. Hierbei kann es sich um die herkömmliche "sde_logfile_data"-Tabelle oder eine Protokoll-Pool-Tabelle, eine Sitzungstabelle oder eine eigenständige "sde_logdata<sde_id>_<#>"-Tabelle handeln. |
|
column_name |
varchar(32) |
Der Name der Spalte in der Business-Tabelle, die protokolliert wird. In der Regel ist dies die Zeilen-ID oder Shape-ID. Sie können jedoch auch eine beliebige ganzzahlige Spalte angeben, die protokolliert werden soll. |
sde_logpool_<table_ID>
Die Tabelle sde_logfile_pool enthält eine Liste der aktuell ausgecheckten Protokolldateien. Diese Tabelle wird nach der Geodatabase-Erstellung erstellt und gehört dem Geodatabase-Administrator.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
logfile_data_id |
integer |
Gibt an, zu welcher Protokolldatei die Zeilen-ID gehört. Eine neue "logfile_data_id" wird immer dann zugewiesen, wenn eine Protokolldatei abgeschnitten wird, um teure Löschvorgänge zu vermeiden. Die "logfile_data_id" ist ein Verweis auf die "logfile"-Metadaten in "sde_logfiles". |
NOT NULL |
sde_row_id |
integer |
Die Zeilen-ID oder Shape-ID der Business-Tabellen-Zeile, die protokolliert wird; Protokolldateien können entweder Zeilen-IDs oder Shape-IDs protokollieren. |
NOT NULL |
sde_session<sde_id>
Die Tabelle sde_session<sde_id> wird erstellt, wenn Sie sitzungsbasierte Protokolldateien verwenden. Diese Tabelle wird verwendet, um Protokolldateidatensätze zu verfolgen, wenn eine verbundene Sitzung einen Auswahlsatz mit mehr Datensätzen als vom Anwendungsschwellenwert definiert erzeugt (100 Datensätze in ArcMap). Die Tabelle sde_session<sde_id> wird verworfen, wenn die Sitzung getrennt wird.
Feldname |
Feldtyp |
Beschreibung |
Null? |
---|---|---|---|
logfile_data_id |
integer |
Gibt an, zu welcher Protokolldatei die Zeilen-ID gehört. Eine neue "logfile_data_id" wird immer dann zugewiesen, wenn eine Protokolldatei abgeschnitten wird, um teure Löschvorgänge zu vermeiden. Die "logfile_data_id" ist ein Verweis auf die "logfile"-Metadaten in "sde_logfiles". |
NOT NULL |
sde_row_id |
integer |
Die Zeilen-ID oder Shape-ID der Business-Tabellen-Zeile, die protokolliert wird; Protokolldateien können entweder Zeilen-IDs oder Shape-IDs protokollieren. |
NOT NULL |
Protokolldateitabellen in einem XML Workspace-Dokument
In XML-Dokumenten werden keine Protokolldateitabellen gespeichert. Wenn Sie das Geodatabase-Schema in ein XML Workspace-Dokument exportieren, nachdem Sie das Schema importiert haben, werden die Protokolldateitabellen daher neu erzeugt, sobald Benutzer das nächste Mal einen Auswahlsatz mit mehr Datensätzen als dem Protokolldateischwellenwert erstellen.