Я хотел бы создать файл журнала, содержащий все запросы SQL, отправленные ArcGIS Server (ArcSDE) в базу данных Oracle. Есть ли способ сделать это? Я использую Oracle 11g и ArcGIS Server 10.0 в Windows. ArcSDE используется в прямом соединении.
arcgis-10.0
arcgis-server
sql
oracle-11g
log
yo_haha
источник
источник
Ответы:
На самом деле существует несколько способов отслеживания любого соединения ArcSDE. Вызовы между клиентским приложением и клиентом ArcSDE регистрируются в файле трассировки SDE, между клиентом ArcSDE и сервером в файле перехвата SDE, сервер ArcSDE регистрирует определенные события в журнале сервиса или прямого подключения, а вызовы базы данных регистрируются в системе. файлы журналов СУБД.
Файлы трассировки ArcSDE регистрируют каждый вызов, сделанный клиенту ArcSDE. Эти файлы обычно большие и шумные. Посмотрите на SDETraceLoc и SDETraceMode в справке по dbinit . Эти значения также могут быть установлены как переменные среды перед запуском приложения, это работает для приложения и прямых подключений.
Файлы ArcSDE Intercept обычно более полезны. Они покажут, сколько времени тратится на какой звонок. Однако, предупреждая, SDE работает над концепцией потоков. Некоторые команды (например, вставки, обновления и удаления) устанавливают информацию о потоке, а затем выполняют команду. Обычно номер потока является первым целым числом после команды в файле перехвата. Это может сбить с толку, если у вас много потоков (я видел до 26 потоков). Вы можете посмотреть SDEIntercept и SDEInterceptLoc в справке dbinit или этой статье базы знаний о файлах перехвата SDE для получения дополнительной информации и примеров.
Файлы журналов сервиса ArcSDE в папке% SDE_HOME% \ etc или файлы журналов прямого подключения в папках% SDE_HOME% \ etc или% TEMP% содержат общую информацию о том, что происходит с сервисом или соединением. Количество регистрируемой информации может быть увеличено с помощью переменной SDEVerbose ( dbinit help ).
Лог-файлы и трассировки СУБД очень полезны. Но они только дают вам часть картины. Кроме того, некоторые базы данных (например, Oracle) фактически не включают все типы ошибок в трассировку СУБД. Есть много способов включить трассировку SQL, комментарий Devdatta выше ссылается на дополнительную информацию.
Другие ссылки: Копаем глубже - Устранение ошибок геообработки при использовании данных ArcSDE
источник