Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 DBMS_AQ.DEQUEUE  [new]
maha
Member

Откуда:
Сообщений: 1
Доброго времени суток!

При работе с очередями столкнулись с непонятным поведением сообщений после извлечения из очереди.
Хотим извлечь из очереди все сообщения для данного consumer.
Извлекаем с помощью dbms_aq.dequeue c параметрами no_wait, first_message, consumer_name.
Все работает нормально.
Все сообщения для указанного consumer обрабатываются dbms_aq.dequeue.
Сразу после завершения работы dbms_aq.dequeue смотрим в вьюхе AQ$QUEUE_T_QUEUE_x для нашей очереди - и видим что необходимые сообщения находятся в статусе 'PROCESSED'.
Смотрим в таблице QUEUE_T_QUEUE_x - и видим что сообщения находятся в статусе 'READY'.
Через некоторое время повторяем запросы к вьюхе/таблице - и видим что теперь все необходимые сообщения удалены из очереди - то есть запросы не возвращают данных.
Retention для очереди - 25 часов. Сообщения удаляются намного раньше.
Вопрос: от чего зависит время между тем как
сообщения устанавливаются в статус 'PROCESSED' после dbms_aq.dequeue
и
временем когда сообщения исчезают из очереди.
При запуске на разных инстансах (параметры очередей одинаковые) наблюдаем разное время.
AQ_TM_PROCESSES=10
Возможно время очистки сообщений в статусе 'PROCESSED' зависит от работы
Queue Monitor?
Тогда как можно отследить работу данного процесса(ов) и управлять им.
Заранее спасибо!
Любая помощь приветствуется :)
8 сен 06, 16:43    [3112496]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить