Найти приложение для подключения к базе данных Oracle с помощью идентификатора сеанса - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь определить приложение, которое использует определенный идентификатор сеанса в базе данных Oracle 11g. Я могу найти имя службы идентификатора сеанса, используя этот запрос

select SID, SERVICE_NAME
from v$session
where SID = <sessionID here>;

К сожалению, несколько приложений используют это имя службы для подключения к базе данных. Есть ли другая таблица / запрос, которую я могу использовать, чтобы определить, какое приложение использует этот идентификатор сеанса?

1 Ответ

1 голос
/ 04 июня 2019

В V$SESSION есть другие столбцы, которые могут быть полезными, например ::

select username, osuser, logon_time, status, program, module, client_identifier, client_info
from gv$session
where sid = <sessionID here>;

Однако ваше приложение должно установить или переопределить последние четыре значения.

Например, сеанс, запущенный из SQL * Plus, показывает программу как что-то вроде sqlplus@client_host (TNS V1-V3), а модуль как SQL*Plus. SQL Developer показывает оба значения в качестве этого имени. Соединение JDBC будет иметь что-то вроде «Тонкого клиента JDBC» для обоих по умолчанию, но приложение может переопределить их и / или установить client_identifier и client_info, если оно выберет. Как и приложение Pro * C, которое по умолчанию для программы и модуля выглядит как exe_name@client_host (TNS V1-V3).

Поскольку SQL Developer использует JDBC, он переопределяет и программу, и модуль своим собственным значением; и SQL * Plus переопределяет значение модуля по умолчанию.

Так что, если приложение, использующее интересующий вас ID сеанса, настроило какое-либо из этих значений, вы должны получить довольно хорошее представление о том, что это такое. А если нет, то вы все равно можете получить представление о типе приложения (например, JDBC). osuser тоже может пригодиться.

См. SYS_CONTEXT и пакеты DBMS_APPLICATION_INFO и DBMS_SESSION для получения дополнительной информации о том, как приложение может устанавливать эти значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...