How to Fix the Oracle EBS 12.1.3 JDBC Connection Lock Issue

Posted in: Technical Track

As with any product, there is always an increased risk of bugs when a new feature is introduced. Oracle E-Business Suite is no different. In release Release 12, Oracle introduced a usability feature called Configurable Homepage. This is a new homepage layout that is drastically different from 11i. This feature brings in a new gamut of personalization features to the Oracle E-Business Suite home page. This homepage feature got a new bug with 12.1.3. This bug only affects EBS 12.1.2 and 12.1.3 customers who have OAMainMenuRESTHandler.class version 120.0.12010000.18.

$ strings -a $JAVA_TOP/oracle/apps/fnd/framework/webui/rest/OAMainMenuRESTHandler.class|grep Header
[$Header: OAMainMenuRESTHandler.java 120.0.12010000.18 2010/06/11 14:37:27 akbansal noship $

This bug almost looks like a JDBC connection leak, but its not exactly a leak. When users navigate to any self service page like “timecard” entry, away from the home page, the home page locks a JDBC connection to the database. This DB connection remains locked and not shared with other JDBC sessions until the user navigates back to the home page. This issue, for example, increases the number of connections required on the database on a weekend where all users start logging into EBS to fill their time sheets.

The fix for this bug is outlined in the below metalink note:

Connections Locked In OANAVIGATEPORTLETAM After Login To The Configurable Homepage [ID 1454792.1]

In short, the fix is to disable configurable home page or apply patch 13822452. I seriously believe this patch needs to be included in a CPU bundle, as a low lurking bug like this can drive a DBA crazy during peak hours.

email

Interested in working with Vasu? Schedule a tech call.

About the Author

Vasu Balla’s colleagues call him “Eagle Eye” for a reason – his diverse technical background enables him to view his clients’ systems from a 360-degree angle, giving him a higher level of understanding. Vasu is well known for being approachable, and he truly enjoys helping people. Even former colleagues reach out to Vasu when they are really stuck on an issue. When he isn’t working, Vasu can be found in the kitchen trying new recipes.

6 Comments. Leave new

Or you search a fix at Google

Reply
Yury Velikanov
March 26, 2013 6:33 pm

Hey Vasu! Thanks for sharing. I wonder if you can give us a suggestion on how we can check if a system is effected by the issue? This way each of us could check and “sale” the fix to business quickly :)

Y.

Reply

To determine if this issue is affecting your system follow these steps.

1. Login to the instance using sysadmin.
2. Click on Diagnostics link, which will take you to the Diagnostics page
3. Select “Show Pool Monitor” from the dropdown
4. On the processes page, click on AMs – Check for the Available, Unavailable values for OANavigatePortletAM

If the problem exists then you will see bigger number for unavailable status for OANavigatePortletAM

Reply

Hi Vasu,

I went through your blog and it is helpfull . But here my question is what if no of JDBC thin client is increasing and inactive and consuming lots of memory as when see through TOP command in linux. I see there is lots of oraclePROD (LOCAL=NO) . please advice

Reply

Hi Vasu,

In addition we are on Application release 12.2.3 and 11.2.0.3

At Database tier from top command

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12916 oraprod 20 0 4081m 2.0g 2.0g S 0.0 2.1 7:10.94 oraclePROD (LOCAL=NO) INACTIVE JDBC THIN CLIENT

12885 oraprod 20 0 4094m 1.8g 1.8g S 0.0 1.9 9:31.78 oraclePROD (LOCAL=NO) INACTIVE JDBC THIN CLIENT

Reply

Hi Dawaa. The issue i described in this blog post is only for EBS 12.1.3. In 12.2.3 the issue is different. Connection pool in 12.2 is manged by Weblogic. So to make Weblogic clear any of these idle JDBC connections, Set the “Inactive Connection Timeout” value to reasonable value like 14400 ( 4 hrs ) in weblogic console using below instructions

– launch admin server url http://hostname:7001/console
– Go to > Services > Datasources > EBSDataSource > Connection pool > Advanced > Lock & Edit
– Set “Inactive Connection Timeout” to 14400
– Apply changes

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *