powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить идентификатор сессии?
6 сообщений из 6, страница 1 из 1
Как получить идентификатор сессии?
    #32100649
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в триггере можно получить уникальный идентификатор сессии?
...
Рейтинг: 0 / 0
Как получить идентификатор сессии?
    #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
Как получить идентификатор сессии?
    #32100892
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более корректно это будет:
select userenv('SESSIONID') from dual;
...
Рейтинг: 0 / 0
Как получить идентификатор сессии?
    #32100908
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не то...

SID оказывается берется из v$session по тому что дает userenv('sessionid')
...
Рейтинг: 0 / 0
Как получить идентификатор сессии?
    #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
Как получить идентификатор сессии?
    #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
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить идентификатор сессии?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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