質問

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.

しかし、このエラーは、データベースを再起動するたびに発生しますが、データベースの起動時にDequeueを起動するために設定する構成はありますか?

ありがとう!

役に立ちましたか?

解決

dba_queuesのキューのステータスは何ですか

select owner,name,enqueue_enabled,dequeue_enabled from dba_queues;

キューが無効になっている場合は、

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

これは再起動全体に持続するはずだと思いますが、テストしていません。

他のヒント

私の場合、それは

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;

これは すべてのボイラープレート そして、それは私が実際にメッセージを受信することを可能にします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top