Oracle DBMS_ALERT Waitany Delay - PullRequest
       22

Oracle DBMS_ALERT Waitany Delay

1 голос
/ 09 марта 2011

У меня есть работа, которая будет подавать n других работ.Я настроил мою процедуру pl / sql для регистрации на n рабочих мест, используя dbms_alert.register.Каждое из этих заданий будет отправлять dbms_alert.signal.Я выпустил коммит сразу после сигнала.

Вот проблема, когда моя программа попадает в dbms_alert.waitany, сигнал не будет возвращен в течение 5 секунд (почти точно каждый раз).Процедура отправит еще n заданий, и снова waitany не получит никаких сигналов в течение примерно 5 секунд.

Я провел исследование и увидел, что интервал опроса по умолчанию для dbms_alert.waitany составляет 5 секунд.Это можно изменить с помощью процедуры dbms_alert.set_defaults.Я сделал это без эффекта.Я замусорил свой код с помощью dbms_alert.set_defaults (1) (также пробовал также 600), пытаясь получить сигналы менее 5 секунд, но ничего не работает.

Кто-нибудь может мне помочь?

Спасибо

1 Ответ

0 голосов
/ 26 апреля 2011

Что вам нужно, так это устаревший параметр инициализации _job_queue_interval. Это все еще может быть установлено с

alter system set "_job_queue_interval"=5 scope=spfile;

... и перезапуск базы данных.

Процедура DBMS_ALERT.SET_DEFAULTS устанавливает интервал опроса , если требуется цикл опроса (что очень редко). Обратитесь к документам Oracle 10g о том, когда происходит опрос (что очень редко).

...