Assuring a single instance of a monitor process with DB locks?

I am developing an application with multiple modules and my customers would like to be able to run the modules on different servers if they wish to do so because of load. There are a couple "monitor" threads which implement java.util.Timer and java.util.TimerTask to periodically check certain files, database tables, etc. I think it is most appropriate that only one instance of each "monitor" should be allowed to run, regardless of which physical box it is on.
I'm having trouble coming up with how to do this. The only real "central" point here is the database, so I'm wondering if there is some way to "lock" on a table, record, etc. in the database via my JDBC connection to signal that which ever monitor thread received the lock may continue to execute, but any other monitor threads of the same type from any other JVM or machine would exit out. However, since I have some monitoring of my monitor threads, I would like for this "lock" to timeout if its associated monitor were to fail gracefully or un-gracefully -- so I could somewhat quickly spin-up a new monitor.
Is this possible with JDBC? I'm going to do some testing with the simple "SELECT FOR UPDATE" query. Thanks.

This doesn't seem like a very good approach...
Why not some sort of messaging service? http://java.sun.com/products/jms/

Similar Messages

  • Single instance of a BPEL process

    Hi,
    We are using BPEL 10.1.3.3.0 for integration between a vendor product and Oracle E-Business Suite.
    Is there a way of ensuring that only one instance of the BPEL process is active at any one time?
    The reason behind this is because the process takes data from the vendor system using a db adapter and calls a PL/SQL procedure to validate and call Oracle APIs to update base tables. We need to be able to guarantee the order of processing to ensure the latest data is written to Oracle.
    We have been experiencing the situation where multiple instances of the BPEL process are initiated at once, and causing out of order processing resulting in duplicate data being written to Oracle, and out of order updating causing out of date information overriding the latest data.
    We are using a database adapter to poll a table for new records. The delete polling strategy removes records after being read. Up to 1000 records can be read in each instance. The polling interval is 60 seconds.
    Cheers,
    Will

    Thanks Eric.
    I have almost got it working, except that when I initiate multiple instances of the Singleton Accessor, some instances remain waiting forever for a response.
    Have you been able to work through this example with success?
    Cheers,
    Will

  • Assuring a single instance of sound

    I have this code:
    var mySound:Sound = new Sound();
    var myChannel:SoundChannel = new SoundChannel();
    var lastPosition:Number = 0;
    mySound.load(new URLRequest("audio/audio1.mp3"));
    pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
    function onClickPause(e:MouseEvent):void{
        lastPosition = myChannel.position;
        myChannel.stop();
    play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);
    function onClickPlay(e:MouseEvent):void{
        myChannel = mySound.play(lastPosition);
    stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);
    function onClickStop(e:MouseEvent):void{
         SoundMixer.stopAll();
    Everything works fine : When I click the play button it starts and resumes sund. But if  I accidently press the start buttun twice it brings on two simultaneos sounds. How can I make sure that only 1 instance of sound is playing?
    Thanks for any help.

    use:
    var isPlayingBool:Boolean;
    var mySound:Sound = new Sound();
    var myChannel:SoundChannel = new SoundChannel();
    var lastPosition:Number = 0;
    mySound.load(new URLRequest("audio/audio1.mp3"));
    pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
    function onClickPause(e:MouseEvent):void{
        lastPosition = myChannel.position;
        myChannel.stop();
    isPlayingBool=false;
    play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);
    function onClickPlay(e:MouseEvent):void{
    if(!isPlayingBool){
        myChannel = mySound.play(lastPosition);
    isPlayingBool=true;
    stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);
    function onClickStop(e:MouseEvent):void{
         SoundMixer.stopAll();
    isPlayingBool=false;

  • Multiple environment instances in the same process with DB_REGISTER flag

    Hello,
    I'm having two applications in the tomcat that should use the same environment. I have the DB_REGISTER flag set, and since tomcat has a java single process for all applications, I can't open an environment in the second application since I get a "DB_REGISTER limits processes to one open DB_ENV handle per environment" error message. This is understandable. So my question is: is there a way to "join" the first opened environment instance. Or do I have to run applications in two different processes, i.e. using 2 tomcat instances?
    Thanks,
    Vyacheslav

    Thanks for reply Sandra.
    I have a follow-up question. Is it possible to get an environment instance if it's already opened in the process. For instance like:
    Application1 in the tomcat process:
    Environment env  = new Environment(envHome, envConfig) //openning an env under "envHome" directoryApplication2 in the same tomcat process:
    Environment env;
    try{
      env  = new Environment(envHome, envConfig) //openning an env under "envHome" directory
    } catch (DbException e) {
      if(isAlreadyOpenedException(e)) { //checking that our exception is "DB_REGISTER flag permits only 1 opened env handle per process"
         env = Enviroment.getEnvironmentHandleFromTheSameProcess(); //here I'm improvising. Is there any similar method?
    } So my question is if it's something that is possible.
    Thanks in advance,
    Vyacheslav

  • Auto-populate of SHELL_shellName_shell Upper form DE only functions in one single-instance project shell.  The DE in the BP Upper Form needs to auto-populate in two separate single-instance shells.  How can I get this DE to autopopulate in both?

      The Unifier environment
    contains two single-instance project shells, INF and PBS, and two multiple-instance child project shells, INFS and
    PB.    There is a single instance, non-workflow
    business process, ‘Project Information’ that contains a data element in the
    upper form definition, Project ID.  The Project ID is set to auto-populate from the multi-instance “INFS”
    project shell attribute, which is populated manually. 
    Issue:  The auto-populate functionality for the
    Project ID ‘Shell_shellName_shell’ data element within the single-instance
    Project Information BP only functions within one of the shells, either
    INFS or PB, but not both.  The INF and INFS shells are currently deployed
    to production, PB and PBS shell are not.
    It is critical that Project ID ‘Shell_shellname_shell’ data element is populated correctly in the
    Project Information upper form of both shells, INFS and PB,
    because that data element is referenced by multiple business processes and
    integrations. 
    The attribute form definitions for both single and multiple instance project shells are identical.  The Project ID utilizes the same data
    element ‘SHELL_shellName_shell’ as is defined in both shell attribute forms
    (INFS and PB). 
    The data definition source is a Unifier system-level variable, SYS Shell
    Name (String, 128, Text Box)
    Potential Solutions:
    1. Create a Project ID DE of another data type which can
    be successfully auto-populated from either shell.  Drawback: all BPs and integrations which
    reference Shell_Shellname_shell will need to be rewritten.
    2. Investigate converting the Project Information single-instance
    to a  multi-instance BP, and create a
    separate instance for each single-instance shell type.  Same Drawback as Option #1, but with additional
    rework.  Most likely Project Information
    would have to be recreated as a new BP.
    Not sure that this option would even work.
    3. Create a separate Project Information BP for PB.  Drawback:  Two separate BPs for Project Information would
    need to be created.  All existing BPs
    refer to Project Information, so this option could potentially invalidate the
    ability to use the existing BPs in the PB shell.

    Was it really necessary to post the whole API description?!?
    Locale[] locales = Locale.ENGLISH();ENGLISH is not a method in class Locale, so do not add the braces "( );".
    Also, the constant ENGLISH is not an array, but just a single Locale object.
    You didn't say what your problem was. What do you want to achieve with your program and what is it that you don't understand?

  • Single instance app with native packaging

    Is there any way to allow only one instance of the app to run with javafx2 native packaging? Like an attribute in the build.xml or something?
    I'm using the .exe for windows and the .dmg for mac.
    Appreciate your help.

    There is no simple deployment build switch that I know of for achieving a single instance app.
    A couple of ideas (none of which I have tried).
    Perhaps you could use the SingleInstanceService:
    http://www.oracle.com/technetwork/articles/java/fxbest-1583679.html "Ensuring Only One Instance of the Application Is Started"
    http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/examples.html#SingleInstanceService "SingleInstanceService"
    It is a jnlp api based service though and I'm not sure if such a service would be available to a packaged app (maybe it would require including the jre/lib/javaws.jar file with your app or something like that).
    You could write out a lock file when the app starts.
    On unix (i.e. mac/linux) the lock could include the process pid for your app. On startup, check if there is a process with the lock pid currently running, if so, don't startup and perhaps send an interrupt signal to the existing app notifying it that the user tried to start a new instance.
    On windows you could read and write the lock value value from the registry.
    To get rid of the OS specific stuff surrounding this, perhaps this kind of lock logic could be implemented using the Java Preferences API:
    http://docs.oracle.com/javase/7/docs/technotes/guides/preferences/index.html
    Intellij Idea is open source and and seems to have this kind of functionality, so you could check how they do it.

  • Error initiating process in single instance mode

    We have implemented Guided Procedures and have included a visual approval step to review an employee's supporting documentation before an Admin makes changes based on the approval request, and also KM documentation steps and iViews.  Lately in the Alerts monitoring area I am seeing multiple errors. 
    I have checked the callable objects and all pass the check (including input and output parameters, results states, process exceptions and configuration parameters) however the error keeps showing up.  Within the process instatiation tab the process is set to 'single running process is permitted for each user'.
    Does anyone know what may be causing these alerts, and how do you repair them?
    The full alert is below:
    Error initiating process in single instance mode
    com.sap.caf.eu.gp.model.pfw.core.SingleInstanceProcessException: Error initiating process in single instance mode
    at com.sap.caf.eu.gp.model.pfw.core.impl.ProcessRuntime.startProcess(ProcessRuntime.java:1049)
    at com.sap.caf.eu.gp.ui.inst.CInstantiation.initiateProcess(CInstantiation.java:533)
    at com.sap.caf.eu.gp.ui.inst.wdp.InternalCInstantiation.initiateProcess(InternalCInstantiation.java:199)
    at com.sap.caf.eu.gp.ui.inst.VData.onPlugFromWizard(VData.java:174)
    at com.sap.caf.eu.gp.ui.inst.wdp.InternalVData.wdInvokeEventHandler(InternalVData.java:166)
    at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
    at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.navigate(ClientApplication.java:826)
    at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.navigate(ClientComponent.java:881)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doNavigation(WindowPhaseModel.java:498)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:144)
    at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:333)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
    at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
    at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:869)
    at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:229)
    at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1346)
    at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:356)
    at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
    at com.sap.portal.pb.PageBuilder.wdDoRefresh(PageBuilder.java:595)
    at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:867)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
    at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:333)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253)
    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

    Hello,
    The GP SingleInstanceProcessException is normal when using
    Single instance process instances which for example ESS uses.
    If  you have single instance processes and you try to start an already
    started instance, the exception will appear but will not cause problems.
    It  notifies the UI to redirect to the previous process instance.
    It is expected behaviour.
    Thanks and best regards,
    Carl Connolly
    Senior Support Consultant - Netweaver Web Application Server
    AGS Primary Support, Global Support Centre Ireland
    Guided Procedures trouble shooting guide:
    https://
    www.sdn.sap.com/irj/scn/wiki?path=/display/jstsg/%2528gp%2529home

  • BPEL process having one file and one FTP adapters and single instance

    hi All,
    We have a customer requirement where we have to read from FTP location (XML every 5 Mins) and Local file system (CSV every Min).
    There is no correlation between the files ...this file data could be same, only difference is some user will copy it in FTP location some in the local file system.
    We need to pickup these file as it arrive in respective locations and read one particular value from it and set a global value and do some processing.
    Next time when file arrives in any location (FTP or local) it should pickup the file compare the particular value to the global value which was set at the previous stage and do processing based on whether is greater or lesser and this reading should go on.
    As files needs to be picked up every Minute, customer doesnt want to initiate multiple BPEL process ...everything should happen in the single instance.
    how do solve this , pls help.
    Regards,
    Surendra

    Hi Surendra,
    When you say " everything should happen in the single instance", I hope you mean everything shud happen in the same BPEL process irrespective of the location(FTP or local) where file is copied.
    So, what you can do here is instead of using a single receive activity. Make use of Flow activity and put 2 separate receive activities( one each for polling local and FTP location) in parallel.
    After that you can separately act upon the variable from both the receive activities.
    thanks
    Saurabh

  • Benefit of RAC over single instance

    Dear,
    There would be up-gradation of our main system from oracle 10.2.0.4 to 11.2.0.4. The management wants to stay on single instance as it is now. But Oracle RAC is something that is must for all the critical system I need to present the benefit of RAC over single instance considering the high cost. Can you show me the benefits of RAC that ppl would go for it instead  of single instance????

    Hi,
    The Benefits of Oracle Real Application Clusters.
    High Availability-Oracle Real Application Clusters 11g provides the foundation for data centre-high availability. It is also
    an integral component of Oracle’s Maximum Availability Architecture, which provides best practices to
    provide the highest availability for your data center. Oracle Real Application provides the following ke
    characteristics essential for a high available data management
    Reliability – The Oracle Database is known for its reliability. Oracle Real Application Clusters takes this
    a step further by removing the database server as a single point of failure. If an instance fails, the
    remaining instances in the server pool remain open and active. Oracle Clusterware monitors all Oracle
    processes and immediately restarts any failed component.
    Recoverability – The Oracle Database includes many features that make it easy to recover from all
    types of failures. If an instance fails in an Oracle RAC database, it is recognized by another instance in
    the server pool and recovery will start automatically. Fast Application Notification (FAN) and Fast
    Connection Failover (FCF) or Transparent Application Failover (TAF) make it easy for applications to
    mask component failures from the user.
    Error Detection – Oracle Clusterware automatically monitors Oracle RAC databases as well as other
    Oracle processes (ASM, listener, etc) and provides fast detection of problems in the environment. It also
    automatically recovers from failures often before users noticed that a failure has occurred. Fast
    Application Notification (FAN) provides the ability for applications to receive immediate notification of
    cluster component failures in order to re-issue the transaction before the failure surfaces.
    Continuous Operations – Oracle Real Application Clusters provides continuous service for both
    planned and unplanned outages. If a server (or an instance) fails, the database remains open and the
    application is able to access data. Most database maintenance operations can be completed without
    downtime and are transparent to the user. Many other maintenance tasks can be done in a rolling
    fashion so application downtime is minimized or removed. Fast Application Notification and Fast
    Connection Failover assist applications in meeting service levels.
    Scalability-Oracle Real Application Clusters provides a unique technology for scaling applications. Traditionally,
    when database servers ran out of capacity, they were replaced with new and larger servers. As servers
    grow in capacity, they are more expensive. For databases using Oracle RAC, there are alternatives for
    increasing the capacity. Applications that have traditionally run on large SMP servers can be migrated to
    run on pools of small servers. Alternatively, you can maintain the investment in the current hardware and
    add a new servers to the pool (or to create a server pool) to increase the capacity. Adding servers to a
    server pool with Oracle Clusterware and Oracle RAC does not require an outage and as soon as the new
    instances are started, the application can take advantage of the extra capacity. All servers in the server pool
    must run the same operating system and the same version of Oracle, but they do not have to be of exactly
    the same capacity. Customers today run server pools that fit their needs often using servers of (slightly)
    different characteristics.
    http://www.oracle.com/technetwork/database/clustering/overview/twp-rac11gr2-134105.pdf

  • Streams Setup from RAC to Single instance

    Does anyone have a document to setup streams from RAC to Non RAC. I successfully setup streams on 2 single instances but I am having issues in replicating, Streams is setup on node1 or Rac and Apply process is also setup on single node. but data is not replicating.
    Appreciate any suggestions.

    From Metalink Note 418755.1:
    Additional Configuration for RAC Environments for a Source Database Archive Logs
    The archive log threads from all instances must be available to any instance
    running a capture process. This is true for both local and downstream capture.
    Queue Ownership
    When Streams is configured in a RAC environment, each queue table has an
    "owning" instance. All queues within an individual queue table are owned by
    the same instance. The Streams components (capture/propagation/apply) all
    use that same owning instance to perform their work. This means that
    + a capture process is run at the owning instance of the source queue.
    + a propagation job must run at the owning instance of the queue
    + a propagation job must connect to the owning instance of the target queue.
    Ownership of the queue can be configured to remain on a specific instance,
    as long as that instance is available, by setting the PRIMARY _INSTANCE
    and/or SECONDARY_INSTANCE parameters of DBMS_AQADM.ALTER_QUEUE_TABLE.
    If the primary_instance is set to a specific instance (ie, not 0), the queue
    ownership will return to the specified instance whenever the instance is up.
    Capture will automatically follow the ownership of the queue.If the ownership
    changes while capture is running, capture will stop on the current instance
    and restart at the new owner instance.
    For queues created with Oracle Database 10g Release 2, a service will be
    created with the service name= schema.queue and the network name
    SYS$schema.queue.global_name for that queue. If the global_name of the
    database does not match the db_name.db_domain name of the database, be sure
    to include the global_name as a service name in the init.ora.
    For propagations created with the Oracle Database 10g Release 2 code with
    the queue_to_queue parameter to TRUE, the propagation job will deliver only
    to the specific queue identified. Also, the source dblink for the target
    database connect descriptor must specify the correct service (global name of
    the target database ) to connect to the target database. For example, the
    tnsnames.ora entry for the target database should include the CONNECT_DATA
    clause in the connect descriptor for the target database. This claus should
    specify (CONNECT_DATA=(SERVICE_NAME='global_name of target database')).
    Do NOT include a specific INSTANCE in the CONNECT_DATA clause.
    For example, consider the tnsnames.ora file for a database with the global name
    db.mycompany.com. Assume that the alias name for the first instance is db1 and
    that the alias for the second instance is db2. The tnsnames.ora file for this
    database might include the following entries:
    db.mycompany.com=
    (description=
    (load_balance=on)
    (address=(protocol=tcp)(host=node1-vip)(port=1521))
    (address=(protocol=tcp)(host=node2-vip)(port=1521))
    (connect_data=
    (service_name=db.mycompany.com)))
    db1.mycompany.com=
    (description=
    (address=(protocol=tcp)(host=node1-vip)(port=1521))
    (connect_data=
    (service_name=db.mycompany.com)
    (instance_name=db1)))
    db2.mycompany.com=
    (description=
    (address=(protocol=tcp)(host=node2-vip)(port=1521))
    (connect_data=
    (service_name=db.mycompany.com)
    (instance_name=db2)))
    Use the italicized tnsnames.ora alias in the target database link USING clause.
    DBA_SERVICES lists all services for the database. GV$ACTIVE_SERVICES identifies
    all active services for the database In non_RAC configurations, the service
    name will typically be the global_name. However, it is possible for users to
    manually create alternative services and use them in the TNS connect_data
    specification . For RAC configurations, the service will appear in these views
    as SYS$schema.queue.global_name.
    Propagation Restart
    Use the procedures START_PROPAGATION and STOP_PROPAGATION from
    DBMS_PROPAGATION_ADM to enable and disable the propagation schedule.
    These procedures automatically handle queue_to_queue propagation.
    Example:
    exec DBMS_PROPAGATION_ADM.stop_propagation('name_of_propagation'); or
    exec DBMS_PROPAGATION_ADM.stop_propagation('name_of_propagation',force=>true);
    exec DBMS_PROPAGATION_ADM.start_propagation('name_of_propagation');
    If you use the lower level DBMS_AQADM procedures to manage the propagation schedule,
    be sure to explicitly specify the destination_queue name when queue_to_queue propagation has been configured.
    Example:
    DBMS_AQADM.UNSCHEDULE_PROPAGATION('source_queue_name','destination',destination_queue=>'specific_queue');
    DBMS_AQADM.SCHEDULE_PROPAGATION('source_queue_name','destination',destination_queue=>'specific_queue');, DBMS_AQADM.ENABLE_PROPAGATION_SCHEDULE('source_queue_name','destination',destination_queue=>'specific_queue');,
    DBMS_AQADM.DISABLE_PROPAGATION_SCHEDULE('source_queue_name','destination',destination_queue=>'specific_queue');, DBMS_AQADM.ALTER_PROPAGATION_SCHEDULE('source_queue_name','destination',destination_queue=>'specific_queue');
    Changing the GLOBAL_NAME of the Source Database
    See the OPERATION section on Global_name below. The following are some
    additional considerations when running in a RAC environment.
    If the GLOBAL_NAME of the database is changed, ensure that any propagations
    are dropped and recreated with the queue_to_queue parameter set to TRUE.
    In addition, if the GLOBAL_NAME does not match the db_name.db_domain of the
    database, include the global_name for the queue (NETWORK_NAME in DBA_QUEUES)
    in the list of services for the database in the database parameter
    initialization file.
    Section 4. Target Site Configuration
    The following recommendations apply to target databases, ie, databases in which
    Streams apply is configured.
    1. Privileges
    Grant Explicit Privileges to APPLY_USER for the user tables
    Examples:
    Privileges for table level DML: INSERT/UPDATE/DELETE,
    Privileges for table level DDL: CREATE (ANY) TABLE , CREATE (ANY) INDEX,
    CREATE (ANY) PROCEDURE
    2. Instantiation
    Set Instantiation SCNs manually if not using export/import. If manually
    configuring the instantiation scn for each table within the schema, use the
    RECURSIVE=>TRUE option on the DBMS_STREAMS_ADM.SET_SCHEMA_INSTANTIATION_SCN
    procedure
    For DDL Set Instantiation SCN at next higher level(ie,SCHEMA or GLOBAL level).
    3. Conflict Resolution
    If updates will be performed in multiple databases for the same shared
    object, be sure to configure conflict resolution. See the Streams
    Replication Administrator's Guide Chapter 3 Streams Conflict Resolution,
    for more detail.
    To simplify conflict resolution on tables with LOB columns, create an error
    handler to handle errors for the table. When registering the handler using
    the DBMS_APPLY_ADM.SET_DML_HANDLER procedure, be sure to specify the
    ASSEMBLE_LOBS parameter as TRUE.
    In Streams Concepts manual 10.2 chapter 22: Monitoring Apply
    Displaying detailed information about Apply errors.
    4. Apply Process Configuration
    A. Rules
    If the maintain_* procedures are not suitable for your environment,
    please use the ADD_RULES  procedures (ADDTABLE_RULES , ADD_SCHEMA_RULES ,
    ADD_GLOBAL_RULES (for DML and DDL), ADD_SUBSET_RULES (DML only).
    These procedures minimize the number of steps required to configure Streams
    processes. Also, it is possible to create rules for non-existent objects,
    so be sure to check the spelling of each object specified in a rule carefully.
    APPLY can be configured with or without a ruleset. The ADD_GLOBAL_RULES can
    be used to apply all changes in the queue for the database. If no ruleset is
    specified for the apply process, all changes in the queue are processed by the apply process.
    A single Streams apply can process rules for multiple tables or schemas
    located in a single queue that are received from a single source database .
    For best performance, rules should be simple. Rules that include LIKE clauses are
    not simple and will impact the performance of Streams.
    To eliminate changes for particular tables or objects, specify the
    include_tagged_lcr clause along with the table or object name in the
    negative rule set for the Streams process. Setting this clause will
    eliminate all changes, tagged or not, for the table or object.
    B. Parameters
    Set the following parameters after a apply process is created:
    + DISABLE_ON_ERROR=N Default: Y
    If Y, then the apply process is disabled on the first unresolved error,
    even if the error is not fatal.
    If N, then the apply process continues regardless of unresolved errors.
    + PARALLELISM=3* Number of CPU Default: 1
    Apply parameters can be set using the SET_PARAMETER procedure from the
    DBMS_APPLY_ADM package. For example, to set the DISABLE_ON_ERROR parameter
    of the streams apply process named APPLY_EX, use the following syntax while
    logged in as the Streams Administrator:
    exec dbms_apply_adm.set_parameter('apply_ex','disable_on_error','n');
    Change the apply parallelism parameter recommendation to a lower number.
    In general, try 4 or 8 and increase or decrease as necessary for your workload.
    In some cases, performance can be improved by setting the following hidden
    parameter. This parameter should be set when the major workload is UPDATEs
    and the updates are performed on just a few columns of a many-column table.
    + DYNAMICSTMTS=Y Default: N
    If Y, then for UPDATE statements, the apply process will optimize the
    generation of SQL statements based on required columns.
    CHECKPOINTFREQUENCY=1000
    Increase the frequency of logminer checkpoints especially in a
    database with significant LOB or DDL activity.
    exec dbms_capture_adm.set_parameter('capture_ex','_checkpoint_frequency','1000');
    5. Additional Configuration for RAC Environments for a Apply Database
    Queue Ownership
    When Streams is configured in a RAC environment, each queue table has an
    "owning" instance. All queues within an individual queue table are owned
    by the same instance. The Streams components (capture/propagation/apply)
    all use that same owning instance to perform their work. This means that
    the database link specified in the propagation must connect to the owning
    instance of the target queue. the apply process is run at the owning instance
    of the target queue
    Ownership of the queue can be configured to remain on a specific instance,
    as long as that instance is available, by setting the PRIMARY _INSTANCE and
    SECONDARY_INSTANCE parameters of DBMS_AQADM.ALTER_QUEUE_TABLE. If the
    primary_instance is set to a specific instance (ie, not 0), the queue
    ownership will return to the specified instance whenever the instance is up.
    Apply will automatically follow the ownership of the queue. If the ownership
    changes while apply is running, apply will stop on the current instance and
    restart at the new owner instance.
    Changing the GLOBAL_NAME of the Database
    See the OPERATION section on Global_name below. The following are some
    additional considerations when running in a RAC environment.
    If the GLOBAL_NAME of the database is changed, ensure that the queue is
    empty before changing the name and that the apply process is dropped and
    recreated with the apply_captured parameter = TRUE. In addition, if the
    GLOBAL_NAME does not match the db_name.db_domain of the database, include
    the GLOBAL_NAME in the list of services for the database in the database
    parameter initialization file.

  • SharePoint Designer workflow executing same lines\steps multiple time in single instance

    I am working SharePoint 2010 workflow. I am facing an issue.
    Problem:
    1) I have few workflows running on different situation
    2) Out of all workflows one is set to execute on "Item Created"
    3) This workflow having some lines to execute and then create an item and then wait for a change in field value.
    4) Expectation: This should create one instance and execute the lines\steps only once and wait for field change.
    5) Actual Out-Come: The workflow is executing the lines\steps three times in a single instance.
    6) The workflow history is showing the three time execution of all lines\steps using log to history.
    7) It is a SPD workflow so there is no while loop. but it behaving like while loop.
    8) On create Item, we are creating task, so it is creating three tasks. It is sending three emails and also we are appending text in title so text is appended three times.
    I did a lot of research but not able to find the solution.
    Please help.
    - Khan Abubakar Disclaimer: The opinions expressed herein are my own personal opinions and do not represent any others view in anyway.

    Hi Khan,
    According to your description, my understanding is that your workflow executed some actions three times.
    What actions did you for the problematic actions?
    If they are "Start Approval Process" action, please check whether there are multiple approvers for tasks. If yes, the action will create one task for each approver.
    Please create a new list and a new workflow based on the problematic workflow, test again, compare the result.
    For reproducing your issue, I suggest you provide more information about your list and workflow (detailed actions or some screenshots). It will make others in the forum easy to find a solution for you.
    Best Regards,
    Wendy
    Wendy Li
    TechNet Community Support

  • Need help to create a login for maintenance of a single database in a multiple databases, single instance environment

    Hi,
    We are in the process of consolidating several databases on a single instance of SQL Server 2012.
    Databases are developed by outside vendors; they have to be able to install and support their databases but they shouldn't be able to do any thing with the other databases.
    When I tried to migrate the first database, the vendor told me that on the former server he used the sa account in some batch.
    On a previous thread
    https://social.technet.microsoft.com/Forums/sqlserver/en-US/dc1f802f-d8de-4e2b-87e5-ccb289593fb7/security-for-multiple-applications-on-a-single-sql-server-2012-instance?forum=sqlsecurity
    it was suggested to me that I create a login for each vendor and that this login should map a user in their respective databases.
    To test, I simulated the process in a test database:
    1 - I create the login and I scripted the command:
    USE [master]
    GO
    /* For security reasons the login is created disabled and with a random password. */
    /****** Object:  Login [M02_Test]    Script Date: 2014-12-02 16:23:58 ******/
    CREATE LOGIN [M02_Test] WITH PASSWORD=N'ÈS^y¡¶=Å€"+y¤j|úªhÖféÎЕœEu
    c', DEFAULT_DATABASE=[M02], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    ALTER LOGIN [M02_Test] DISABLE
    GO
    2 - I create the user and scripted it
    USE [M02]
    GO
    /****** Object:  User [M02_Test]    Script Date: 2014-12-02 16:29:41 ******/
    CREATE USER [M02_Test] FOR LOGIN [M02_Test] WITH DEFAULT_SCHEMA=[dbo]
    GO
    Questions:
    What should we do with te scrambled password: is it saved as it was entered and should it be kept somewhere in a safe place?
    Would that do the job for the vendor who used sa before?
    Thanks for your advice

    I'm not sure why you would save the script. Why not create the login, in one way or another give the vendor the password. Keep the login disabled until needed.
    I don't recall exactly what we said last time, but it occurs to me that the application setup things on server level. Jobs is the prime thing that comes to mind, but there could be other things.
    Now, here is an important observation. As long as the vendor's application was alone on the server, that was OK, and it was OK to give the vendor sysadmin rights. In this situation this is less OK, and as we said, you should only give the vendor db_owner
    in the database.
    But the vendor will need to tell you what they do on server-level. They should know this - unless they sell their app as a "alone-on-a-server application". (And there are indeed such applications out there, even from Microsoft.) But there is a
    risk that they will bill you extra if you make their installation more difficult.
    Maybe you will have to give some vendors sysadmin for the installation, but in such case, you should ask them why they need it. If they don't, give them db_owner, and they will have to find out their hard way. (And you don't pay them for learning
    their own application.)
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Agent issue with 10.2.0.4 on RHEL 4 for single instance db.

    Hi,
    I had 2 instances that were not able to upload nor where they secure. For one of them which ran on port 5500, I was able to go through the forums and basically I ended up dropping the repository for that instance, and then I was able to secure the agent, and uploads were fine. Now I have one single instance that runs on port 1158:
    [oracle@stdb7 bin]$ emctl status agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Agent Version : 10.1.0.6.0
    OMS Version : 10.1.0.6.0
    Protocol Version : 10.1.0.2.0
    Agent Home : /dsk0/oracle/stdb7XXXXorg_dhqprd
    Agent binaries : /dsk0/oracle
    Agent Process ID : 27304
    Parent Process ID : 27301
    Agent URL : http://stdb7XXXXorg:3938/emd/main
    Started at : 2009-05-12 10:53:16
    Started by user : oracle
    Last Reload : 2009-05-12 10:53:16
    Last successful upload : (none)
    Last attempted upload : (none)
    Total Megabytes of XML files uploaded so far : 0.00
    Number of XML files pending upload : 56
    Size of XML files pending upload(MB) : 2.44
    Available disk space on upload filesystem : 70.15%
    Agent is Running and Ready
    [oracle@stdb7 bin]$ emctl secure agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Enter Agent Registration password :
    Agent successfully stopped... Done.
    Securing agent... Started.
    Requesting an HTTPS Upload URL from the OMS... Failed.
    The OMS is not set up for Enterprise Manager Security.
    [oracle@stdb7 bin]$ emctl start agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Starting agent ... started.
    [oracle@stdb7 bin]$ emctl clearstate agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    clearstate failed with ret=-10
    [oracle@stdb7 bin]$ emctl clearstate agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    EMD clearstate completed successfully
    [oracle@stdb7 bin]$ emctl start dbconsole
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    http://stdb7XXXXorg:1158/em/console/aboutApplication
    Agent Version : 10.1.0.6.0
    OMS Version [oracle@stdb7 bin]$ emctl status agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Agent Version : 10.1.0.6.0
    OMS Version : 10.1.0.6.0
    Protocol Version : 10.1.0.2.0
    Agent Home : /dsk0/oracle/stdb7XXXXorg_dhqprd
    Agent binaries : /dsk0/oracle
    Agent Process ID : 27304
    Parent Process ID : 27301
    Agent URL : http://stdb7XXXXorg:3938/emd/main
    Started at : 2009-05-12 10:53:16
    Started by user : oracle
    Last Reload : 2009-05-12 10:53:16
    Last successful upload : (none)
    Last attempted upload : (none)
    Total Megabytes of XML files uploaded so far : 0.00
    Number of XML files pending upload : 56
    Size of XML files pending upload(MB) : 2.44
    Available disk space on upload filesystem : 70.15%
    Agent is Running and Ready
    [oracle@stdb7 bin]$ emctl secure agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Enter Agent Registration password :
    Agent successfully stopped... Done.
    Securing agent... Started.
    Requesting an HTTPS Upload URL from the OMS... Failed.
    The OMS is not set up for Enterprise Manager Security.
    [oracle@stdb7 bin]$ emctl start agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Starting agent ... started.
    [oracle@stdb7 bin]$ emctl clearstate agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    clearstate failed with ret=-10
    [oracle@stdb7 bin]$ emctl clearstate agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    EMD clearstate completed successfully
    [oracle@stdb7 bin]$ emctl start dbconsole
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    http://stdb7XXXXorg:1158/em/console/aboutApplication
    Agent Version : 10.1.0.6.0
    OMS Version : 10.1.0.6.0
    Protocol Version : 10.1.0.2.0
    Agent Home : /dsk0/oracle/stdb7XXXXorg_dhqprd
    Agent binaries : /dsk0/oracle
    Agent Process ID : 25197
    Parent Process ID : 25194
    Agent URL : http://stdb7XXXXorg:3938/emd/main
    Started at : 2009-05-12 11:25:33
    Started by user : oracle
    Last Reload : 2009-05-12 11:25:33
    Last successful upload : (none)
    Last attempted upload : (none)
    Total Megabytes of XML files uploaded so far : 0.00
    Number of XML files pending upload : 66
    Size of XML files pending upload(MB) : 4.18
    Available disk space on upload filesystem : 70.14%
    Agent is already started. Will restart the agent
    Stopping agent ... stopped.
    Starting Oracle Enterprise Manager 10g Database Control .... started.
    Logs are generated in directory /dsk0/oracle/stdb7XXXXorg_dhqprd/sysman/log
    [oracle@stdb7 bin]$ emctl upload
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Agent is Not Running
    [oracle@stdb7 bin]$ emctl unsecure agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Checking Agent for HTTP... Done.
    Agent is already unsecured.
    [oracle@stdb7 bin]$ emctl clearstate agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    EMD clearstate completed successfully
    [oracle@stdb7 bin]$ emctl secure agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Enter Agent Registration password :
    Agent is already stopped... Done.
    Securing agent... Started.
    Requesting an HTTPS Upload URL from the OMS... Failed.
    The OMS is not set up for Enterprise Manager Security.
    [oracle@stdb7 bin]$ emctl start agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Starting agent ... started.
    [oracle@stdb7 bin]$ emctl upload
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet.. : 10.1.0.6.0
    Protocol Version : 10.1.0.2.0
    Agent Home : /dsk0/oracle/stdb7XXXXorg_dhqprd
    Agent binaries : /dsk0/oracle
    Agent Process ID : 25197
    Parent Process ID : 25194
    Agent URL : http://stdb7XXXXorg:3938/emd/main
    Started at : 2009-05-12 11:25:33
    Started by user : oracle
    Last Reload : 2009-05-12 11:25:33
    Last successful upload : (none)
    Last attempted upload : (none)
    Total Megabytes of XML files uploaded so far : 0.00
    Number of XML files pending upload : 66
    Size of XML files pending upload(MB) : 4.18
    Available disk space on upload filesystem : 70.14%
    Agent is already started. Will restart the agent
    Stopping agent ... stopped.
    Starting Oracle Enterprise Manager 10g Database Control .... started.
    Logs are generated in directory /dsk0/oracle/stdb7XXXXorg_dhqprd/sysman/log
    [oracle@stdb7 bin]$ emctl upload
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Agent is Not Running
    [oracle@stdb7 bin]$ emctl unsecure agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Checking Agent for HTTP... Done.
    Agent is already unsecured.
    [oracle@stdb7 bin]$ emctl clearstate agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    EMD clearstate completed successfully
    [oracle@stdb7 bin]$ emctl secure agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Enter Agent Registration password :
    Agent is already stopped... Done.
    Securing agent... Started.
    Requesting an HTTPS Upload URL from the OMS... Failed.
    The OMS is not set up for Enterprise Manager Security.
    [oracle@stdb7 bin]$ emctl start agent
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    Starting agent ... started.
    [oracle@stdb7 bin]$ emctl upload
    TZ set to US/Eastern
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0
    Copyright (c) 1996, 2007 Oracle Corporation. All rights reserved.
    EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet..
    So, with this one instance and agent, I keep going in loops with the same 2 errors:
    1. EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet..
    2. The OMS is not set up for Enterprise Manager Security.
    I even followed related messages on the forums here to try to resolve the issue, but this did not work:
    '- emctl stop agent
    - delete all files in $AGENT_HOME/sysman/emd/upload and $AGENT_HOME/sysman/emd/state
    - emctl clearstate agent (this should delete all state files but sometimes it is not enough, but I experienced that it is better to use this command after deletion of the files)
    - emctl secure agent (and specify the password on demand)
    - emctl start agent'
    Any advice or help on HOW to secure this instance's agent and get it to upload would be greatly appreciated.
    Edited by: user611572 on May 12, 2009 9:11 AM
    I guess I solved my own issue, however I basically had to drop and recreate the repository and grid control for the instance, thus loosing over 3300 XML files, but now the agent is working and the server is running secure. I simply did:
    emca -config dbcontrol db -repos recreate
    And answered all the questions... I am wondering if the 3300+ xml files I deleted by following some guy's response in a similar thread was necessary, and if it was not, I wonder if I would have been able to upload all of the files after executing and rebuilding....

    Since you have dropped the repository thats why it was needed to deleted the previous files

  • Converting single instance database(11gr2) supporting EBS 12.1.3 to 2 node RAC on RHEL.

    Hi We are in the process of converting single instance database(11gr2) supporting EBS 12.1.3 to 2 node RAC on RHEL. Which version of RHEL is better? if its 6.x then x?? The oracle document only says RHEL update 6.
    thanks in advance.

    Hi,
    Yes you can use any version but i recommend  you to use 6.2
    Also refer my post for RAC migration in EBS
    Apps DBA Workshop: Using 11gR2 RAC with Oracle Applications R12.1.1
    Hope this helps
    thanks,
    X A H E E R

  • Sequential Instantiation of BPEL instances for a BPEL process

    Hi,
    We are using Oracle SOA 10.1.3.4 & AIA2.5. We have a situation where the instances of a particular bpel process have to be executed in sequence. Also, the new instance should NOT be instantiated unless the previous instance is completed.
    For example.. Lets say a SyncBPELReqABCS is invoking SyncBPELProvABCS via ESB. SyncBPELReqABCS is looping and spawning multiple instances of SyncBPELProvABCS in a certain sequential order in Asynchronous Fire-and-Forget model. Lets say bpel-instance#1, bpel-instance#2 and bpel-instance#3 are instances of SyncBPELProvABCS process. Even though SyncBPELReqABCS invokes (spawns) SyncBPELProvABCS in a fire and forget model, the bpel-instance#2 should not begin unless bpel-instance#1 is completed and bpel-instance#3 shuld not begin unless bpel-instance#2 is completed. This is because there is a dependancy between instacnes of SyncBPELProvABCS process.
    Can this be achieved in Oracle SOA?? Can we restrict the instacnes of SyncBPELProvABCS to be created in this manner?
    This is similar to "incompatability" of concurrent programs in ORACLE EBusiness Suite where one concurrent program waits till another concurrent program completes.
    Please let me know if I am not clear. Appreciate an immediate help!
    Thanks,

    Hello,
    Now that I look back at this tread, I can see that the questions I was asking and those of the original poster were somewhat different.
    But they both fall under the heading of "Sequential Instantiation of BPEL instances for a BPEL process", and so I thought I would post some findings we've come across regarding that topic here.
    There were a couple steps that helped us achieve the behavior we were looking for, and the were...
    1) Change the BPEL oneWayDeliveryPolicy from "async.persist" to "sync"
    This can be done in a couple locations. The first is within the EM application that comes bundled with SOA 11g, and the place to go is:EM > [farm name] > SOA > soa-infra (right click) > SOA Administration > BPEL Properties > More BPEL Configuration Properties > OneWayDeliveryPolicyOnce that value has been changed to "sync" (without the quotes), you'll need to stop and start the managed servers that run your SOA instance(s).
    As you might expect, making a change at the "server level" like this impacts the default behavior of all composites deployed within your SOA instance. The second place to make this change - within the deployment descriptors for your BPEL process - impacts only the BPEL process that is being modified. To make the change at this level, you would edit your project's composite.xml file and, for each BPEL component, specify:  <component name="BPELProcess1" version="2.0">
        <implementation.bpel src="BPELProcess1.bpel"/>
        <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
        <property name="bpel.config.transaction">required</property>
      </component>What does this change do? Well, I don't claim to have a complete understanding, but in theory it prevents a thread handoff from taking place between the service that is initiates your BPEL process (like a receive) and the actual BPEL engine thread that processes the request.
    In our case, where calls between (and within) composites were all of the synchronous "fire and forget" variety, this change also caused the entire processing of a message (across three different composites) to happen in a single thread (each message handoff was one-way, and with the oneWayDeliveryPolicy set to "sync", each was handled in a synchronous manner).
    This also seemed to have the effect of serializing our message processing. For example, in a test case where a BPEL process reads from a JMS queue and 250 messages are enqueued, with the oneWayDeliveryPolicy set to "async.persist", I'd typically go in to EM and, on each refresh, find 5-8 instances of the composite that processes those messages to be in a "Running" state. Once the change to "sync" was made, I'd only see at most only 2 (where one had actually already finished; the audit system just hadn't yet caught up to that fact yet).
    This also means that, with a "sync" delivery policy, messages (at least in our environment) are processed more slowly, but that was ok with us as we were more concerned with the behavior than the speed.
    For details on this and other BPEL deployment descriptor properties, see:
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/bp_app_deploydesc.htm
    Also, it's important to note that making the above change will alter the boundaries of your transactions as well as how faults are propagated. For more details, see:
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/soa_transactions.htm
    2) Front BPEL process with a Mediator object and enable message resequencing
    While we're using the above change as a standard practice in our environment, this second change has only been nominally tested - but it could be of interest and so I'll mention it here.
    Once you've updated your composite to include a mediator object in front of your BPEL process (if there isn't one there already), edit the .mplan for your mediator and change the "Resequence Level" from the default value of "operations" to "component". Then change the "Resequence Mode" from "off" to "FIFO" and specify an X-Path expression by which the mediator will be able to group your messages. This will help ensure that the messages are being processed in the order you expect.
    More information about resequencing within the mediator component can be found:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/med_resequencer.htm
    Hopefully the above information is useful - if not for the original poster, then for someone who comes along later with similar questions.
    - Nathan

Maybe you are looking for

  • How can I call external web service from BPEL

    1. I have "EmpService" webservice (simple webservice to get emp salary, not in BPEL domain) running in Oracle AS host1. If I want to call this web service from BPEL in another host2. How can I do this? 2. Is it a must to deploy this EmpService to Ora

  • 2.1 - can no longer see who has texted

    Its really annoying that on 2.1 you can no longer see who has texted unless you open the SMS screen. Another backward step, along with the dreadful battery life, rubbish camera etc etc

  • How do I use my second hard drive for storage, not back up?

    Hi, I bought a second hard drive to store files (not back-up for my system), but when I moved some files over to drive two and then deleted the same files from drive one, they also deleted from the 2nd drive! Fortunately I could reverse the process a

  • ITunes 6, !!!HELP!!!

    I always get problems with my iTunes. after i installed the latest version of windows media player classic, my iTunes decided not to play my music anymore. ...so, i thought the easiest and the fastest way to solve this prob is to just download iTunes

  • Bank incoming payment

    hai, customer cheque deposit in bank a/c the entry is cheq deposit a/c Dr cheq clearing a/c Cr if the cheques is cleared by bank then 1.bank main a/c dr    chq clearing a/c cr 2.chq deposit a/c Dr    customer a/c Cr all are through SM35 pls correct m