powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle AQ. Не выполняются задания после STOP\START_QUEUE
12 сообщений из 12, страница 1 из 1
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39258656
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня.

Создал очередь
Код: plsql
1.
2.
3.
4.
5.
6.
 dbms_aqadm.create_queue ( queue_name     => 'AQ_IMPORT',
                           queue_table    => 'T_IMPORT_AQ',
                           max_retries    => 5,
                           retry_delay    => 60,
                           retention_time => 60,
                         );



Останавливаю извлечение сообщений
Код: plsql
1.
2.
3.
4.
5.
begin        
   dbms_aqadm.stop_queue ( queue_name => 'AQ_IMPORT',
                           dequeue    => true,
                           enqueue    => false );       
end; 



Сообщения добавляются успешно (статус "READY").

Запускаю очередь
Код: plsql
1.
2.
3.
4.
5.
begin        
   dbms_aqadm.start_queue ( queue_name => 'AQ_IMPORT',
                            enqueue    => true,
                            dequeue    => true );       
end;



Все последующие сообщения обрабатываются, а вот появившиеся в промежутке stop->start так и остаются в статусе "READY".
Процедуру, разгребающую сообщения после stop->start написать можно, но так хочется чтобы oracle за меня разгрёб :)
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39258658
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Egoza,

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39258911
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Egoza,

Если ответа нет, значит есть вероятность того, что я на неверном пути.

У меня очередь с подписчиками. Сообщения обрабатываются автоматически. Допустим, мне надо изменить процедуру, которая делает dequeue. Дабы не словить блокировку при компилировании, я отключаю извлечение - stop_queue. Делаю дело и опять включаю. За эту паузу вставляются сообщения. И после включения я ожидаю автоматического разбора скопившихся сообщений, но этого не происходит.

Как верно отключать очередь? Может всего лишь отключить подписчиков - DBMS_AQ.UNREGISTER ?
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259276
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgozaМожет всего лишь отключить подписчиков - DBMS_AQ.UNREGISTER ?Такой вариант рассматривали недавно 19142862
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259277
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgozaДопустим, мне надо изменить процедуру, которая делает dequeue. EgozaПроцедуру, разгребающую сообщения после stop->start написать можно, но так хочется чтобы oracle за меня разгрёб :) Один раз написать извлечение/вставку обратно, поместить вызов в триггер after create на схему, например...
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259333
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ma1tus,

спасибо за ссылку на тему. У меня аналогичная ситуация. Неужели придётся "руками" разгребать...
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259396
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgozaМожет всего лишь отключить подписчиков - DBMS_AQ.UNREGISTER ?
Зачем их отписывать от очереди, когда необходимо(для компиляции пакетов) и достаточно просто остановить те процессы , которые выполняют dequeue?
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259540
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

Можно ли немного подробнее?
У меня dequeue выполняет callback-процедура. Знаю 2 варианта остановить выполнение -- unregister или stop_queue
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259582
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgozaУ меня dequeue выполняет callback-процедура.Механизм plsql-callback реализован непродуманно. Повесь обычный (не event) джоб, который перебирает сообщения по порядку и засыпает на dequeue.
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259585
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgozaУ меня dequeue выполняет callback-процедура.
Ну рассмотрите до кучи вариант Писатель->очередьSrc->очередьClbk->callback с остановкой/запуском "очередьClbk"
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259626
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-Механизм plsql-callback реализован непродуманно.
Эх...

-2-Повесь обычный (не event) джоб, который перебирает сообщения по порядку и засыпает на dequeue.
Благодарю за совет.
...
Рейтинг: 0 / 0
Oracle AQ. Не выполняются задания после STOP\START_QUEUE
    #39259631
Egoza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymousНу рассмотрите до кучи вариант Писатель->очередьSrc->очередьClbk->callback с остановкой/запуском "очередьClbk"
Поиграюсь с таким вариантом тоже. Спасибо
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle AQ. Не выполняются задания после STOP\START_QUEUE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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