Thursday, October 11, 2012

PSOFT : Application initialization failure due to UseLocalOracleDB Param

Issue : Recently I was getting error while booting one of our dev application server with backend being Oracle DB.
CMDTUX_CAT:1685: ERROR: Application initialization failure

APPSRV Log had these errors

SQL Access Manager: File: SQL Access ManagerSQL error. Stmt #: 2 Error Position: 0 Return: 12560 - ORA-12560: TNS:protocol adapter error 
Database Signon: Could not sign on to database FSSYS1 with user PS.



Solution :

I had never paid any attention to section Database Options in config files till I came across this issue.

To identify issue I compared my psappsrv.cfg file with other running env's and found that my UseLocalOracleDB parameter was set to 1.
After I reset it to zero and reconfigured app server. it booted fine.

Configuration file psappsrv.cfg for the application server has a section Database Options, and in that section there is a parameter UseLocalOracleDB. Possible settings are 0 (off / default value) and 1 (on).  

This parameter is used to determine how to connect to the Oracle database. The parameter had been set to '1' and so the domain was looking to the ORACLE_SID at boot time. The problem was that the ORACLE_SID had not been set in the psappsrv.cfg file which was causing the connection to Oracle to fail.
Make sure you set the ORACLE_SID in the psappsrv.cfg file and also uncomment this value out if you choose to use UseLocalOracleDB=1.

A value of UseLocalOracleDB=0 will cause the domain to read the tnsnames.ora when it tries to connect to the Oracle database.

A value of '1' is appropriate only if the database and application server reside on the same machine. Using a value of UseLocalOracleDB=1 should boot the domain faster since it uses a local connection to attach to Oracle. This setting also pertains to the process scheduler.

No comments:

Post a Comment