Search This Blog

Friday, November 22, 2013

ORA-20001: Oracle error -2074: ORA-02074: cannot SET NLS in a distributed transaction

 Problem:

 Bpel via dbadapter calls a  API using XA Datasource.
 The DB Adapter fails with the following exception:

 ORA-20001: Oracle error -2074: ORA-02074: cannot SET NLS in a distributed transaction has been detected in fnd_global.set_nls.set_parameter('NLS_LANGUAGE','AMERICAN'). has been detected in  fnd_global.set_nls. 
 ORA-06512: at "APPS.XXSON_PLYS_AGILE_TO_EBS", line 162 ORA-06512: at line 1 
 Check to ensure that the API is defined in the database and that the parameters match the signature of the API. 
 This exception is considered not retriable, likely due to a modelling mistake. 
 To classify it as retriable instead add property nonRetriableErrorCodes with value "-20001" to your 
 deployment descriptor (i.e. weblogic-ra.xml). To auto retry a retriable fault set these composite.xml properties for 
 this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff. All properties are integers. ". 
 The invoked JCA adapter raised a resource exception. 
 Please examine the above error message carefully to determine a resolution.

 Solution:

 1) Change the Datasource to NON XA.
 2) If for some reason you are not in  a position to change it to Non XA, then look for the below code in the API causing this issue and comment it.
    FND_GLOBAL.APPS_INITIALIZE(xxxx,yyyy,zzz); 

Wednesday, November 20, 2013

Import namespaces pointing to NON PROD URI's

Scenario:


The import namespaces present in the composite.xml pointing to non prod instances might look negligible and might not cause any issues
during design and even during the initial period of run time.
This can be of a mild risk if its not taken care.

Risk:

During a production server bounce.
All the SOA Composites would try to redeploy itself at the time of start up.
Those Composites which have a import reference to other non prod instances will have a problem,
incase the referred wsdls are not up and running.

These composites will fail to start up.


Fire Fight Fix:

If you are currently at this stage and wouldn't like to do a code change at the moment in Production.
Then start up your refered services and then re-bounce your production server.


Solution:

1)Use the config plane Search/Replace feature at deployment time.
2)Refering them from MDS directly is another option

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/

Tuesday, March 6, 2012

DB Adapter: Interaction processing error


Exception:

Exception occured when binding was invoked.Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'DEMO_TEST' failed due to: Interaction processing error.Error while processing the execution of the APPS.ABC.DEMO API interaction.An error occurred while processing the interaction for invoking the APPS.ABC.DEMO API. Cause: java.lang.NullPointerException.Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD. This exception is considered not retriable, likely due to a modelling mistake.". The invoked JCA adapter raised a resource exception.Please examine the above error message carefully to determine a resolution.


Solution:

Undeploy the composite and Redeploy it again

ORACLE initialization or shutdown in progress


Exception:

java.sql.SQLException: ORA-01033: ORACLE initialization or shutdown in progress Error Code: 1033 [Caused by: ORA-01033: ORACLE initialization or shutdown in progress ] Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD.
Contact oracle support if error is not fixable.

Cause:

This is not a JCA adapter problem. Please verify the stability of target database.