在启动时启动oracle dequeue

时间:2010-03-30 02:52:47

标签: database oracle oracle-aq

我收到了以下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.

但每次重启数据库时都会出现此错误,是否有任何配置设置为启动数据库启动时出队?

谢谢!

2 个答案:

答案 0 :(得分:11)

dba_queues中队列的状态是什么

select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;

如果队列被禁用,则使用

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

我相信这应该会在重启时持续存在,但我还没有测试过。

答案 1 :(得分:0)

在我的情况下,这是由于缺乏

造成的
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;

它是all boilerplate,它允许我实际接收消息。