【问题标题】:Start oracle dequeue on startup在启动时启动 oracle dequeue
【发布时间】:2011-02-02 07:26:57
【问题描述】:

我得到了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.

但是每次重启数据库都会出现这个错误,请问有什么配置可以设置数据库启动时出列吗?

谢谢!

【问题讨论】:

    标签: database oracle oracle-aq


    【解决方案1】:

    dba_queues中队列的状态是什么

    select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;
    

    如果队列被禁用,则启动它

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

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

    【讨论】:

    • 是的,重启后还是可以的。也许是因为我刚刚开始排队。谢谢!
    【解决方案2】:

    在我的情况下,它是由缺乏引起的

    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,它允许我实际接收消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-30
      • 2016-05-26
      • 2014-01-03
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      相关资源
      最近更新 更多