• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Потдержка транзакции

  • Автор темы SMitty
  • Дата начала
S

SMitty

Здравствуйте форумчане.
Есть такая ситуация: пишу клиента на Delphi 7 к бд Oracle. На сервере FireWall настроен так, что отрубает транзакции по которым нет обмена данными долгое время.
Так вот суть вопроса: из Delphi приходится запускать довольно большие хранимые процедуры, они выполняются долго, соответственно FireWall транзакцию отрубает. Как можно обойти этот момент?
Буду рад любым идеям.
 
E

European

Как можно обойти этот момент?
Зажать админам руки в дверь за такую конфигурацию фаервола

Или как-то уменьшать ХП, хотя это и не всегда возможно. А так анализировать план запроса, пытаться добиться минимальной "стоимости" запроса.
 
S

SMitty

То есть стараться уложится в заданное время?
Я пытался сделать в отдельном потоке в рамках тойже транзакции непрерывный цикл запросов типа "select 1 from dual".
Но все равно приходится ждать ответа процедуры.
 
E

European

То есть стараться уложится в заданное время?
Да, это прежде всего...
Кстати, а по какому критерию определялось время простоя, после которого транзакция отменяется?
приходится запускать довольно большие хранимые процедуры, они выполняются долго
Долго это сколько?

Я так понимаю, что для обрубания транзакций должны быть веские доводы, а вариант
сделать в отдельном потоке в рамках тойже транзакции непрерывный цикл запросов типа "select 1 from dual".
это из ряда "а нам все равно"
 
S

SMitty

а вариант
Цитата(SMitty @ 4:03:2008 - 18:01)
сделать в отдельном потоке в рамках тойже транзакции непрерывный цикл запросов типа "select 1 from dual".

это из ряда "а нам все равно"
Это так и есть. Так как должно применяться к внешним пользователям, а приложение было написано для администраторов данных.

Кстати, а по какому критерию определялось время простоя, после которого транзакция отменяется?
Я так понимаю просто по статистике взяли среднее. Около пяти минут.
Процедура же может выполняться до получаса.
 
E

European

Процедура же может выполняться до получаса.
На мой взгляд, это очень долго и нужно попытаться что-то сделать. Хотя все ИМХО, т.к. структуры таблиц и ХП мне не известны.

Я не специалист в конфигурации фаерволов и администрирования Оракла, но может стоит попытаться не применять ограничения к транзакциям для приложения? Это больше вопрос к администраторам...

P.S. Было бы интересно послушать мнение других форумчан
 
S

SMitty

Да, ХП действительно выполняются очень долго. Приходится ворочить очень большими массивами данных. Поэтому переписывать процедуры или пытаться их разбить на много маленьких смысла не имеет.
Ситуацию осложняет то, что и приложение и ХП написаны намного раньше, чем введена эта конфигурация фаервола.
 
E

European

SMitty, тема всё больше уходит в душевные излияния.
Проблему можно решить следующими способами:
1 - изменить конфигурация фаервола
2 - изменить ХП
3 - совместно п.1 и п.2
4 - удалять гланды через ..., пытаясь "крутить" данные, чтобы наколоть фаервол.
Все остальные способы - различные вариации вышеизложенных. Остальное - Ваш выбор, т.к. никакой информации у нас нет
 
S

SMitty

Огромное спасибо European и sax_ol за участие. Основные идеи решения я понял, а дальше думать буду
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!