Wednesday, September 19, 2012

Extreme performance boost on OSB11g and CLOB objects

When using the JCA DbAdpater in the Oracle Service Bus (OSB11g) normal operations running fine. Most of us using the DbAdapter for simple DML actions (Select/Insert/Update/Delete).

There is a huge performance degradation when you read LOB objects from the DbAdapter. When reading a CLOB from a table, and this CLOB contains a document of 3MB, we saw that the OSB server consumes 100% CPU for a long time.
This results in time-outs, broken-pipe, connection lostd and all those kind of messages. First of all you look into your own environment to find this issue;
  • Is the server configured correctly
  • Is the network up and running
  • Is the query correct
  • Is the Proxy service programmed in the correct way
I found out that this huge CPU consuming action is a bug (!) that exists from patch set #2 (11.1.1.3). Only for this release a patch was created. The fix was not put into the code of the next patch sets.

To summarize; make sure you have patch for your OSB environement for bug 1294800 (PS2) or 14630697 (PS5)  or ask Oracle Support for a backport for you release.

Post a Comment