0 Replies Latest reply on Oct 3, 2013 12:46 PM by stashek

    AQ: cannot dequeue READY message

    stashek

      Hi.

       

      Oracle Database 11g Enterprise Edition     11.2.0.3.0    64bit Production

      Queue info:

      NAME: TP_AQ_OUT_QUEUE

      QUEUE_TABLE: TP_AQ_OUT

      QID: 1032376

      QUEUE_TYPE: NORMAL_QUEUE

      MAX_RETRIES: 5

      RETRY_DELAY: 6

      ENQUEUE_ENABLED: YES 

      DEQUEUE_ENABLED: YES 

      RETENTION: 0

      USER_COMMENT: (null)   

      NETWORK_NAME (null)

       

      I have message with STAT=READY(0), RETRY_COUNT=1 (rollback from Java app), DEALY=0 ...

      I can dequeue it with parameters:

      v_dequeue_options.dequeue_mode := DBMS_AQ.BROWSE;

      v_dequeue_options.wait := DBMS_AQ.NO_WAIT;

      v_dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;

       

      but i can't get it with:

      v_dequeue_options.dequeue_mode := DBMS_AQ.LOCKED;

      v_dequeue_options.wait := DBMS_AQ.NO_WAIT;

      v_dequeue_options.navigation := DBMS_AQ.FIRST_MESSAGE;

       

      Difference: BROWSE vs LOCKED.

       

      Whole process:

      1. First app (Oracle BRM) insert messages.

      2. Second app (loop) dequeue messages and process it. If fail - rollback message, and (if there is no more messages) get it again ... but after restart - can't get this one ...

       

      How to check if some procces lock my message?