Vorrei generare un file di registro contenente tutte le query SQL inviate da ArcGIS Server (ArcSDE) al database Oracle. c'è un modo per farlo? Sto usando Oracle 11g e ArcGIS Server 10.0 su Windows. ArcSDE viene utilizzato in connessione diretta.
Vorrei generare un file di registro contenente tutte le query SQL inviate da ArcGIS Server (ArcSDE) al database Oracle. c'è un modo per farlo? Sto usando Oracle 11g e ArcGIS Server 10.0 su Windows. ArcSDE viene utilizzato in connessione diretta.
Risposte:
Esistono in realtà diversi modi per tracciare qualsiasi connessione ArcSDE. Le chiamate tra l'applicazione client e il client ArcSDE vengono registrate nel file di traccia SDE, tra il client ArcSDE e il server nel file Intercettazione SDE, il server ArcSDE registra determinati eventi nel servizio o registra la connessione diretta e le chiamate al database vengono registrate i file di registro DBMS.
-------------------------------------------------------------
| |
| Client (ArcObject, ArcCatalog, ArcGIS Server, ArcIMS...) |
| |
-------------------------------------------------------------
|
|
\|/
------------------ --------> SDE Trace
| |
| ArcSDE Client |
| |
------------------ --------> SDE Intercept
|
|
\|/
------------------- --------> SDE Intercept
| |
| ArcSDE Server | --------> ArcSDE Service Logfile, or direct connect log
| |
-------------------
|
|
\|/
------------------
| |
| DBMS | -----------> DBMS logfiles or trace
| |
------------------
I file di traccia ArcSDE registrano ogni chiamata effettuata al client ArcSDE. Questi file sono generalmente grandi e rumorosi. Guarda SDETraceLoc e SDETraceMode nella guida di dbinit . Questi valori possono anche essere impostati come variabili di ambiente prima di avviare l'applicazione, questo funziona per applicazioni e connessioni dirette.
I file di ArcSDE Intercept sono generalmente più utili. Mostreranno a che ora si trascorre in quella chiamata. Un avvertimento, però, SDE elabora un concetto di flussi. Alcuni comandi (come inserimenti, aggiornamenti ed eliminazioni) impostano le informazioni sullo stream, quindi eseguono il comando. Di solito il numero di flusso è il primo numero intero dopo il comando nel file di intercettazione. Questo può creare confusione se hai molti stream (ho visto fino a 26 stream). Puoi consultare SDEIntercept e SDEInterceptLoc nella guida di dbinit o in questo articolo KB sui file di intercettazione SDE per ulteriori informazioni ed esempi.
I file di registro del servizio ArcSDE, nella cartella% SDE_HOME% \ etc, oi file di registro a connessione diretta, nelle cartelle% SDE_HOME% \ etc o% TEMP%, contengono informazioni generali su ciò che accade con il servizio o sulla connessione. La quantità di informazioni registrate può essere aumentata con la variabile SDEVerbose (guida di dbinit ).
I file di registro e le tracce DBMS sono molto utili. Ma ti danno solo una parte dell'immagine. Inoltre, alcuni database (come Oracle) in realtà non includono tutti i tipi di errori nella traccia DBMS. Esistono molti modi per abilitare la traccia SQL, il commento di Devdatta sopra collega a maggiori informazioni.
Altri collegamenti: Scavare più a fondo - Risolvere gli errori di geoprocessing durante l'utilizzo dei dati ArcSDE