Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 как найти юзера ОС по SID сессии  [new]
margo37t
Member

Откуда:
Сообщений: 18
Часто приходится сталкиваться с тем, что созданные в трехзвенке сессии Оракла делают что-то интересное, отчего, например, всем остальным жизни нет.
Вычислить сессию в базе легко, но как потом выйти на конкретного юзера ОС, комп или IP?
18 авг 10, 14:59    [9283047]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
v$session + v$process (spid)
18 авг 10, 15:01    [9283078]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
AmKad
Member

Откуда:
Сообщений: 5222
margo37t,

В трехзвенке для Oracle клиентом является сервер приложений - искать юзера OC в Oracle не имеет смысла.
18 авг 10, 15:02    [9283091]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
pravednik
v$session + v$process (spid)

простите...пропустил "трехзвенку"...
18 авг 10, 15:04    [9283113]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
margo37t
Member

Откуда:
Сообщений: 18
AmKad ,
я знаю, поэтому и задала вопрос... может кто сталкивался с такой проблемой и знает как можно окольными путями что-то придумать... просто наши разрабы не озадачились созданием функционала определения сессии по клиенту, а проблемы иногда бывают такие, что ну очень надо....
18 авг 10, 15:08    [9283164]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
-2-
Member

Откуда:
Сообщений: 15330
margo37t,

Правильная трехзвенка тречит свои сессии в табличке базы данных.
18 авг 10, 15:15    [9283221]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
SergINI
Member

Откуда: Нью-Васюки
Сообщений: 6787
margo37t,

Трёхзвенка создаётся в основном для интернета или когда приложение использует одновременное подключением к разлияным базам. Если на уровне сервера приложений базе данных не передаётся доп. инфа типа IP, имени компьютера, то никак.
18 авг 10, 15:20    [9283288]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
margo37t,

вызывать dbms_session.set_identifier и толкать туда логин из веб-морды, если используется пул соединений то придется написать обертку, которая будет при взятии коннекшена из пуда дергать dbms_session.set_identifier
18 авг 10, 15:23    [9283327]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
margo37t
Member

Откуда:
Сообщений: 18
-2-,
наша трехзвенка под определение правильная совсем не подходит )))
ее писало несколько команд разработчиков, а басню лебедь, рак и щука к сожалению еще никто не отменял )))

Андрей Панфилов,
не приходилось детально сталкиваться с dbms_session.set_identifier... можете поподробнее описать или посоветовать хороший источник где можно почитать? при коннекте используется пул соединений....
19 авг 10, 21:56    [9293341]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
margo37t
не приходилось детально сталкиваться с dbms_session.set_identifier... можете поподробнее описать или посоветовать хороший источник где можно почитать?
куда подробнее-то,выбирайте на вкус:


при коннекте используется пул соединений....
19 авг 10, 22:23    [9293392]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
margo37t

не приходилось детально сталкиваться с dbms_session.set_identifier... можете поподробнее описать или посоветовать хороший источник где можно почитать?

куда подробнее-то, выбирайте на вкус:

exec DBMS_SESSION.set_identifier('MY CLIENT IDENTIFIER');

exec DBMS_APPLICATION_INFO.set_module(module_name => 'MY COOL MODULE', action_name => 'MY COOL ACTION');

exec DBMS_APPLICATION_INFO.set_client_info(client_info => 'MY COOL CLIENT');

SELECT module, action, client_info, client_identifier
  FROM v$session
 WHERE audsid = SYS_CONTEXT ('USERENV', 'SESSIONID');

PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.

MODULE                                           ACTION                           CLIENT_INFO                                                      CLIENT_IDENTIFIER                                               
------------------------------------------------ -------------------------------- ---------------------------------------------------------------- ----------------------------------------------------------------
MY COOL MODULE                                   MY COOL ACTION                   MY COOL CLIENT                                                   MY CLIENT IDENTIFIER                                            
1 row selected.

margo37t
при коннекте используется пул соединений....
жава-программисты должны быть в теме (иначе в шею гнать)
19 авг 10, 22:27    [9293399]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
SergINI
Member

Откуда: Нью-Васюки
Сообщений: 6787
Андрей Панфилов,

автор
наша трехзвенка под определение правильная совсем не подходит

Послали человека подальше. Он же признался. Прогт ничего не заложили для этого. Никак- более честный ответ. А то что это должен делать сервер приложений писалось выше.
19 авг 10, 23:58    [9293743]     Ответить | Цитировать Сообщить модератору
 Re: как найти юзера ОС по SID сессии  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
SergINI
Послали человека подальше. Он же признался. Прогт ничего не заложили для этого. Никак- более честный ответ. А то что это должен делать сервер приложений писалось выше.
с каких это пор в жаве нельзя заблокировать полученный из пула коннекш?
20 авг 10, 00:22    [9293815]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить