Wednesday, September 16, 2009

Modify Transaction Timeout Settings

We generally face the time out issue during the run time, when the data being fetched is large.Thus to avoid this issue we need to increase the time out settings. Suppose we want to have a transaction timeout of 600 seconds to enable.

We need to change the following files and bounce the oc4j instance to have the timeout setting effective :

• Change transaction-manager.xml at $J2EE_HOME/config(change the attribute transaction-timeout to 600) as follows :
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/transaction-manager-10_0.xsd"
transaction-timeout="600"
max-concurrent-transactions="-1" >

• Change all occurances of transaction-timeout in $J2EE_HOME/application-deployments/orabpel/ejb_ob_engine/orion-ejb-jar.xml to 600.

• Login to BPEL Console, and from “Manage Domains” change the following property :
syncMaxWaitTime to 600

Wednesday, September 2, 2009

ESB Project Registration Fails in Jdeveloper

After upgrade to a 10.1.3.4 MLR, registration of projects to ESB fails from JDeveloper or ANT.You get the following error at registration time:
Entity Deployment Failederror code: 1001 : 5 summary: Failed to create Service "ESBService". Fix: Ensure that the (a) Repository is available. (b) The Connection information for the Repository is Valid. Verify the detailed cause of error if available. Contact Oracle Support if error not fixable.

The ESB Designtime logfile at $ORACLE_HOME/j2ee//log/*_*_1/oc4j/log.xml will have the following similar errors:

<message>
<header>
<tstz_originating>2009-02-16T13:09:48.858-05:00</tstz_originating> <component_id>tip</component_id>
<msg_type type="ERROR"></msg_type>
<msg_level>1</msg_level>
<host_id>t1-l1</host_id>
<host_nwaddr></host_nwaddr> <module_id>esb.configuration.deployment</module_id>
<thread_id>17</thread_id>
<user_id>test</user_id>
</header>
<correlation_data>
<exec_context_id><unique_id><host>:97790:1234807788280:19</unique_id><seq>0</seq></exec_context_id>
</correlation_data>
<payload>
<msg_text>Deployment failed due to :Failed to create Service "ESBService".Ensure that the (a) Repository is available. (b) The Connection information for the Repository is Valid. Verify the detailed cause of error if available. Contact Oracle Support if error not fixable.</msg_text>
</payload>
</message>


The issue is caused by not successfully running the 10.1.3.4 MLR database upgrade script for the ESB (oraesb) schema after applying one of the 10.1.3.4 MLR patch sets.

The key error from the log.xml file is:
For Oracle database: Caused by: java.sql.SQLException: ORA-00904: "FQ_PATH": invalid identifier

Solution

1. After a 10.1.3.4 MLR is applied to a system make sure that the instructions in the readme for the patch set is followed, specifically running the database upgrade scripts for the specified SOA schema. For this particular case the ESB oraesb script must be run. Verify that the sql scripts complete successfully.

2. After the database scripts have been run successfully try the ESB registration again.

Problem while Emulating the XADataSource

Hi All,

In domain.log, If you can see the following error ;

Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Branch [oracle.oc4j.sql.xa.EmulatedXAResource@454837, Xid( Global Id d4.14.26.b6.ff.ff.ff.ff.d8.b4.9d.4d.22.01.00.00.80.a5.1f.00.00.00.00.00, Format Id 1330790740, Branch Id 33.d3.88.8e.00.00.00.00.00.00.00.00.00.00.00.01), oracle.oc4j.sql.xa.EmulatedXAResource@454837, state={PREPARED}, exception error code=] in transaction Global Transaction Xid( Global Id d4.14.26.b6.ff.ff.ff.ff.d8.b4.9d.4d.22.01.00.00.80.a5.1f.00.00.00.00.00, Format Id 1330790740), type=orabpel, state=COMMITTING, time in completion or recovering=1)
{
[oracle.oc4j.sql.xa.EmulatedXAResource@454837, Xid( Global Id d4.14.26.b6.ff.ff.ff.ff.d8.b4.9d.4d.22.01.00.00.80.a5.1f.00.00.00.00.00, Format Id 1330790740, Branch Id 33.d3.88.8e.00.00.00.00.00.00.00.00.00.00.00.01), oracle.oc4j.sql.xa.EmulatedXAResource@454837, state={PREPARED}, exception error code=],
[oracle.oc4j.sql.xa.EmulatedXAResource@8833d8, Xid( Global Id d4.14.26.b6.ff.ff.ff.ff.d8.b4.9d.4d.22.01.00.00.80.a5.1f.00.00.00.00.00, Format Id 1330790740, Branch Id 33.d3.88.8e.00.00.00.00.00.00.00.00.00.00.00.00), oracle.oc4j.sql.xa.EmulatedXAResource@8833d8, state={PREPARED}, exception error code=]
} returned RB* during commit.

This problem arises because OC4j is trying to emulate the XADataSource.
When Oc4j tries to emulate the data source, it can lead to inconsistent transaction.


For more information refer to EMULATING XA section in following doc
http://download.oracle.com/docs/cd/B25221_04/web.1013/b14427/datasrc.htm#CHDHGDII

To solve the error,

1.We need to change the connection factory class attribute of connectionPools from 'oracle.jdbc.pool.OracleDataSource' to 'oracle.jdbc.xa.client.OracleXADataSource'.

2. We need to increase the maxConnection value of the BPELServerDataSource.


3. Increase the transaction time out value. We can also decrease the audit level.