Me gustaría generar un archivo de registro que contiene todas las consultas SQL enviadas por ArcGIS Server (ArcSDE) a la base de datos de Oracle. Hay una manera de hacerlo? Estoy usando Oracle 11g y ArcGIS Server 10.0 en Windows. ArcSDE se utiliza en conexión directa.
Respuesta
¿Demasiados anuncios?En realidad, hay varias maneras de rastrear cualquier conexión ArcSDE. Las llamadas entre la aplicación cliente y el cliente ArcSDE se registran en el archivo SDE Trace, entre el cliente ArcSDE y el servidor en el archivo SDE Intercept, el servidor ArcSDE registrará ciertos eventos en el registro de servicio o de conexión directa, y las llamadas a la base de datos se registran en los archivos de 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
| |
------------------
Los archivos ArcSDE Trace registran todas las llamadas realizadas al cliente ArcSDE. Estos archivos suelen ser grandes y ruidosos. Observe SDETraceLoc y SDETraceMode en el archivo Ayuda dbinit . Estos valores también se pueden establecer como variables de entorno antes de iniciar la aplicación, esto funciona para la aplicación y las conexiones directas.
Los archivos de interceptación de ArcSDE suelen ser más útiles. Mostrarán el tiempo que se invierte en cada llamada. Una palabra de precaución, sin embargo, SDE funciona a partir de un concepto de flujos. Ciertos comandos (como inserciones, actualizaciones y eliminaciones) establecen la información en el flujo, a continuación, ejecute el comando. Usualmente el número de secuencia es el primer entero después del comando en el archivo de intercepción. Esto puede ser confuso si tienes muchos flujos (he visto hasta 26 flujos). Puedes ver SDEIntercept y SDEInterceptLoc en el archivo Ayuda dbinit o esto Artículo de KB sobre archivos SDE Intercept para más información y ejemplos.
Los archivos de registro del servicio ArcSDE, en %SDE_HOME%. \etc o los archivos de registro de conexión directa, en %SDE_HOME%. \etc o %TEMP%, contienen información general sobre lo que ocurre con el servicio o la conexión. La cantidad de información que se registra se puede aumentar con la variable SDEVerbose ( Ayuda dbinit ).
Los archivos de registro y las trazas del SGBD son muy útiles. Pero sólo dan una parte de la imagen. Además, algunas bases de datos (como Oracle) no incluyen todos los tipos de errores en la traza del SGBD. Hay muchas maneras de habilitar el rastreo SQL, el comentario de Devdatta más arriba enlaza con más información.
Otros enlaces: Profundizando - Solución de errores de geoprocesamiento al utilizar datos de ArcSDE