Multiple Notifications enqueued on single queue not dequeued concurrently

Hi,
Oracle 10G database AQ behavior (10.2.0.4.0)
1) Enqueued 5 notifications into Oracle AQ
2) 5 Jobs are being submitted in dba_jobs in different Sessions
3) All 5 notifications are dequeued by Callback procedure in Parallel sessions
Oracle 11G database AQ behavior (11.2.0.3.0)
1) Enqueued 5 notifications into Oracle AQ
2) 1 Job is being submitted in dba_scheduler_jobs
3) 5 notifications are being dequeued by Callback procedure in single session
Is there a way to Dequeue messages concurrently in parallel sessions?
Thanks
Sridhar

Hi Peter,
Throughput has been decreased after moving to 11G.
Background of code:
Call back procedure on AQ we have consists of two parts
1) Dequeue of first message available
2) Calling an another procedure with information from Notification. This procedure processed all records satisfying the information from Notification.
It takes around 6 minutes to process
We have parameter p_var which is configured as 6 and this controls number of dbms_jobs fired as below
LOOP
FOR i in 1..p_var
LOOP
dbms_lock.allocate_unique ('QUEUE1'||i,l_lckhandle_db);
l_rel := dbms_lock.request (l_lckhandle_db, 6, 1, FALSE);
EXIT WHEN l_rel = 0;
END LOOP;
IF l_rel <> 0
THEN
dbms_lock.sleep (10);
END IF;
EXIT WHEN l_rel = 0;
END LOOP;
Suppose we have 10 Notifications enqueued in same second in AQ
10G code flow:
1) 6 jobs were fired and processing was in 6 parallel sessions
11G code flow:
1) only one scheduler job is fired and all 10 notifications are processed in serial.
This is reason for less throughput in 11G.
Do we have any way we can make this process in parallel? (not enqueing notifications in same second and changing any DB level parameter?)
I have an idea to fire a separate dbms_job or scheduler job to process part 2 of callback procedure.
Is this solution we can consider to problem we have or is there any other solution?
Thanks
Sridhar

Similar Messages

  • Receiving multiple notifications for a single event (email, messages)

    Since installing OS X Mavericks I have been receiving multiple notifications - sometimes two or three - announcing the arrival of a single email message. Is there any way to adjust the setting so that I only receive one notification per email or message?  Now a vital problem, but kind of annoying. Any advice would be much appreciated.
    Thanks!

    No such option i feel
    Sasikanth

  • Insert multiple files onto a single track, not one file per track

    Hello,
    In both Audition CS5.5 and CS6, when the user inserts multiple files into a multitrack session, they are placed on multiple tracks. (As the help file says, "The files are inserted on separate tracks at the current time position"). Please change this to allow multiple files to be inserted onto a single track.
    I can understand the usefulness of the current behaviour in some scenarios, but there are other workflows in which the placement of multiple files on multiple tracks is a serious hindrance.
    E.g. In this thread, a user mentions needing to insert 10,000 individual files for dialogue editing and mixing.
    I also posted in that thread because my own workflow involves editing hundreds of individual files, which are single notes recorded for the production of virtual instruments.
    The reason why a "one-track multitrack" workflow is useful to me is that it allows great flexibility in processing multiple files individually or at once, comparing them, adding markers, fades, etc.
    It would also be useful when bringing in any audio that has been recorded in consecutive chunks - field recordings, concerts, Foley sessions, etc.
    In the thread, another user suggested inserting all the files onto a single track in Premiere Pro, then bringing that project into Audition as a multitrack session. Unfortunately this creates another problem for me, because it renames all the audio with the suffix "extracted". My workflow requires me to keep the original file names, because these are used downstream when mapping the recorded notes in the virtual instrument.
    Thanks for reading and please consider this for a future update.

    Just curious. Has there been an answer yet as to how to insert existing audio clips from a file to a waveform view in CS6. I create voiceovers or edit large interview files that require audio tones and sfx for my clients in production studios. The tones are inserted between takes as a courtesy tone to denote separation.  In the older versions of Audition, the function was as simple as mix/pasting an audio file, selecting insert or overlap, set the import level percentage and paste.  And each time this function was exercised, Audition would use the same settings you last used to reduce repetition of settings. Logical. That's all gone in CS6 ... so, to lay down a voiceover file for Comcast or any client, in waveform view (vs. Multitrack which is not necessary for single mono file editing) I have to go through unnecessary steps simple to select insert/mix paste>file>paste into existing wave form.
    Also, if I need to simply overlap a gasp over the last syllable of a phrase in a simple wave form, I don't appear to be able to do this.  I called Adobe for support on these function, but, they had not answers and simple said I couldn't change the workspace, and they had no other answers. Any help would be greatly appreciated if you have insight.

  • How to create a B/D Order for multiple notifications?

    Dear Sirs,
      I would like to know how to create single order for multiple notifications of the same breakdown type.
    Is it allowed to do so what are the advantages and disadvantages of the same.
    Regards,
    M.Boopathy

    Dear Boopathy,
    You can create a Maintenance Order with Ref. to a main notification thorugh Order Create icon in transaction IW22.
    Once the Order is created, you can add remaining Notification in Object Links Tab in the Maintenance Order.
    This is the standard way of attaching multiple Notifications to a single Order.
    Kindly acknowledge if this answer helped.
    Do let me know if you have any other query in the same.
    Thanks.
    Regards,
    Avi

  • Single queue: concurrent processing of messages in multiple consumers

    Hi,
    I am new to jms . The goal is to  process messages concurrently from a queue in an asynchronous listener's onMessage method  by attaching a listener instance to multiple consumer's with each consumer using its own session and running in a separate thread, that way the messages are passed on to the different consumers for concurrent processing. 
    1) Is it ossible to process messsages concurrently from a single queue by creating multiple consumers ?
    2)  I came up with the below code, but would like to get your thoughts on whether the below code looks correct for what I want to accomplish.  
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Properties;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import com.walmart.platform.jms.client.JMSConnectionFactory;
    public class QueueConsumer implements Runnable, MessageListener {
      public static void main(String[] args) {
       // Create an instance of the client
        QueueConsumer consumer1 = new QueueConsumer();
        QueueConsumer consumer2 = new QueueConsumer();
        try {
        consumer1.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");   //US.Q.CHECKOUT-ORDER.1.0.JSON   is the queue name
        consumer2.init("oms","US.Q.CHECKOUT-ORDER.1.0.JSON");
        }catch( JMSException ex ){
        ex.printStackTrace();
        System.exit(-1);
        // Start the client running
        Thread newThread1 = new Thread(consumer1);
        Thread newThread2 = new Thread(consumer1);
        newThread1.start();newThread2.start();
        InputStreamReader aISR = new InputStreamReader(System.in);
              char aAnswer = ' ';
              do {
                  try {
      aAnswer = (char) aISR.read();
    catch (IOException e)
      // TODO Auto-generated catch block
      e.printStackTrace();
    } while ((aAnswer != 'q') && (aAnswer != 'Q'));
              newThread1.interrupt();
              newThread2.interrupt();
              try {
      newThread1.join();newThread2.join();
      } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
              System.out
      .println("--------------------exiting main thread------------------------"+Thread.currentThread().getId());
            System.exit(0);
    // values will be read from a resource properties file
    private static String connectionFactoryName = null;
    private static String queueName = null;
    // thread safe object ref
      private static ConnectionFactory qcf = null;
      private static Connection queueConnection = null;
    // not thread safe
      private Session ses = null;
      private Destination queue = null;
      private MessageConsumer msgConsumer = null;
      public static final Logger logger = LoggerFactory
      .getLogger(QueueConsumer.class);
      public QueueConsumer() {
      super();
      public void onMessage(Message msg) {
      if (msg instanceof TextMessage) {
      try {
      System.out
      .println("listener is "+Thread.currentThread().getId()+"--------------------Message recieved from queue is ------------------------"
      + ((TextMessage) msg).getJMSMessageID());
      } catch (JMSException ex) {
      ex.printStackTrace();
      public void run() {
      // Start listening
      try {
      queueConnection.start();
      } catch (JMSException e) {
      e.printStackTrace();
      System.exit(-1);
      while (!Thread.currentThread().isInterrupted()) {
      synchronized (this) {
      try {
      wait();
      } catch (InterruptedException ex) {
      break;
      * This method is called to set up and initialize the necessary Session,
      * destination and message listener
      * @param queue2
      * @param factoryName
      public void init(String factoryName, String queue2) throws JMSException {
      try {
      qcf = new JMSConnectionFactory(factoryName);
      /* create the connection */
      queueConnection = qcf.createConnection();
      * Create a session that is non-transacted and is client
      * acknowledged
      ses = queueConnection.createSession(false,
      Session.CLIENT_ACKNOWLEDGE);
      queue = ses.createQueue(queue2);
      logger.info("Subscribing to destination: " + queue2);
      msgConsumer = ses.createConsumer(queue);
      /* set the listener  */
      msgConsumer.setMessageListener(this);
      System.out.println("Listening on queue " +queue2);
      } catch (Exception e) {
      e.printStackTrace();
      System.exit(-1);
      private static void setConnectionFactoryName(String name) {
      connectionFactoryName = name;
      private static String getQueueName() {
      return queueName;
      private static void setQueueName(String name) {
      queueName = name;

    Hi Mark,
    if the messages are sent with quality of service EO (=exactly once) you can add queues.
    From documentation:
    Netweaver XI -> Runtime -> Processing xml messages -> Queues for asynchronous message processing
    ...For incoming messages you set the parameter EO_INBOUND_PARALLEL from the Tuning category.
    If more than one message is sent to the same receiver, use the configuration parameter EO_OUTBOUND_PARALLEL of the Tuning category to process messages simultaneously in different queues.
    Transaction: SXMB_ADM
    Regards
    Holger

  • Multiple queue vs single queue - peformance

    Hi All,
    Could pls throw some light on the following design.
    Currenty, We have more than 100 queues and for each there is a different MDB to receive the message.Now, somehow we made a single instance of same MDB listen to all these queues by looking at the input message. The requiement now is, is it possible to club all the queues into single queue as it's asynchronous messaging. The receiver may also try write into the same queue at the end of message processing.If so, how would be performance. Is this performance better than having multiple queues?.
    The message are expecting to be 25 k/day in the queue. And we are using Weblogic server.
    Please let me know if you need more details.
    Thanks
    Srinath

    You could try to use selectors to assign messages to particular MDBs. This way you off load some of the work on the broker but selectors by their nature usually have an impact on broker's performance. It all depends on your application, your expectations, size and the rate of your messages, how long it takes to process them on the client side. There is no simple answer in this case. You would have to test some scenarios to come up with a best solution that fits your requirements. Having said that I personally believe that some degree of partitioning of your queue could be beneficial. On a heavily loaded system it may increase the concurrency of the system and its resilience, particularly if you place the queues in different brokers. Try to imagine your broker as if it was a DB server with just one table (I'm not sure if this is the best analogy but I can't think about anything else at the moment).

  • Single Queue Vs Multiple Queues

    Hi,
    I am in the process of architecting some queues between remote databases. There are different document types being propagated from one queue to another, and they have different priorities. At the end queue there are multiple processes to dequeue and action the different document types.
    My question is, is it better to have one end queue for each process/document type ( ie multiple end point queues), or one single end point queue with all the documents in them regardless of the type?
    I know that it is possible to have the single queue end point, but is this the best option and why?
    Thanks,
    matt

    Hi Peter,
    What do you mean by different document type?Document content only is different. The payload will be the same. All the documents will be passed through as blobs. The payload will have a field to define the document content type.
    Do you intend to store different message types in the same source queue?At this stage we can go either way. If we have one single end point queue we will more than likely have one single source queue.
    If so what is the definition of the payload? The payload definition will be the same in all cases, both source and destination.
    What version of databases are you propagating between?10.2
    How many dequeueing processes will you have at the remote end?One program for each of the different document content type (invoices, remittance, etc.). Initially there will be 4, but this is likely to grow to 12 or more.
    Ultimately we expect around 10,000 documents per day to pass through the system.
    Thanks,
    Matt

  • Multiple notification against single inspection lot (03 inspection type)

    Dear friends
    While recording the defects multiple times against single inspection lot (03type) , all the defects are added in single notification, but my client requirement is they want different notification.  if any body knows please tell me.
    Note : in inspection type there is a option of multiple notification against single inspection lot, but this is
    not working (i think it will work only serial number,equipment and  functional location get changed)
    Please do the needful
    Regards

    Hi Karthikeyan
    As you mentioned it is not possible to create notification  other than based on the object types.
    A work out can be make an action box in the notification for creating another notification with the help of ABAP ( call transaction QM01) and while doing this the entire datas of the inspection lot gets copied into the notification. you may have to use a user exit also.
    Defect can be recorded in the item level by the user.
    Sounds difficult but certainly possible
    Regards
    gajesh

  • Multiple material entry in single notification QM01

    Hi,
    We have a requirement wherein we need to enter multiple materials in single notification. Currently the standard screen of QM01 allows only single material entry. Please help in finding a solution for this.
    regards,
    Satya

    Hi Satya,
    Putting multiple materials in single notification as header material is not possible. In fact how will you separate out material wise defects , coding causes, tasks and other information if you go with multiple materials.
    The materials which you put under items tab cannot be treated as header materials. Rather these are the materials which are used as child parts associated with header materials which constitute bill of material. The purpose of these materials is to identify which child part attached to parent part id defective.
    If the multiple materials you meant are child parts, you may proceed with these fields.
    If time saving is your intention then you may develop the BDC for notification creation with selected filed. Prepare data file in excel / text and upload as you upload master data.
    Regards,
    Anand Rao

  • Multiple notification to AdminMailRecipients for single quarantined Active Sync Device

    We have Exchange 2010 SP3 RU 7 and we use Exchange active sync to access emails on mobile.
    We have default access configured as quarantined and a email get delivered to HelpDesk Team to review those quarantined device whenever a new device tries to configure emails.
    I have seen a problem that HelpDesk Team is getting multiple quarantine notification for a single device, while I don't think that device owner tried it more than once to activate. Please help me on this.  Below is the output of ActiveSyncOrganizationSetting
    [PS] C:\Windows\system32>Get-ActiveSyncOrganizationSettings | fl
    DefaultAccessLevel        : Quarantine
    UserMailInsert            : DO NOT SEND THIS MESSAGE TO HelpDesk.  YOU DO NOT NEED TO DO ANYTHING.  YOUR DEVICE WILL BE Reviewed then approved.
    AdminMailRecipients       : {[email protected]}
    OtaNotificationMailInsert :
    Name                      : Mobile Mailbox Settings
    OtherWellKnownObjects     : {}
    AdminDisplayName          :
    ExchangeVersion           : 0.10 (14.0.100.0)
    DistinguishedName         : CN=Mobile Mailbox Settings,CN=OrganizationName,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Domain,DC=local
    Identity                  : Mobile Mailbox Settings
    ObjectCategory            : domain.local/Configuration/Schema/ms-Exch-Mobile-Mailbox-Settings
    ObjectClass               : {top, msExchMobileMailboxSettings}
    OriginatingServer         : domaincontroller.domain.local
    IsValid                   : True

    Hi Sourabh Kumar Jha,
    According to the description, I know that only one user has this issue.
    Please try to re-configure ActiveSync for the specific user.
    Also try to re-set ActiveSyncOrganizationSettings via following command:
    Set-ActiveSyncOrganizationSettings –DefaultAccessLevel Quarantine -AdminMailRecipients [email protected] –UserMailInsert “Your mobile device is temporarily blocked from synchronizing with the server while permissions
    are verified.”
    Thanks
    Mavis Huang
    TechNet Community Support

  • Queue with callback function not dequeuing

    Hi,
    I would like to ask you for help or for a hint regarding our problem with the queue:
    A trigger is enqueuing to a queue. This works fine, but the callback function is never called. The queue already worked for a while, but since i changed something at the procedure called by the callback it does not work anymore.
    I already have tried the following:
    -Stopping and restarting
    -Dropping and recreating (with the scheduler having no jobs anymore)
    -Dropping, restarting the database and recreating
    None of these worked. Where do I fail, when considering that the queue with the same scripts worked already? I post the script for creating the queue and adding the subscriber:
    CREATE OR REPLACE TYPE pat_history_queue_payload_type AS OBJECT
    ( TSTAMP VARCHAR2(22 CHAR),
    TYP VARCHAR2(10 CHAR),
    DELTA_MENGE NUMBER,
    ORIGIN VARCHAR2(1 CHAR),
    TEXT VARCHAR2(1000 CHAR),
    QL_TSTAMP VARCHAR2(22 CHAR)
    BEGIN
    DBMS_AQADM.CREATE_QUEUE_TABLE (
    queue_table => 'pat_history_queue_table',
    queue_payload_type => 'pat_history_queue_payload_type',
    multiple_consumers => TRUE
    END;
    BEGIN
    DBMS_AQADM.CREATE_QUEUE (
    queue_name => 'pat_history_queue',
    queue_table => 'pat_history_queue_table',
    max_retries => 10
    DBMS_AQADM.START_QUEUE (
    queue_name => 'pat_history_queue'
    END;
    BEGIN
    DBMS_AQADM.ADD_SUBSCRIBER (
    queue_name => 'pat_history_queue',
    subscriber => SYS.AQ$_AGENT(
    'pat_history_queue_subscriber',
    NULL,
    NULL )
    DBMS_AQ.REGISTER (
    SYS.AQ$_REG_INFO_LIST(
    SYS.AQ$_REG_INFO(
    'pat_history_queue:pat_history_queue_subscriber',
    DBMS_AQ.NAMESPACE_AQ,
    'plsql://PAT.HISTORY_QUEUE_DISTRIBUTION.CALLBACK',
    HEXTORAW('FF')
    1
    END;
    The function CALLBACK which is called by the queue, is never called, I checked that with log messages. Also the package that contains the function is compiled ok.
    Thanks.
    Roland

    Hi,
    Does the subscription show up correct in sys.reg$ ?
    Regards,
    Harry
    http://dbaharrison.blogspot.com/

  • CSA* BDoc Queues that will not dequeue

    Hello,
    I am trying to solve a problem with queues that will NOT dequeue automatically the BDocs in the Q&A environment (dev is OK).
    This is the context:
    NW2004s, Q&A
    CRM 5.0
    BDoc processing
    When I create a new BP, a BDoc is created.
    If I go to the SWM01 transaction, I find my nice BDoc in an "Intermediate (written to qRFC queue)." State. The related queue is named "CSABUPA" + number of BP.
    In order to really process the BDoc and create the IDoc, I must click on the queue's name, verify it's got one tranasaction in, and ACTIVATE it.
    In this way, the BDoc will be processed and I will get the green light!
    If I go to the SQMR transaction, I can see that, in QA, the CSA* queues have a "U" type, whereas, in DEV, they have a "R" type.
    Yet, I don't know (perhaps have no authorization) to change the "U" to "R" type...
    Any clues?
    Thank you very much gentlemen!

    Thank you, that was it.
    I wonder what we developers can do in the end, always have to ask Administrators to do stuff

  • Single Credit Note for multiple Credit memo request

    Hi Experts,
    I have a scenario where I want to create a single credit note w.r.t multiple credit memo request.
    I have tried to change the copy controls for Sales order --- Billing, but still the system is creating individual credit memo for respective cedir requests.

    Hello,
    Please review the Note 11162.
    Regards,
    Raghavendra

  • Error:  Current provider does not support returning multiple recordsets from a single execution

    Hello,
    The following piece of code which has been working for the
    past five years suddenly started giving me the following error:
    Current provider does not support returning multiple recordsets
    from a single execution
    We have recenlty moved this site to a new server. Could this
    error be related to their CFAdmin settings? Eveything else on the
    site seems to be working fine. Or am I using an outdated tag or
    something?
    Any light in this direction is appreciated, thanks.
    Here's the code:

    There doesn't seem to be anything that seems wrong with the
    code. It might have something to do with the Max Pooled Statements
    or Number of Connections settings in the CF Administrator, but it
    could just as easily have something to do with a setting on the
    database. I would check with your provider.

  • Is it really true that EA CC 2014 does NOT support multiple animations on a single page?

    My page has multiple animations that I have spent days designing, and now my developer is telling me we can only use one. 
    Is this seriously true?  A lack of detail on this issue will surely drive me to use another product like Hype or Google...
    http://www.adobe.com/devnet-docs/edgeanimate/api/current/index.html#multiplecompositions

    Hi,
    Please check this article, you can still use multiple composition on a single page, it is working on Edge CC214
    Nesting Animate compositions with the Composition Loader by Edge Commons | EdgeDocks.com
    I will check more on this with the concern team and let you know.
    Regards,
    Devendra

Maybe you are looking for