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

Тема в разделе "Delphi - Базы данных", создана пользователем SMitty, 4 мар 2008.

  1. SMitty

    SMitty Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Зажать админам руки в дверь за такую конфигурацию фаервола

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

    SMitty Гость

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Да, это прежде всего...
    Кстати, а по какому критерию определялось время простоя, после которого транзакция отменяется?
    Долго это сколько?

    Я так понимаю, что для обрубания транзакций должны быть веские доводы, а вариант
    это из ряда "а нам все равно"
     
  5. SMitty

    SMitty Гость

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

    Я так понимаю просто по статистике взяли среднее. Около пяти минут.
    Процедура же может выполняться до получаса.
     
  6. European

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

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

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Относительно получасовых ХП не очень
     
  8. SMitty

    SMitty Гость

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

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

    SMitty Гость

    Огромное спасибо European и sax_ol за участие. Основные идеи решения я понял, а дальше думать буду
     
Загрузка...
Похожие Темы - Потдержка транзакции
  1. Истребитель
    Ответов:
    4
    Просмотров:
    5.211

Поделиться этой страницей