Ich möchte eine Protokolldatei generieren, die alle SQL-Abfragen enthält, die von ArcGIS Server (ArcSDE) an die Oracle-Datenbank gesendet wurden. Gibt es einen Weg, dies zu tun? Ich verwende Oracle 11g und ArcGIS Server 10.0 unter Windows. ArcSDE wird in direkter Verbindung verwendet.
arcgis-10.0
arcgis-server
sql
oracle-11g
log
yo_haha
quelle
quelle
Antworten:
Tatsächlich gibt es verschiedene Möglichkeiten, eine ArcSDE-Verbindung zu verfolgen. Anrufe zwischen der Client-Anwendung und dem ArcSDE-Client werden in der SDE-Trace-Datei protokolliert, zwischen dem ArcSDE-Client und dem Server in der SDE-Intercept-Datei protokolliert der ArcSDE-Server bestimmte Ereignisse im Dienst- oder Direktverbindungsprotokoll, und Datenbankaufrufe werden protokolliert die DBMS-Logdateien.
Die ArcSDE-Trace-Dateien protokollieren jeden an den ArcSDE-Client gerichteten Anruf. Diese Dateien sind normalerweise groß und laut. Sehen Sie sich SDETraceLoc und SDETraceMode in der dbinit-Hilfe an . Diese Werte können auch als Umgebungsvariablen festgelegt werden, bevor Sie die Anwendung starten. Dies funktioniert für Anwendungs- und Direktverbindungen.
ArcSDE Intercept-Dateien sind normalerweise hilfreicher. Sie zeigen, welche Zeit in welchem Gespräch verbracht wird. Ein Wort der Vorsicht, SDE arbeitet ein Konzept von Streams ab. Bestimmte Befehle (wie Einfügen, Aktualisieren und Löschen) stellen Informationen in den Stream ein und führen dann den Befehl aus. Normalerweise ist die Stream-Nummer die erste Ganzzahl nach dem Befehl in der Intercept-Datei. Dies kann verwirrend werden, wenn Sie viele Streams haben (ich habe bis zu 26 Streams gesehen). Weitere Informationen und Beispiele finden Sie in SDEIntercept und SDEInterceptLoc in der dbinit-Hilfe oder in diesem KB-Artikel zu SDE Intercept-Dateien .
Die ArcSDE-Dienst-Protokolldateien im Ordner "% SDE_HOME% \ etc" oder die Direktverbindungs-Protokolldateien im Ordner "% SDE_HOME% \ etc" oder "% TEMP%" enthalten allgemeine Informationen zu den Vorgängen mit dem Dienst oder der Verbindung. Die Menge der zu protokollierenden Informationen kann mit der Variablen SDEVerbose ( dbinit help ) erhöht werden .
DBMS-Protokolldateien und Traces sind sehr nützlich. Aber sie geben Ihnen nur einen Teil des Bildes. Darüber hinaus enthalten einige Datenbanken (wie Oracle) nicht alle Arten von Fehlern im DBMS-Trace. Es gibt viele Möglichkeiten, die SQL-Ablaufverfolgung zu aktivieren. In Devdattas Kommentar oben finden Sie Links zu weiteren Informationen.
Weitere Links: Tiefer graben - Beheben von Geoverarbeitungsfehlern bei Verwendung von ArcSDE-Daten
quelle