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