Thursday, April 5, 2007

Login issue resolution

If you can't login to oracle application by clicking on login link ,

check if

--- dbc file location
(wrapper.bin.parameters=- DFND_SECURE=/opt/appldba3/apps/fnd/11.5.0/secure)
as per parameter FND_SECURE (in jserv.properties) is correct.

--- dbc file name in the location specified by DFND_SECURE parameter in Jserv.properties file.

--- APPL_SERVER_ID in dbc file matches with server ID in FND_NODES table against respective Server .
eg.APPL_SERVER_ID=2CD2C25DFDCA80EAE0439C14342A80EA17875142042836050097327698082686

--- GUEST/ORACLE ( this a Application User and NOT DB user ) password is correct & user is not end dated .

--- APPS password is correct in wdbsvr.app file
( under $IAS_ORACLE_HOME/Apache/modplsql/cfg).

--- Check http://hostname.domainnamel:port/pls/$SID and see if package fnd_web can ping & you get output in screen from FND_WEB.ping with correct database_id ( and check if there is correct dbc file in FND_SECURE )

There is JSP tool test to find most of issues via http://host.domain:port/OA_HTML/jsp/fnd/aoljtest.jsp

Apart from this note at metalink which you can refer 342332.1 Troubleshooting Login Problems in Oracle Applications 11i (11.5.2 , 11.5.10+)

Hope this will help in our future issues.


Now let us understand , how an apps login actually takes place.
---------------------------------------------------------------
When user makes a request how request flow across different component in E-Business Suite or Oracle applications .There different Services/Component in Oracle apps these are ,
1. Oracle Web Server ( Apache, Jserv, plssql )
2. IAS_ORACLE_HOME 9iAS, Ver. 102222.
3. Forms Server ( 8.0.6 ) ORACLE_HOME & Report Server ( in side 8.0.6 ORACLE_HOME)
4. Concurrent Manager for Batch or Individual Job Processing
5. Admin Server ( These are used for application dba job like patching , cloning & lot more )
6. Database Server

Let's see how a request flow across different component in E-Business Suite or Oracle applications:

A) So when User makes a request from browser by typing URL
like http:// hostname : port
Here the port number they mention is WebServer Port, this request hit's to Oracle WebServer ( these requests are recorded in logs where wait for next post ).


B) Webserver checks that with http request there is no cookie attached (Cookie is message given by WebServer to Web Browser to identify client) so user is new & it passes login page to User .

C) User types his Username Password in login window & clicks submit button.

D) Webserver checks that username and passwords ( it need's to authenticate against database FND_USER table ), so it needs first some user GUEST/ORACLE to check client's username password in database .

E) Once user is authenticated its check against FND_RESPONSBILITY for Authorization about users responsibilities & assigned responsibilities are presented back to user.

F) Now these responsibilities are of two type Self Services(served by Jserv/Servlets) or Core Applications Server by Forms Server .

G) If this is Core responsibility , Apache transfers request to Forms Listener (Listening on Forms port),
From here request is on Sockets ( on forms servelets depending on forms config. ) which is persistense connection. From here onwards Client talks directly with Forms Server in forms session and if Client requested some data, forms server makes database connection.
( using tnsnames.ora in 806 HOME or using dbc Database Connector file in FND_SECURE_TOP or wdbsvr.apps in Apache/modplsql/cfg )

If User selected Self Service Responsibility like iProcurement, iRecruitement.., Apache forwards request to mod_jserv and request is fullfilled by jserv_component.

Note: why webserver donot ask client to login again until session timeout ??
( its because of cookies as User have valid cookies , try deleting cookies from browser & see Oracle Apache asks you to relogin .)

When your webserver tries to connect to database for plsql or any other type of connection it asks mod_pls to fulfill request but this connection information stored in ( dbc file or wdbsvr.app file )

No comments: