Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps

Thursday, April 9, 2009

11.5.5 java.lang.RuntimeException: Cannot get Connection to the Database

Sadiq called me for an issue with an 11.5.5 instance in which clicking on Diagnostics or other tabs in CRM HTML Administrator responsibility showed this error:

Exception:

java.lang.RuntimeException: Cannot get Connection to the Database
at oracle.apps.fnd.sso.Utils.getConnection(Utils.java:222)
at _oa__html._fndvald._jspService(_fndvald.java:83)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java)
at oracle.jsp.JspServlet.internalService(JspServlet.java)
at oracle.jsp.JspServlet.service(JspServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:314)
at org.apache.jserv.JServConnection.run(JServConnection.java:188)
at java.lang.Thread.run(Thread.java:595)

aoljtest failed on Verify DBC

Request URI:/OA_HTML/jsp/fnd/aolj_verify_dbc_content.jsp

Exception:
java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:168)
at oracle.jsp.app.JspClassLoader.loadClass(JspClassLoader.java)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at _oa__html._jsp._fnd._aolj__verify__dbc__content._jspService(_aolj__verify__dbc__content.java:575)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java)
at oracle.jsp.JspServlet.internalService(JspServlet.java)
at oracle.jsp.JspServlet.service(JspServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at org.apache.jserv.JServConnection.processRequest(JServConnection.java:314)
at org.apache.jserv.JServConnection.run(JServConnection.java:188)
at java.lang.Thread.run(Thread.java:595)

http://server:port/OA_HTML/jtflogin.jsp did not show the jtf login page and gave errors.

This is definitely a problem with the DBC file. Sadiq hand built it but the error did not resolve. Guest password is Oracle in dbc file, It is Oracle in the GUEST_USER_PASSWORD profile also.

I have asked him to bounce database based on metalink note 250624.1.

Metalink Note 178437.1 has these steps for jtflogin:

Login: Cannot access jtflogin.jsp nor jtfdefaultlogin.jsp:
You are trying to log into the html stack via jtflogin.jsp or jtfdefaultlogin.jsp.

Jtflogin.jsp does not display the page and returns message 'error in error page'.

Jtfdefaultlogin.jsp also does not display the page and returns message like 'system error' followed by several java messages, the most significant
being 'oracle.apps.jtf.base.session.ServletSessionManagerException'.

You have also tried to run the diagnostics via jtfqalgn.htm and the database connectivity tests fail

Cause #1:
There can be several reasons for this problem scenario, including configuration files not being correct for httpd.conf, jserv.conf,
jserv.properties, and zone.properties.

The following solution is for correcting one specific condition where your .dbc file has been manually edited, looks correct but the
connectivity issue persists.

To eliminate this possibility, please perform the following procedure:

Why do we want to do this procedure ?

Because if you have ever manually edited the .dbc file, you may have unknowingly inserted/deleted
some character/space/line feed/carriage return/tab/etc.

Do not manually edit your .dbc file. Results are unpredictable and can take a long time to diagnose.

Resolution:
Perform the following query:

SQL> select * from fnd_application_servers;

The query should return one (1) row. If the query returns more than one row, delete the row(s) that is/are most apparently incorrect. You will probably be able to recognize the invalid row(s) by the IP address column (server_address) that points to an invalid host database tier.

The authentication string in this table (column server_id) must match the same string in your 'host_sid'.dbc file (APPL_SERVER_ID).

Make a backup copy of your .dbc file.

To insure that everything is in synch, run the adgendbc.sh script located in your $COMMON_TOP\admin\install directory. This script takes no parameters except '-deinstall' which you probably do not want to do. This script will assign a new authentication string (server_id), update your .dbc file and update your fnd_application_servers table.

It's OK if you get an error message related to unique key constraint (read the script file).

Double check the information in your .dbc file and fnd_application_servers table. It should be in synch. Display or print the .dbc file. Please do not use an editor because you may forget the rule and save it.

This is still not solved. I'll update this post once I learn more.

No comments: