Запустить Oracle Dequeue на стартапе
Вопрос
Я получил следующую ошибку Oracle,
ORA-25226: dequeue failed, queue string.string is not enabled for dequeue
И следующее приводит причина и действие для этого из официального документа:
Cause: The queue has not been enabled for dequeue.
Action: Enable the queue using START_QUEUE.
Но эта ошибка возникает каждый раз при перезапуске базы данных, есть ли какая -либо конфигурация, чтобы установить для запуска Dequeue для запуска базы данных?
Благодарность!
Решение
Каков статус очереди в dba_queues
select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;
Если очередь отключена, запустите ее с
begin
dbms_aqadm.start_queue(queue_name => '<OWNER.QUEUE_NAME>');
end; /
Я считаю, что это должно сохраняться во время перезапуска, я не тестировал.
Другие советы
В моем случае это было вызвано отсутствием
DECLARE
subscriber sys.aq$_agent;
BEGIN
subscriber := sys.aq$_agent('subscriber1', '<OWNER.QUEUE_NAME>', null);
DBMS_AQADM.ADD_SUBSCRIBER(
queue_name => '<OWNER.QUEUE_NAME>',
subscriber => subscriber);
END;
Это Весь шаблон И это позволяет мне фактически получать сообщения.
Не связан с StackOverflow