Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Ограничение количества сессий от пользователя


Автор: lynx13 12.9.2011, 14:47
Добрый день!
Необходимо решить следующую задачу:
Один Пользователь ОС-одно приложение-один user БД.
Другими словами: если в программу вошел человек с Username, то он не сможет открыть еще одно такое же приложение с тем же username,
даже на другом компьютере под другим пользователем ОС.
Можно ли это сделать средствами oracle, через профиль например?
Спасибо!

Автор: Zloxa 13.9.2011, 08:46
Если клиент открывает лишь одну сессию, можно попытаться в on logon триггере захватить пользовательскую блокировку(rtfm dbms_lock) по имени пользователя, в случае фейла поднимать эксепшн препятствуя созданию сессии.

Автор: ToshaCh 19.9.2011, 15:37
Цитата(lynx13 @  12.9.2011,  14:47 Найти цитируемый пост)
Можно ли это сделать средствами oracle, через профиль например?

Есть такой профаил http://psoug.org/reference/profiles.html, но я бы всеже сделал так как предлогает Zloxa, так как можно гибко настроить поведение системы в случае попытки открыть ещё одну сессию.  

В продакшене я применение этого параметра не видел. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)