Inicie o Oracle Dequeue na startup
Pergunta
Eu recebi o seguinte erro do Oracle,
ORA-25226: dequeue failed, queue string.string is not enabled for dequeue
E a seguir é a causa e a ação do documento oficial:
Cause: The queue has not been enabled for dequeue.
Action: Enable the queue using START_QUEUE.
Mas esse erro ocorre toda vez que reinicia o banco de dados, existe alguma configuração para definir para iniciar o Dequeue na inicialização do banco de dados?
obrigado!
Solução
Qual é o status da fila em dba_queues
select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;
Se a fila estiver desativada, inicie -a com
begin
dbms_aqadm.start_queue(queue_name => '<OWNER.QUEUE_NAME>');
end; /
Eu acredito que isso deve persistir em reinicializações, embora não testei.
Outras dicas
No meu caso, foi causado pela falta de
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;
Isso é Toda a caldeira E isso me permite realmente receber mensagens.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow