Tuesday, November 5, 2013

Configure Auto-Recovery in Oracle SOA Suite

Oracle SOA Suite 11g has some great features to recover faulted instances automatically. When a BPEL process flow errors out, it is retried with all its invocations. This is undesirable in some cases. For example if re-calling a composite results in duplicated data, data have been changed before the recovery is planned to be executed or you do not want to create too many composite instances in order to save the space in your SOAINFRA-schema. See below the different places where automatic recoveries are configured / disabled.

1) Change RecurringScheduleConfig (see also the screenshot below) 
  • Right-click soa-infra (SOA_cluster_name) 
  • Choose SOA Administration > BPEL Properties 
  • Click "More BPEL Configuration Properties" 
  • Click "Recovery Config" 
  • Change values for RecurringScheduleConfig 
    • maxMessageRaiseSize = 0 
    • startWindowTime = 00:00 
    • stopWindowTime = 00:00 
  • Click Apply 

2) Change StartupScheduleConfig (see also the screenshot below)
  • Right-click soa-infra (SOA_cluster_name)
  • Choose SOA Administration > BPEL Properties
  • Click "More BPEL Configuration Properties"
  • Click "Recovery Config"
  • Change values forStartupScheduleConfig
    • maxMessageRaiseSize = 0
    • startupRecoveryDuration = 0
    • subsequentTriggerDelay = 0
  • Click Apply


3) Change GlobalTxMaxRetry
The property GlobalTxMaxRetry specifies how many retries are performed if an error is identified as a retriable one. For example, after several web service invocations, if dehydration fails due to a data source error, then this is identified as a retriable error and all activities from the prior dehydration state are retried. If the activities being retried are not idempotent (that is, their state can change with each retry and is not guaranteed to give the same behavior), then multiple retries can be problematic.

You can set GlobalTxMaxRetry to 0 in the Systems MBean Browser.
  • Right-click soa-infra (SOA_cluster_name)
  • Choose SOA Administration > Common Properties
  • Click "More SOA Infra Advanced Configuration Properties"
  • Click "GlobalTxMaxRetry"
  • In the Value field, enter an appropriate value
  • Click Apply

Additional Information

16 comments:

  1. Thanks for this information Danilo,
    From what I understand however, is that this is on a soa_infra level. Would you know if it possible to define the auto-recovery setting on a composite level?
    Thanks,
    Stijn

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Thanks for sharing this.
    If you are interested in reading on an open source BPEL server check http://wso2.com/products/business-process-server/

    ReplyDelete
  4. Here I came to know how to Configure Auto-Recovery in Oracle SOA Suite,Thank you.
    Regards,
    Oracle SOA Training
    Oracle SOA Suite Training.

    ReplyDelete
  5. Its very important information. Thanks Danilo.
    In my case, I am facing the same problem as you have mentioned in your third point. I dont know the exact reason but somehow my instance is going in loop from 12:00 to 4:00 AM from the last 'wait' activity onwards.
    Please let me know how can I fix this problem.

    Thanks in advance.
    Yogita

    ReplyDelete
  6. That's not all right... read this one:

    https://svgonugu.com/2013/05/08/auto-recovery-feature-in-bpel/

    ReplyDelete
  7. This is very important and imformative blog,thanks for good info Oracle SOA Online Training

    ReplyDelete
  8. This is very useful information.Thankful blog team

    Weblogic Server 12cR2 Training

    ReplyDelete
  9. It is nice blog Thank you porovide important information and i am searching for same information to save my time
    Oracle SOA Online course

    ReplyDelete
  10. Thanks for sharing this information!
    I totally agree with you. Your information is very interesting and important. I really like this information.Our easy web plans company is famous in Advanced Oracle SOA Admin Online Training.
    If you want to see our training venue then click on links:
    http://www.lucidtechsystems.com/oracle-soa-admin-online-training/
    Call Now: +91-965-292-6376
    Drop Mail: info@lucidtechsystems.com

    ReplyDelete
  11. Thanks a lot for sharing a great blog with lot of informtion bout ORACLE keep going on it heleped a me a lot i have gained a lot of Knowledge by reading your blog.
    https://smconsultant.com/training/oracle-fusion-middleware/oracle-soa-training/

    ReplyDelete
  12. Thanks a lot for sharing a great blog with lot of informtion bout ORACLE keep going on it heleped a me a lot i have gained a lot of Knowledge by reading your blog.
    https://smconsultant.com/training/oracle-fusion-middleware/oracle-soa-training/

    ReplyDelete
  13. Thanks a lot for sharing a great blog with lot of informtion bout ORACLE keep going on it heleped a me a lot i have gained a lot of Knowledge by reading your blog.

    Thanks a lot for sharing a great blog with a lot of information about ORACLE keep going on it helped me a lot I have gained a lot of knowledge by reading your blog.
    Oracle SOA Training
    Oracle SOA 12c Training
    Oracle soa online training
    Oracle soa course
    oracle soa suite training

    ReplyDelete
  14. Thanks for sharing this great information I am impressed by the information that you have on this blog. Same as your blog i found another one Oracle SOA Interview Questions and Answers
    . Actually, I was looking for the same information on internet for
    Oracle SOA Training and came across your blog. I am impressed by the information that you have on this blog. It shows how well you understand this subject, you can learn more about Oracle SOA Tutorial also.

    ReplyDelete