Domanda

ho ottenuto il seguente errore di Oracle,

ORA-25226: dequeue failed, queue string.string is not enabled for dequeue

E il seguente è la causa e azione per essa dal documento ufficiale:

Cause: The queue has not been enabled for dequeue.
Action: Enable the queue using START_QUEUE.

Ma questo errore si verifica ogni volta che riavviare il database, c'è qualche configurazione per impostare per avviare il dequeue all'avvio database?

grazie!

È stato utile?

Soluzione

Qual è lo stato della coda in dba_queues

select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;

Se la coda è disabilitato, quindi iniziare con

begin
 dbms_aqadm.start_queue(queue_name => '<OWNER.QUEUE_NAME>');
end; /

Credo che questo dovrebbe persistere in tutta riavvio, non ho ancora testato però.

Altri suggerimenti

Nel mio caso è stato causato dalla mancanza di

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;

E ' tutti boilerplate e mi permette di ricevere in realtà messaggi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top