سؤال

حصلت على الخطأ التالي لأوراكل ،

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