powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Cессии
24 сообщений из 24, страница 1 из 1
Cессии
    #32097637
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть сервак с базой, есть клиенты Forms. Клиенты работают, блокируют при этом какие-то строки. Все нормально. Пока тупой юзер не снимет клиентское приложение - или ошибка, или ему показалось что оно зависло (хотя на самом деле коммитило или ждало пока какие-то строки осободятся - не важно). Вобщем снимает этот гад приложение. А сессия остается. Естетсвенно когда он в следующий раз его запускат и ломится редактировать те же ресурсы ему говорят что они заблокированы. Сессия то висит. Какие есть решения проблемы?

P.S. описать в лисенере таймаут? а не будут ли тогда работающие клиенты отваливаться? Ну вышел там юзер курнуть на 10 мин - а связь оборвалась по таймауту! Это не решение :(
...
Рейтинг: 0 / 0
Cессии
    #32097669
non
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Когда коммитит(хотя сам по себе сл.долгий коммит сигнал админу) или ждет должно появляться соот. предупреждение
2. Когда юзер выходит их приложения соот.триггер должен "кричать", что есть его приложения блокировки...
3. Ну уж если узер совсем тупой - там можно(нужно Ж)) ) делать грубые...роллбэки и киллед сешны...
...
Рейтинг: 0 / 0
Cессии
    #32097688
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) вопрос не по организации интерфейса
2) юзер тупой
...
Рейтинг: 0 / 0
Cессии
    #32097689
Alexandr Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде в v$session, когда аварийно вышли, отмечается INACTIVE (но еще не KILLED)?
Не через это разве решают этот вопрос?
...
Рейтинг: 0 / 0
Cессии
    #32097690
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чтобы чего-то делать нужно сидеть за сервером... вопрос бы не вставал
...
Рейтинг: 0 / 0
Cессии
    #32097715
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все сессии которые в данные момент не выполняют SQL - INACTIVE... просто законнектившийся SQL+ 'ом юзер - он тоже inactive
...
Рейтинг: 0 / 0
Cессии
    #32097716
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>> Ну вышел там юзер курнуть на 10 мин - а связь оборвалась по таймауту!

Computer i sqlnet konechnogo usera ne proveriaet prisutstvie ego za stolom.
U nego obicho s glazami ochen ploho.

Sqlnet NE proveriaet ACTIVNOST user, on tolko proveriat NALICHIE (tehnicheski) prilogeniya
priconnekchennogo k base (bolee prosto - proveriae na urovne otkritogo soketa). Posemu user moget gulyat gde ugodno vplot do sleduiuschego goda.
expire_time ne vkluchitsia.

On vkluchaetcia tolko NA SERVERE i tolko esly:
-- sqlnet CLIENTA poterial link(soket) s prilogeniem klienta.
-- sqlnet SERVERA poterial link(soket) s SQLNET klienta.
-- TCP level SERVERA dal signal (posle tcp_keep_alive_time) chto poteriana sviaz s MASHINOY
clienta (tehnicheski) na urovne tcp/ip protokola.

A aktivnost i vremya prostoya usera reguliruetsya na urovne ego profile parametrom idel_time.
Posemu parametrom EXPIRE_TIME v sqlnet.ora mogno smelo polzovatsya.
...
Рейтинг: 0 / 0
Cессии
    #32097727
Alexandr Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все сессии которые в данные момент не выполняют SQL - INACTIVE
это вроде и есть те 10 минут неактивности (лень проверять sorry, excuse если не прав), но вроде и не только (кажется и аборты там же)

- к тому же есть исключение вроде во всех RAD EAbort (не когда питание отключилось, а когда диспетчер ОС закрыл приложение) и в обработчике
можно убить сессии (если это автоматически не делается)

???
...
Рейтинг: 0 / 0
Cессии
    #32097749
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что за EXPIRE_TIME ?
Oracle 8.0.5
В документации что-то ничего не нахожу...
или можно ограничится одним IDLE?
...
Рейтинг: 0 / 0
Cессии
    #32097758
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>> все сессии которые в данные момент не выполняют SQL - INACTIVE
это вроде и есть те 10 минут неактивности (лень проверять sorry, excuse если не прав), но вроде и не только (кажется и аборты там же)

V korne ne verno.
Vnimatelno pochitay prididuschiy otvet.
-----------------------------------------------------------------------------------------------
EXPIRE_TIME --> parametr konfiguracionnogo faila SQLNET.ORA
on opisn v dokumentacii po sqlnet, a ne v dokumentacii po serveru.
...
Рейтинг: 0 / 0
Cессии
    #32097765
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот эксперимент. Юзер A - практически суперюзер, владелец всех используемых объектов. Юзер B имеет права на них (select/insert/update/delete). Юзеру B в профайле поставлен IDLE - 1 минута.
Далее запускаем SQL Plus под юзером A и делаем SELECT * FROM TableA FOR UPDATE;
Запускаем SQL Plus под юзером B и делаем SELECT * FROM Table B FOR UPDATE; SELECT * FROM TableA FOR UPDATE. Консоль под юзером B "повисает", маздай считает что приложение не отвечает. Отлично - реальная модель. Дальше жестко снимаем консоль ту что под юзером B.
Смотрим на сервере - две сессии - под юзером A INACTIVE, под юзером B - ACTIVE. ждем минуту - результата нет.
УЖЕ ФИГНЯ. IDLE не работает.
Дальше в консолт с юзером A делаем commit, сервак шуршит и сессия юзера B исчезает.

Что теперь скажете?
...
Рейтинг: 0 / 0
Cессии
    #32097770
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Что теперь скажете?

странно, у меня нормально отрабатывает - если убил (закрыл окно сессии B), то несколько секунд сессия пропадает из v$session. Никаких IDLE не устанавливал.

Клиент: SQL*Plus 8.1.7.0.0 /Windows NT
Сервер: 8.1.7.4 /Linux
...
Рейтинг: 0 / 0
Cессии
    #32097773
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, я пробовал с одним и тем же юзером, но в разных сессиях.
...
Рейтинг: 0 / 0
Cессии
    #32097775
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да наверное без разницы.... тем более вопрос - в чем фишка? :(
...
Рейтинг: 0 / 0
Cессии
    #32097776
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mi govorim o dvuh principialno raznih poniatiyah:

1 -- IDLE_TIME v profile --> vremia neaktivnosti servernogo processa usera (INACTIVE SESSION)
2 -- EXPIRE_TIME v sqlnet.ora --> timeout tehnicheskoy neaktivnosti soketa prilogeniya v setke

V osnovnom poste --> Вобщем снимает этот гад приложение (t.e ubivaetsya soket sessii na urovne protokola)
sprashivalos kak imenno borotsia s etim ( no ne vremenem INACTIVE SESSION) eto kogda
polzovatel poshel perekurit no ostavil activnoy Forms na mashine clienta.

Tak vot podobnie problkemy reshautsya pri pomoschy EXPIRE_TIME no nikak ne IDLE_TIME v profile.
...
Рейтинг: 0 / 0
Cессии
    #32097778
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче.... Ставлю на сервере и клинтах в sqlnet.ora EXPIRE_TIME = 10

Дальше, если юзер запустил приложение и ушел курить (сессия INACTIVE) то все нормально, хоть он до завтра будет курить, связь не порвется - правильно понял?
Дальше если юзер загрузил тачку, т.е. сделал долгий save (с постингом, ожиданием разблокировки строк и т.д.) и в этот момент снял приложение - то что? что будет? сессия при этом пока что остается на сервере как ACTIVE и блокирует ресурсы...


Туплю я наверное... объясните мне еще раз, плз :)
...
Рейтинг: 0 / 0
Cессии
    #32097786
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>> Дальше, если юзер запустил приложение и ушел курить (сессия INACTIVE) то все нормально, хоть он до завтра будет курить, связь не порвется - правильно понял?

Pravilno.

>>> Дальше если юзер загрузил тачку, т.е. сделал долгий save (с постингом, ожиданием разблокировки строк и т.д.) и в этот момент снял приложение - то что? что будет? сессия при этом пока что остается на сервере как ACTIVE и блокирует ресурсы...

2 varianta
1 -- Esli user "снял приложение" no sqlnet na cliente ostalsya givoy to EXPIRE_TIME vkluchaetsya nemedlenno

2 -- esli poterian technicheski link na mashinu kliena (on masinu prosto iz seti vydernul)
to obschy timeout NA SERVERE do aktivizacii "kill session" sostavlyaet :

tcp: keep_alive_time (protokola tcp) + expire_time(sqlnet.ora)
...
Рейтинг: 0 / 0
Cессии
    #32097788
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага... значит я понял ВСЕ ПРАВИЛЬНО..
тогда какого черта получается тот результат что опубликован выше? где я эксперимент с двумя юзерами проводил....

может базу надо было перезагрузить?
...
Рейтинг: 0 / 0
Cессии
    #32097791
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A vot rezultat togo, chto IDLE_TIME ne rabotaet eto TRETIE ponyatie, k timeout nikakogo otnosheniya ne imeet.

OBYAZAN (v init.ora) bit ustanovlen parameter RESOURCE_LIMIT=TRUE (by default = FALSE)
inache ni odin resursniy parameter v profilah ne rabotaet.
...
Рейтинг: 0 / 0
Cессии
    #32097793
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да IDLE_TIME как я понял не шибко в тему... EXPIRE_TIME не работает! вот что главное
...
Рейтинг: 0 / 0
Cессии
    #32097794
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expire_time ???
rabotaet, rabotaet ... godamy ustanovleno.
...
Рейтинг: 0 / 0
Cессии
    #32097795
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A mogno durnoy vopros : EXPIRE_TIME ustanavlivalsia v sqlnet.ora na kliente ili na servere?
dolgen bit na SERVERE tolko.
...
Рейтинг: 0 / 0
Cессии
    #32097796
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я чтобы дурных вопросов не задавать и там и там поставил :) хотя в документаци про клиент написано
...
Рейтинг: 0 / 0
Cессии
    #32097862
Allexx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чуть выше рассматривалась такая же ситуация, только в качестве клиента Delphi было.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Cессии
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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