WebLogic Server Creating New Database Connections and Causing Edition Based Re-Definition to Fail: java.lang.Exception: Pinned (Doc ID 1384519.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle Weblogic Server - Version 10.0 to 10.3.6
Information in this document applies to any platform.
The Oracle Database now has a feature "Edition Based Re-definition" (EBR) which allows changing the edition of the database, on the fly, to a newer version.
The Oracle Database documentation describes EBR (http://docs.oracle.com/cd/E11882_01/appdev.112/e25518/adfns_editions.htm).
An application deployed to WebLogic Server (WLS) uses connection pools to connect to the database including EBR.

Symptoms

Issue :
Bring up the application with the database default edition as ORA$BASE. Also, the configuration Shrink Frequency is set to 0 and application usage connections have already reached near the maximum, and there are enough connections to serve all requests (basically no more new connections to the db are required).

Next, deploy the database changes (on the datbase server) in an edition E1 which is created as child of ORA$BASE. Make E1 as the DB default edition.
At this point, as expected all the requests from the application should go to ORA$BASE edition, as all the connections were made to the database when the default edition was ORA$BASE.

However for some reason, intermittently, WLS destroys some of the old connections before rendering to the application, and it re-creates those connections which now points to new E1 EBR. This contradicts the purpose of EBR because WLS cannot maintain the zero downtime application deployment.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms