Start oracle dequeue on startup
Asked Answered
B

2

7

I got the following error of Oracle,

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

And the following is the Cause and Action for it from the official document:

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

But this error occurs every time when restart the database, is there any configuration to set to start the dequeue on database startup?

thanks!

Bipack answered 30/3, 2010 at 2:52 Comment(0)
Q
11

What is the status of the queue in dba_queues

select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;

If the queue is disabled, then start it with

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

I believe this should persist across restarts, I haven't tested though.

Quartermaster answered 30/3, 2010 at 3:10 Comment(1)
Yes,it's still enable after restart. Maybe because I have just started the enqueue only.Thanks!Bipack
G
0

In my case it was caused by the lack of

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;

It's all boilerplate and it allows me to actually receive messages.

Gurolinick answered 5/4, 2018 at 13:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.