Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить идентификатор сессии? / 6 сообщений из 6, страница 1 из 1
03.02.2003, 21:45
    #32100649
JohnSmith
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить идентификатор сессии?
Как в триггере можно получить уникальный идентификатор сессии?
...
Рейтинг: 0 / 0
03.02.2003, 22:00
    #32100651
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить идентификатор сессии?
Samiy prostiy metod:
Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> select sid from v$mystat where rownum= 1 ;

       SID
 ----------
 
	 21 
...
Рейтинг: 0 / 0
04.02.2003, 13:05
    #32100892
nik_x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить идентификатор сессии?
Более корректно это будет:
select userenv('SESSIONID') from dual;
...
Рейтинг: 0 / 0
04.02.2003, 13:23
    #32100908
JohnSmith
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить идентификатор сессии?
это не то...

SID оказывается берется из v$session по тому что дает userenv('sessionid')
...
Рейтинг: 0 / 0
04.02.2003, 14:02
    #32100928
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить идентификатор сессии?
userenv('sessionid'), или, что тоже самое, sys_context('userenv', 'sessionid') равен значению v$session.audsid. Он тоже уникален для всех сессий, поэтому вполне можно ограничиться им. Если же стоит задача определить именно SID (к примеру, для alter system kill session :), то можно его вытащить и из v$session:
Код: plaintext
1.
select sid, serial# from v$session where audsid = userenv('sessionid');
...
Рейтинг: 0 / 0
04.02.2003, 21:11
    #32101233
SAA_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить идентификатор сессии?
Когда-то давно я тоже зае...ся с этой проблемой. Столько крови это с меня попило, но вот результат:

select sid, serial# into :new.sid, :new.serial from sys.v_$session t1 where username = user and audsid = userenv('SESSIONID') and rownum < 2;

Хотя, обсуждая его еще тогда, он оказался не самым верным, но тоже очень надежным.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить идентификатор сессии? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]