Как сопоставить пользователя DAX и сессию в Oracle?
Пришел запрос от коллеги, задача довольно проста: необходимо выяснить какой пользователь нагружает систему или породил процесс, или, наоборот, выснить, кто запустил процесс, грузящий сервер и спросить, что же он такое запустил.
Дается: Microsoft Dynamics AX 4.0SP1 на Oracle 10G R2
В Microsoft Dynamics AX можно увидеть SPID в окне активных пользователей (Администрирование\Активные пользователи).
В моем случае SPID равен 9596.
Открываем, SQL*Plus и запускаем следующий запрос, чтобы получить Owner ID и SID:
select SID,SERIAL#, AUDSID, USER#,USERNAME, OWNERID, OSUSER from v$session where audsid = 9596
Получаем:
Имея OwnerId, можно найти все остальное (номер сессии, например) и организовать мониторинг:
Comments
- Anonymous
July 16, 2007
пожалуйста сделайте доступными исходные изображения - Anonymous
July 16, 2007
Спасибо, сделано :) - Anonymous
August 09, 2007
А есть аналогичное решение для MS SQL Server? - Anonymous
August 16, 2007
В форме Dynamics AX 4.0 "Online users" (первый скриншот в статье) доступен SPID.Для Microsoft SQL Server этого достаточно, чтобы получить всю требуемую информацию.Что касается собственно мониторинга, если не устраивают встроенные средства и примеры запросов с сайта MSDN, то можно попробовать внешние утилиты, например TPM (http://www.teratrax.com/tpm/). - Anonymous
October 03, 2007
Имеется ввиду пользователь DAX или что-то иное? Если я не ошибаюсь, то по spid (вне DAX, например запросами в MSSQL) максимум можно найти пользователя DOMAINAOS$, представленного в MSSQL... Не очень понятно насчет мониторинга - Anonymous
October 03, 2007
Сорри, таки не понятно как в MSSQL идентифицировать пользователя DAX по spid... Если возможно чуть подробнее, плз? - Anonymous
October 03, 2007
Поскольку возникают вопросы, а описать подробно в комментариях сложно, создана еще одна статья - http://blogs.msdn.com/aeremenk/archive/2007/10/04/5272528.aspx