Frage

Ich habe den folgenden Fehler von Oracle bekommen,

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

Und das Folgende ist die Ursache und Klage dafür aus dem offiziellen Dokument:

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

Dieser Fehler tritt jedoch bei jedem Neustart der Datenbank auf. Gibt es eine Konfiguration, die so eingestellt ist, dass das Dequeue beim Datenbankstart startet?

Danke!

War es hilfreich?

Lösung

Wie ist der Status der Warteschlange in DBA_queues?

select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;

Wenn die Warteschlange deaktiviert ist, starten Sie sie mit

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

Ich glaube, das sollte bei Neustarts bestehen, ich habe jedoch nicht getestet.

Andere Tipps

In meinem Fall wurde es durch den Mangel an verursacht

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;

Es ist Alle Kesselplatten Und es ermöglicht mir, tatsächlich Nachrichten zu empfangen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top