我收到了以下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.
但每次重启数据库时都会出现此错误,是否有任何配置设置为启动数据库启动时出队?
谢谢!
答案 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,它允许我实际接收消息。