powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Подскажите как решить проблему с отваливанием сессии
18 сообщений из 18, страница 1 из 1
Подскажите как решить проблему с отваливанием сессии
    #39294703
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,

Проблема следующая:
Есть PL/SQL процедура которая запускается и работает, по ее завершении должна быть запущена следующая чего и ждет скрипт запустивший это процедуру.
Но во время работы процедуры, судя по всему что то происходит с листенером или сетью и клиент запустивший сессию отваливается.
Процедура дорабатывает до конца и сессия становится Inactive, а скрипт(клиент) который запустил эту процедуру не может понять что процедура отработала и продолжает ждать. Более того он почему то и не видит что он отвалился, а продолжает молча ждать отклика от сервера.

Подскажите как лучше быть в такой ситуации? Можно ли поставить какой то таймаут ?
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294712
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наиболее вероятный ответ - соединение прибито сетевым оборудованием как неактивное.
Варианты:
- Обратиться к сетевикам для увеличения таймаута или отмены его вовсе
- Запускать процесс не с клиента, а прямо на сервере посредством dbms_scheduler
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294715
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KyRoсудя по всему что то происходит с листенером

Листенер это Гузеева - "сводит" клиента с базой, ну а дальше как у них самих получится. "Процедура дорабатывает до конца и сессия становится Inactive" - уверен? Сессия может быть inactive если процедура просто ждет (например выдала update строки которая locked) или банальный infinite loop.

SY.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294717
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KyRoпо ее завершении должна быть запущена следующаяbegin ... end;

KyRoон почему то и не видит что он отвалилсяЕсли сессия и клиент работают, то чтобы так "отвалилися", нужен какой-то специфический инструмент, обрывающий связь на уровне своего туннеля, но оставляющие концы открытыми. Может быть DCD и поможет, но вероятно проблема в используемом на клиенте инструменте.

SYСессия может быть inactive если процедура просто ждет (например выдала update строки которая locked) или банальный infinite loop.не согласен.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294727
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПроцедура дорабатывает до конца и сессия становится Inactive" - уверен
Процедура дорабатывает , я это вижу по логике и логам, она все делает корректно.
Запуская ее из PL/SQL DEV я вижу что сессия стала INACTIVE , а IDE не знает не чего о статусе сессии и продоолжает работать и когда я пробую остановить ее то получаю ошибку с END of communication channel.

авторНаиболее вероятный ответ - соединение прибито сетевым оборудованием как неактивное.
К сожалению да ,это может быть как проблема оборудования так и проблема настройки базы. У меня лично нет доступа к системной части БД, да и сетевиков уговорить что то поменять очень сложно.

Соответственно мне нужно решить вопрос локально через какой то таймаут , потому что мне лучше что бы SQLPLUSS вернул мне ошибку , чем просто вечно ждал не понятно чего.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294793
Sheriffua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KyRo,

Запуск происходит в одной подсети с базой данных или в разных?
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294797
CrazyCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KyRoУ меня лично нет доступа к системной части БД, да и сетевиков уговорить что то поменять очень сложно.
служебную записку написать. ИТ подразделения должны взаимодействовать.
по времени сколько примерно первая процедура работает?
если довольно долго - есть ли фаервол между клиентом и сервером БД?
если да - сетевиков напрягать на предмет увеличения таймаута.
ну или гонять трафик внутри этой сессии, что-то вроде кип элива. но, как я понял, тут сложнее, если мы просто ждем выполнение процедуры.
ну и в алертлоге бы посмотреть, что там пишет.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294800
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-SYСессия может быть inactive если процедура просто ждет (например выдала update строки которая locked) или банальный infinite loop.не согласен.

Да каюсь, чушь спорол.

SY.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294828
iodefbiuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQLNET.EXPIRE_TIME?
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294886
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KyRo,

если с сетевиками не договоритесь и EXPIRE_TIME не поможет
то как советует andrey_anonymous п2

в скрипте создаете джоб, который вызывает вашу процедуру
дальше в цикле напр каждую минуту проверяете не закончился ли джоб
если закончился то на следующий шаг скрипта


ps
минус, на джоб надо права не хилые

.....
stax
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294940
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..минус, на джоб надо права не хилыеНа однократный job ничего не нужно.
dbmsjob.sql
Код: plsql
1.
2.
GRANT EXECUTE ON dbms_job TO PUBLIC
/

...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39294963
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elicstax..минус, на джоб надо права не хилыеНа однократный job ничего не нужно.
dbmsjob.sql
Код: plsql
1.
2.
GRANT EXECUTE ON dbms_job TO PUBLIC
/


и создавать можно?

.....
stax
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39295055
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в алерт логе что?
Была проблема с отваливанием заброшенных сессий, списали это на настройки файервола.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39295059
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stax..и создавать можно?Да. Это не dbms_scheduler.
Правда в 12c такого права по умолчанию уже нет.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39295496
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы . Это по правде похоже на проблему с сетью или с железом сервера.
Будем анализировать.
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39295537
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39295573
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ПанфиловKyRo,

http://www.sql.ru/forum/1048661/obryvaetsya-soedinenie-s-oraklom?hl=enable broken


И для винды это работает?
...
Рейтинг: 0 / 0
Подскажите как решить проблему с отваливанием сессии
    #39296042
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловKyRo,

http://www.sql.ru/forum/1048661/obryvaetsya-soedinenie-s-oraklom?hl=enable broken

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


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