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

Откуда: г. Киев
Сообщений: 1223
Всем доброе время суток. Вопрос собственно возник из-за чего, сейчас наблюдаю картинку с помощью Session Browser в TOADе где видна сессия, которая пребывает в состоянии INACTIVE запущенная пользователем VRM, но в чем хитрость, хочу понять с какого терминала она была запущена (айпи адрес или имя машины) и можно ли это узнать??? Знаю SID сессии, но в самом Session Browser идет отображение, что сессия запущена через сервер (CorbaServer), который и находится на самом сервере, хотя запуск приложений осуществляется с помощью подключения сетевого диска на сервере, где и расположен CorbaServer и всё же можно ли как-то идентифицировать средствами Оракла, кто и откуда подключается.
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE	10.2.0.4.0	Production
TNS for Linux IA64: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
Может как-то не внятно объяснил, что я хочу, но я старался.
14 июл 10, 10:25    [9100148]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
desc v$session ?
14 июл 10, 10:26    [9100165]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18479
Если трехзвенка, то v$session не спасет
14 июл 10, 10:28    [9100179]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Proteus
Member

Откуда:
Сообщений: 1348
Вячеслав Любомудров,
Если трехзвенка то все сессии открыты с сервера приложений, и по этому этот вопрос не имеет смысла. Если конечно разработчик приложения не озаботился таким функционалом как определение сессии по клиенту.
14 июл 10, 10:32    [9100208]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Вячеслав Любомудров
Если трехзвенка, то v$session не спасет

угу... чесно, я не въехал в формулировку этой части опуса
автор
что сессия запущена через сервер (CorbaServer), который и находится на самом сервере, хотя запуск приложений осуществляется с помощью подключения сетевого диска на сервере, где и расположен CorbaServer
14 июл 10, 10:38    [9100260]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Sheriffua
Member

Откуда: г. Киев
Сообщений: 1223
Значит не судьба узнать откуда этот негодяй запускал приложение
14 июл 10, 11:31    [9100832]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6692
Sheriffua,

0. У вас трёхзвенка или нет?
1. Если да, ведёт ли сервер приложений свои логи по подключениям?
14 июл 10, 11:43    [9100970]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Sheriffua
Member

Откуда: г. Киев
Сообщений: 1223
env
Sheriffua,

0. У вас трёхзвенка или нет?
1. Если да, ведёт ли сервер приложений свои логи по подключениям?


Я не совсем понял, что подразумевается под "трёхзвенка", но скажу так, логирование отключено, так как оно сделано не удобно и в промышленной эксплуатации его использовать не реально, т.к. происходит переполнение буфера и падает CorbaServer, логирование запускается только для отловки багов на этапе проектирования, но это мало волнует, так как интересно было бы узнать, возможно ли средствами Оракла достать этого пользователя?! Если нет, то тогда вопрос снимается.
14 июл 10, 13:00    [9101551]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Sheriffua
env
Sheriffua,

0. У вас трёхзвенка или нет?
1. Если да, ведёт ли сервер приложений свои логи по подключениям?


Я не совсем понял, что подразумевается под "трёхзвенка", но скажу так, логирование отключено, так как оно сделано не удобно и в промышленной эксплуатации его использовать не реально, т.к. происходит переполнение буфера и падает CorbaServer, логирование запускается только для отловки багов на этапе проектирования, но это мало волнует, так как интересно было бы узнать, возможно ли средствами Оракла достать этого пользователя?! Если нет, то тогда вопрос снимается.

трехзвенка
ваш юзер создает соединение с терминала к серверу приложений, которое в свою очередь уже создает коннект к БД, поэтому БД знает только о месте расположения сервера приложений.
14 июл 10, 13:03    [9101600]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Proteus
Member

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

Под трехзвенкой понимается обычно комплекс ПО состоящий из 3-х частей: 1-тонкий или толстый клиент 2-сервер приложений 3-сервер БД. В классической схеме все соединения к БД открывает сервер приложений, и если он не имеет журнала в котором было бы написано о том, какая сессия БД соответствует какой сессии сервера приложений -- то выяснить принадлежность сессии БД представляется проблематичным.

Программист разрабатывающий приложение мог сделать специальные действия для того чтобы такую связь протянуть в БД, например указав какую либо информацию с помощью dbms_application_info и тогда по этой информации и по v$session можно было бы идентифицировать сессии на сервере БД.
14 июл 10, 13:11    [9101718]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Sheriffua
Member

Откуда: г. Киев
Сообщений: 1223
pravednik
Sheriffua
env
Sheriffua,

0. У вас трёхзвенка или нет?
1. Если да, ведёт ли сервер приложений свои логи по подключениям?


Я не совсем понял, что подразумевается под "трёхзвенка", но скажу так, логирование отключено, так как оно сделано не удобно и в промышленной эксплуатации его использовать не реально, т.к. происходит переполнение буфера и падает CorbaServer, логирование запускается только для отловки багов на этапе проектирования, но это мало волнует, так как интересно было бы узнать, возможно ли средствами Оракла достать этого пользователя?! Если нет, то тогда вопрос снимается.

трехзвенка
ваш юзер создает соединение с терминала к серверу приложений, которое в свою очередь уже создает коннект к БД, поэтому БД знает только о месте расположения сервера приложений.


Да, так оно и есть и в этом проблема идентификации пользователя.
14 июл 10, 16:00    [9103693]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Sheriffua

Да, так оно и есть и в этом проблема идентификации пользователя.

но не со стороны приложения )
14 июл 10, 16:00    [9103697]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Sheriffua
Member

Откуда: г. Киев
Сообщений: 1223
pravednik,

точно
14 июл 10, 16:01    [9103712]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
VaDi
Member

Откуда: Минск
Сообщений: 141
Sheriffua,

возможно это как-то косвенно поможет:

если в приложении корректно проставляется контекст сессии, то можно определить конкретного человека (не терминал), попробуйте в v$session посмотреть колонку client_identifier.
15 июл 10, 12:57    [9108910]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Sheriffua
Member

Откуда: г. Киев
Сообщений: 1223
VaDi
Sheriffua,

возможно это как-то косвенно поможет:

если в приложении корректно проставляется контекст сессии, то можно определить конкретного человека (не терминал), попробуйте в v$session посмотреть колонку client_identifier.


client_identifier он у меня вообще пустой
15 июл 10, 19:12    [9112012]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
SMSNET
Member

Откуда:
Сообщений: 199
select machine,program,terminal from v$session where sid=140


140 -Eto sid usera ego mojna uznat ili iz etoy tablici ili iz OEM
15 июл 10, 22:57    [9112644]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
-2-
Member

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

Ты сегодня в ударе. Про TOAD забыл сказать. Или не знаешь какой кнопкой там сессии смотреть?
16 июл 10, 00:59    [9112956]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
SMSNET
Member

Откуда:
Сообщений: 199
-2-
SMSNET,

Ты сегодня в ударе. Про TOAD забыл сказать. Или не знаешь какой кнопкой там сессии смотреть?


:)
16 июл 10, 08:48    [9113360]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать с какого терминала запускалась сессия???  [new]
Sheriffua
Member

Откуда: г. Киев
Сообщений: 1223
SMSNET
select machine,program,terminal from v$session where sid=140


140 -Eto sid usera ego mojna uznat ili iz etoy tablici ili iz OEM


не так всё просто как кажется на первый взгляд, см. внимательно тему :)
16 июл 10, 09:24    [9113593]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить