Search This Blog

Wednesday, May 23, 2012

SOA Composite is in Running State and Reinitiates

 Problem:

The SOA Composite remains in running state for ever.
 Also it gets reinitiated by itself all over again

 Solution:

 This is because the process fails to identify the point of dehydration and tries to replay it all over again.
 There are several scenarios in which this can occur.
 Always ensure that long running while loops are avoided.
 Ensure that the audit doesn't have too much to be dumped on the Dehydration DB.
 If its not an issue , set the audit level to Production mode to achieve a better performance.

SOA11g DBAdapter - Package Body has been invalidated



 Problem:

 SOA via dbadapter calls a parent API.
 This Parent API can inturn call child APIs.
 The child API was recompiled and is in a valid state at the database layer.
 
 The DB Adapter fails with the following message:

 ORA-04061: existing state of package body "APPS.XYZ" has been invalidated
 ORA-04065: not executed, altered or dropped package body "APPS.XYZ"
 ORA-06508: PL/SQL: could not find program unit being called: "APPS.XYZ"

 Solution:

 This is a caching issue.
 Either recompile the package again at the database side or bounce the SOA Managed server.

Wednesday, May 9, 2012

SOA11g Datasource has been suspended.

Problem:
 Pool xyz_db_ds is Suspended, cannot allocate resources to applications

Summary:
This happens when the database has no more free connections, the datasource connection pool keeps requesting them, and weblogic suspends it.

Solution:
To resolve this exception, ask your DBA to give you a report about you database load, or, if you have a sysdba account, just run these commands:

Run these commands

--see current sessions/processes:
select count(*) from v$process;
select count(*) from v$session;

--see database configuration:
select *  from v$parameter where name in ('sessions','processes','transactions');

Increase the connections or correctly dimension your datasource connection pool to match the free sessions

sql> alter system set processes=500 scope=spfile sid='*';
sql> alter system set sessions=555 scope=spfile sid='*';
sql> alter system set transactions=610 scope=spfile sid='*';
sql> shutdown immediate
sql> restart

Finally , on the weblogic server reset this  datasource.

References:
http://egherardini.wordpress.com/2011/04/27/oracle-soa-suite-11g-datasource-has-been-suspended/