<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/&quot;Ak8GRH45eyp7ImA9WhdWGUs.&quot;'><id>tag:blogger.com,1999:blog-2219266845416701158</id><updated>2011-09-13T19:53:45.023-07:00</updated><title>Manish Kumar Gupta</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fusionprofessional.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://fusionprofessional.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Manish Gupta</name><uri>http://www.blogger.com/profile/02928528074366288273</uri><email>rn13manish.java@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;CEYERXk7fSp7ImA9WhdWGU8.&quot;'><id>tag:blogger.com,1999:blog-2219266845416701158.post-8084739652134218172</id><published>2011-09-13T06:55:00.000-07:00</published><updated>2011-09-13T06:55:04.705-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-09-13T06:55:04.705-07:00</app:edited><title>Create multiple SoaSuite10g instance under one Database Instance</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;!--[if !mso]&gt; &lt;style&gt;
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
&lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState="false" LatentStyleCount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:"Table Normal";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-parent:"";
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin:0cm;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:"Times New Roman";
 mso-ansi-language:#0400;
 mso-fareast-language:#0400;
 mso-bidi-language:#0400;}
&lt;/style&gt; &lt;![endif]--&gt;  &lt;br /&gt;
&lt;b style="mso-bidi-font-weight: normal;"&gt;Problem Description:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
During installation of SOA Suite 10.1.3.5.1(not limited to this version, since I have tested personally on this version therefore I have mentioned this version number here), the SOA Suite Installer first run the IRCA (Integration Repository Creation Assistant) internally which create three schema orabpel, oraesb, orawsm schema in given Database instance. A Database Software and Database Instance should be installed before running SOA suite 10g installer, its prerequisite for SOA Suite10g. IRCA will create above three schema and will create all product tables inside it and user can access BPEL console, esb console, owsm console after installation but now problem comes when requirement comes to install multiple SOA Suite instance in same machine because team needs multiple SOA Suite environment to continue their development, ST testing, SIT testing, UAT Testing, Pre Production etc.&lt;br /&gt;
&lt;br /&gt;
Each SOA Suite Instance need a separate database instance coz during SOA Suite installation, installer won't allow user to change the name of orabpel, oraesb, orawsm schema and these schema name already exist in previous database instance. So the same schema name can’t be used in same Database instance name. e.g DBA first installed the Database software after that he/she created an Database instance called “XE”. In next steps Fusion infrastructure person run the SOA Suite10g installer and created three above schema in it without any problem and one SOASuite10g environment is ready.&lt;br /&gt;
&lt;br /&gt;
Now for second SOASuite10g environment when user will again run the SOA Suite10 installer then user won’t be able to continue with same database instance XE since all above three schemas already exist in XE database. The only option remain is to create another database instance XE1 which will consume more primary and secondary memory and will be useless coz these all just testing environment.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dM_3e7Gb-jE/Tm9fI5pTSYI/AAAAAAAAELo/r3_LEpbVHcg/s1600/SoaSuite10gSchemaConnectInfo.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-dM_3e7Gb-jE/Tm9fI5pTSYI/AAAAAAAAELo/r3_LEpbVHcg/s320/SoaSuite10gSchemaConnectInfo.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="page-break-after: avoid;"&gt;&lt;span style="color: #333333; font-family: Verdana; font-size: 10.5pt;"&gt;&lt;a href="http://aboutsoa.files.wordpress.com/2009/11/image84.png"&gt;&lt;span style="color: #6699cc; text-decoration: none; text-underline: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoCaption"&gt;Figure &lt;span style="mso-no-proof: yes;"&gt;1&lt;/span&gt;: &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;SOA Schema Connect info.&lt;/div&gt;&lt;br /&gt;
&lt;b style="mso-bidi-font-weight: normal;"&gt;Solution&lt;/b&gt;: &lt;br /&gt;
To overcome above problem there is one option available which we came to know after lots of effort. &lt;br /&gt;
IRCA also provide a command line utility and shell .sh script for unix/solaris which support an attribute called –&lt;b style="mso-bidi-font-weight: normal;"&gt;overwrite&lt;/b&gt; which help to rename the existing schema name to new schema name. So orabpel schema name now can be changed to orabpel_ST, orabpel_dev etc. and then when user install second instance or SOA Suite10g on same machine under same Database instance it won’t get conflict with existing schema names since existing one got renamed and won’t create any problem during installation and second instance of SOA Suite10g will get installed successfully on same machine using same XE database instance. &lt;br /&gt;
&lt;br /&gt;
Command to run irca.sh or irca.bat &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Syntax:&lt;/b&gt;&lt;br /&gt;
&lt;b style="mso-bidi-font-weight: normal;"&gt;irca.sh [all "&amp;lt;db_host&amp;gt; &amp;lt;db_port&amp;gt; &amp;lt;db_service_name&amp;gt;" &amp;lt;sys_password&amp;gt; overwrite] newSchemaName newSchemaPWD&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
e.g.&lt;br /&gt;
&lt;b style="mso-bidi-font-weight: normal;"&gt;irca.sh all "183.293.291.1 1521 XE" welcome –overwrite orabpel_dev welcome1&lt;/b&gt;&lt;br /&gt;
&lt;b style="mso-bidi-font-weight: normal;"&gt;irca.cmd orabpel “183.293.291.1 1521 XE" welcome –overwrite orabpel_dev welcome1&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
above command will rename the existing orabpel/all (three) schema name to orabpel_dev and another SOA Suite10g instance can be installed under same Database instance XE. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Note: After making changes, datasource configuration at application server also need to change at Weblogic or Oracle application server whichever has been used then only new schema name will be linked to newly created SOASuite10g environment.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Objective&lt;/b&gt;: This post will help to maximize the usage of hardware, reduce the cost of installing multiple hardware for multiple environments. &lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;In every project implementation multiple environment of SOASuite is required for smooth implementation of project for all the phases. This post will help to remove the technical hurdle which comes with SOASuite installer as showed in above screenshot coz user can’t change or select any other schema name for SOASuite10g installation name. SOASuite10g has predefined the schema name for installation purpose but using above steps that situation can be worked out.&lt;span style="mso-spacerun: yes;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2219266845416701158-8084739652134218172?l=fusionprofessional.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fusionprofessional.blogspot.com/feeds/8084739652134218172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fusionprofessional.blogspot.com/2011/09/create-multiple-soasuite10g-instance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default/8084739652134218172?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default/8084739652134218172?v=2'/><link rel='alternate' type='text/html' href='http://fusionprofessional.blogspot.com/2011/09/create-multiple-soasuite10g-instance.html' title='Create multiple SoaSuite10g instance under one Database Instance'/><author><name>Manish Gupta</name><uri>http://www.blogger.com/profile/02928528074366288273</uri><email>rn13manish.java@gmail.com</email></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-dM_3e7Gb-jE/Tm9fI5pTSYI/AAAAAAAAELo/r3_LEpbVHcg/s72-c/SoaSuite10gSchemaConnectInfo.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;C04DR3wzfyp7ImA9WhdWGUw.&quot;'><id>tag:blogger.com,1999:blog-2219266845416701158.post-2433577378055128475</id><published>2011-09-12T22:06:00.000-07:00</published><updated>2011-09-13T04:06:16.287-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-09-13T04:06:16.287-07:00</app:edited><title>Get the list of BPEL Instance and  Corelation Identifier value using Corelation identifier name</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Problem&lt;/b&gt;: For asynchronous BPEL process where 2 way communication happening, couple of time due to various issue the response which was expected to come at BPEL for an order it won’t come and BPEL process is keep waiting and won’t get resumed until unless will get the response. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To elaborate this problem more in details I want to give one example here e.g. there is one business scenario in prepay/post-paid connection provisioning, Customer has to pass the Credit Check before order provisioning.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Flow is like that BPEL will invoke CRM system (SAP/Siebel/PSFT) and will get immediate response &lt;b style="mso-bidi-font-weight: normal;"&gt;Customer account Id&lt;/b&gt; and will set as Customer account id value as &lt;b style="mso-bidi-font-weight: normal;"&gt;correlation id&lt;/b&gt; and then will wait for further notification from CRM system for Credit Check Completion. In the mean time CRM system will further interact with Decision Point system which exactly does Credit check then Decision point will send the response to CRM system and CRM system will send the response to BEPL but due to multiple issue CRM to BPEL notification won’t reach till BPEL and order in BPEL is keep waiting. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Solution&lt;/b&gt;: &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To fix all these orders which are waiting in BPEL for external system response, external system again need to send the notification back to BPEL, for that external system might ask the list of correlation id values for all the orders which is waiting in BPEL, so that external system can send the notification again. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In BPEL any instance which is waiting for response a subscription will be written out in dlv_subscription table along with correlation identifier and its value. Below query will pull out correlation id value based on correlation identifier name for all the waiting instance in BEPL. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;select CBI.CIKEY as "BPEL_INSTANCE_ID", &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; substr(Properties, instr(Properties,'CustId',1,2)+7,9) as "Customer_ACCOUNT_ID",&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBI.Modify_date as "LAST_MODIFY_DATE"&lt;/div&gt;&lt;div class="MsoNormal"&gt;from&amp;nbsp;&amp;nbsp; ORABPEL.CUBE_INSTANCE CBI, &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORABPEL.DLV_SUBSCRIPTION DS&lt;/div&gt;&lt;div class="MsoNormal"&gt;where&amp;nbsp; DS.STATE =0 and&lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBI.process_id = 'cm_cpm_submitcreditCheck' and CBI.Revision_tag='1.1.0' and &lt;/div&gt;&lt;div class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DS.CIKEY=CBI.CIKEY&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Properties: This is column name in dlv_subscription table which store the correlation identifier and its value but the format is very messy and user has to use the string format function to exactly pull out the correlation identifier values.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Also in above query correlation identifier name need to change based upon project design. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Process_Id: BPEL processName and Revision tag also need to change based up project design. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;Note: In the above query many thing are project perspective which need be modified for other project.&amp;nbsp; The objective of this post is to give the idea how to pull the CIKEY details &amp;nbsp;where BPEL process is waiting for the response from external system. &lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2219266845416701158-2433577378055128475?l=fusionprofessional.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fusionprofessional.blogspot.com/feeds/2433577378055128475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fusionprofessional.blogspot.com/2011/09/get-list-of-cikey-and-corelation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default/2433577378055128475?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default/2433577378055128475?v=2'/><link rel='alternate' type='text/html' href='http://fusionprofessional.blogspot.com/2011/09/get-list-of-cikey-and-corelation.html' title='Get the list of BPEL Instance and  Corelation Identifier value using Corelation identifier name'/><author><name>Manish Gupta</name><uri>http://www.blogger.com/profile/02928528074366288273</uri><email>rn13manish.java@gmail.com</email></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;AkENR3o5fCp7ImA9WhdWGEQ.&quot;'><id>tag:blogger.com,1999:blog-2219266845416701158.post-9063690807287485161</id><published>2011-09-12T20:24:00.000-07:00</published><updated>2011-09-13T00:24:56.424-07:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-09-13T00:24:56.424-07:00</app:edited><title>Get the list of Stuck orders from orabpel schema</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;b&gt;Problem:&lt;/b&gt; For any project for any kind of order processing in BPEL, developer develops multiple BPEL process to perform business process functionality, so that these business process can be reused in other project too. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;But I personally seem a situation in production in multiple implementations at different places where order processing&amp;nbsp; get stuck due to message lost scenario. e.g. Once BPEL(A) process will say I have responded but another BPEL(B) process which is waiting to get the response from BPEL A still waiting.&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Fusion Developer may find many post or blogs where they will get the solution to deal the orders which got stuck in BPEL engine due to message lost scenario. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Out of box BPEL provide an feature to recover a callback message using this path at BPEL Console. BPELConsole&amp;gt;&amp;gt;Administration&amp;gt;&amp;gt;Recover(Callback) &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In reality finding a lost message for an order in this GUI will take lots of time coz there is no rich searching option available on this webpage. An operation person who support failed order for Production he/she just want to find out an lost message based upon order id, so that he/she can resubmit that transaction for stuck order but due to limited searching capability in this GUI its very hard to do that. The only search option available to select BPEL process name which is not much useful at all. Also I am sure in many production environment the list of message in this console is very huge, so user can't resubmit everything from this queue. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In best of my knowledge I personally knew few scenarios where an asynchronous BPEL process is waiting for some response from external system and external system already sent the response and corresponding BPEL got resumed based on correlation id and BPEL process is completed successfully but external system keep sending the expected response for same order id using same correlation id again and again, the incoming subsequent message which coming to bpel engine won't get processed since first response for that order id is already processed when second response comes it sit here in this queue and message in this queue get piled up. Its a kind of defect and depend on environment to environment. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Many times due to bulk orders resubmission in BPEL engine many orders get stuck during processing coz delivery thread won’t be able to process all the orders. Message will come and will sit in dlv_message table with the undelivered status and never get picked up. When Customer escalate about his/her orders then Failed order member look into that order and realized this order is the victim of message lost scenario.&amp;nbsp; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;To fix this problem there are two ways once way to resubmit all the message from recovery queue but that again will cause the performance issue on production or other option to re trigger the stuck order from BPEL console again. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In case of re trigger the order from BPEL console, first requirement comes to get the list of stuck order which is not easy to get from Cube_Instance table. &lt;b&gt;The reason&amp;nbsp; behind is Cube_Instance table store state value 1 for Running/Waiting/Failed/Stuck instance but user need only stuck orders.&amp;nbsp;&lt;/b&gt; &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;For all above four different state at database level instance value will always be 1 only. Now if any DB user even pull out the instance list select * from orabpel.cube_instance where state=1 will not give the list of stuck orders. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;To get the final list of stuck order what need to do that’s what I want to cover here. &lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;In Fusion an order either could be Running/Failed/Waiting/Faulted/Stuck/Aborted/Stale state.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;If user will pull out all the orders list from cube_instance where state =1 then all running instance will come out then out of that subtract the orders which are failed as per BAU and has created activity in work_item table. Once order get failed it create an activity in BPEL which can be viewed using Activities console and data stored in Work_item table. Just subtract the list of instance from work_item table which have pending activity using this query select * from orabpel.work_item where state=13. Then finally subtract the list of instance which are waiting for response from external system or from other bpel process and an subscription is written out in dlv_subscription table. User can get the list of waiting instance from dlv_subscription table using this query select * from orabpel.dlv_subscription where state !=1 &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The final resulted CIKEY will be the list stuck order, based upon index setting as per user project final result can be refined. e.g if BPEL process is setting up order number an index in CI_indexes table then result can be refined using Index_1 column.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;Here is the query which will give the stuck orders in orabpel schema. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;select&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; cbi.cikey,cbi.process_id, cbi.creation_date, cbi.modify_date,cbi.state, cbi.status, cbi.title,ci.index_1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;from&lt;/b&gt; orabpel.cube_instance cbi, orabpel.ci_indexes ci,&lt;br /&gt;
(&lt;b&gt;select&lt;/b&gt; cikey &lt;b&gt;from&lt;/b&gt; &lt;br /&gt;
(&lt;b&gt;select&lt;/b&gt; cikey &lt;b&gt;from&lt;/b&gt; orabpel.cube_instance &lt;b&gt;where&lt;/b&gt; state =&lt;/span&gt;&lt;span style="color: #0000f0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;1&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; &lt;br /&gt;
&lt;b&gt;minus&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;select&lt;/b&gt; cikey &lt;b&gt;from&lt;/b&gt; orabpel.work_item &lt;b&gt;where&lt;/b&gt; state =&lt;/span&gt;&lt;span style="color: #0000f0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;13&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt; ) firstSub &lt;br /&gt;
&lt;b&gt;minus&lt;/b&gt; &lt;br /&gt;
&lt;b&gt;select&lt;/b&gt; cikey &lt;b&gt;from&lt;/b&gt; orabpel.dlv_subscription &lt;b&gt;where&lt;/b&gt; state !=&lt;/span&gt;&lt;span style="color: #0000f0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;1&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;) secondSub&lt;br /&gt;
&lt;b&gt;where&lt;/b&gt; secondSub.Cikey=cbi.cikey&lt;br /&gt;
&lt;b&gt;and&lt;/b&gt; cbi.cikey=ci.cikey &lt;b&gt;and&lt;/b&gt; trunc(cbi.modify_date) &amp;lt;= to_timestamp(&lt;/span&gt;&lt;span style="color: #0000f0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;'2011-09-12 23:59:59'&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;,&lt;/span&gt;&lt;span style="color: #0000f0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;'YYYY-MM-DD HH24:MI:SS'&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;The above query might need some changes based up on environment and project design. This query will be helpful for the projects where index_1 has been utilized to store order number. Also modify_date need to be adjusted based upon requirement. Or some db expert might can refine tune the query for best performance. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;The objective or this post to give idea how to pull out the list of stuck orders since orabpel.cube_instance table state column won’t store any separate state for stuck orders. State=1 represent multiple state as result it was not easy to pull out only stuck orders list.&amp;nbsp; &lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2219266845416701158-9063690807287485161?l=fusionprofessional.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fusionprofessional.blogspot.com/feeds/9063690807287485161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fusionprofessional.blogspot.com/2011/09/ge-list-of-stuck-orders-from-orabpel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default/9063690807287485161?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2219266845416701158/posts/default/9063690807287485161?v=2'/><link rel='alternate' type='text/html' href='http://fusionprofessional.blogspot.com/2011/09/ge-list-of-stuck-orders-from-orabpel.html' title='Get the list of Stuck orders from orabpel schema'/><author><name>Manish Gupta</name><uri>http://www.blogger.com/profile/02928528074366288273</uri><email>rn13manish.java@gmail.com</email></author><thr:total>0</thr:total></entry></feed>