Oracle middleware applications sometimes stop working, and generate an error message weblogic.jdbc.exetentions.poolDisabledSQLException. This article addresses this issue, showing you how to fix it.
The following scenario demonstrates the issue when Oracle web center and Oracle content server 12c where are hosted on Oracle Linux gave both error messages weblogic.common.resourceDisabledException and weblogic.jdbc.exetentions.poolDisabledSQLException.
Content Server Request Failed due poolDisabledSQLException
The development team encountered an unusual error that our Oracle WebCenter content server Console does not open, and it is generating the following error message.
Content Server Request Failed Unable to load the user information. Encountered an exception while executing a query. “unable to execute service method ‘getConnection’. weblogic.jdbc.exetentions.poolDisabledSQLException: weblogic.common.resourceDisabledException: pool CSDS is Suspended, cannot allocate resources to application…
Clearly, The WebCenter content server is complaining that there is a suspended data source that is mandatory for it to function properly.
weblogic.common.resourcepool.ResourceDisabledException in Logs
When you open the log file of the managed server, you will find a long detailed Java exception contains the following line.
Caused By: weblogic.jdbc.extensions.PoolDisabledSQLException: weblogic.common.resourcepool.ResourceDisabledException: Pool CSDS is Suspended, cannot allocate resources to applications.. at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:269) at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:529) at 8)
Yet, this is a misleading error message as this error message does not show the real cause. it just complains about the data source that can’t reach. But if you scrutinize the error message you will get some useful leading points. hence, to start investigating the issue.
Leading point number one: unable to execute service method ‘getConnection’
It says that web content server can’t get the database connection
Leading point number two: weblogic.jdbc.exetentions.poolDisabledSQLException
There is a data-source which has its connect pool disabled
Leading point number three: pool CSDS is Suspended
Now we are getting a thread we can follow. CSDS Data-source is suspended.
From this last point, we will investigate the reasons which caused data-source CSDS to stop working
Resume suspended data source pool
By searching the WebLogic logs you will find the same error mentioned above. To get the real cause of the problem. You need to resume the data-source so the original error will appear in the logs.
Open WebLogic console and follow these steps to resume data-source.
First, click the data-sources link under the services tree, that is located in the domain structure tree.
Second, the list of data-sources appears on the right side, click on our suspect data-source which in our case it’s CSDS.
As shown in the image below to control the data-source you need to open its configuration window
- select Control tab.
- Select all suspended connections (usually all the list ).
- Click on the resume.
poolDisabledSQLException cause and solution!
When the data-source tries to connect to the database, Weblogic will log any errors that causing the issue. in our case, It shows an expired database username password.
<Jun 2, 2019, 7:15:13,304 PM GST> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "CSDS": ORA-28001: the password has expired.>
the data-source will work properly, After resetting the password and resuming the data-source.
If you want to avoid the repetition of the issue in the future, therefore, you need to change the user’s profile setting and disable password expiration.
To conclude, This issue is a result of the data-source failure to connect to the database. If you fix that cause and resumed the data-source, the Application should resume working.