Sunday, December 29, 2019

12.2 E-Business Suite Technology Stack Summary Of The iAS / HTTP Server Login Process And What To Expect When One Of The Login Components Fails (Doc ID 1984710.1)

In this Document
Purpose
Troubleshooting Steps
 EBS Architecture
 Login HTTP headers
 
OHS (apache) failure
 Steps to take
 
OACore JVM process not available
  Steps to take
 
oacore J2EE application not available
  Steps to take
 
Datasource failure
 Steps to take
 RDBMS failure
  Steps to take
References


APPLIES TO:

Oracle E-Business Suite Technology Stack - Version 12.2 to 12.2 [Release 12.2]
Information in this document applies to any platform.

PURPOSE

This document explains the basics of the login process for E-Business Suite (EBS) 12.2.x and offers some guidance on what to expect when one of the components fails.

TROUBLESHOOTING STEPS

EBS Architecture

EBS Architecture
When a HTTP request is made for EBS, the request is received by the Oracle HTTP Server (OHS).
When the configuration of OHS is for a resource that needs to be processed by Java, such as logging into EBS, the OHS configuration will redirect the request to the Web Logic Server (WLS) Java process (OACore in this case).
WLS determines the J2EE application that should deal with the request, which is called "oacore".
This J2EE application needs to be deployed and available for processing requests in order for the request to succeed.   The J2EE application needs to access a database and does this via a datasource which is configured within WLS.

Login HTTP headers

When the EBS login works OK, the browser will be redirected to various different URLs in order for the login page to be displayed.  The page flow below shows the URLs that will be called to display the login page:
/OA_HTML/AppsLogin
EBS Login URL
/OA_HTML/AppsLocalLogin.jsp
Redirects to local login page
/OA_HTML/RF.jsp?function_id=1032925&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&oas=3TQG_dtTW1oYy7P5_6r9ag..&params=5LEnOA6Dde-bxji7iwlQUg
Renders the login page
The URLs after the user enters username and password, then clicks the "login" button are shown below:
/OA_HTML/OA.jsp?page=/oracle/apps/fnd/sso/login/webui/MainLoginPG&_ri=0&_ti=640290175&language_code=US&requestUrl=&oapc=2&oas=4hoZpUbqVSrv9IE0iJdY1g..
/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE
/OA_HTML/RF.jsp?function_id=MAINMENUREST&security_group_id=0
Renders user home page
 Once the users home page is displayed, the logout flow also redirects to several different URL before returning to the login page:
/OA_HTML/OALogout.jsp?menu=Y
Logout icon has been clicked
/OA_HTML/AppsLogout
/OA_HTML/AppsLocalLogin.jsp?langCode=US&_logoutRedirect=y
Redirects to the login page
/OA_HTML/RF.jsp?function_id=1032925&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&oas=r6JPtR7-a4n5U2H3--ytEg..&params=1JU-PCsoyAO7NMAeJQ.9N6auZoBnO8UYYXjUgSPLHdpzU3015KGHA668whNgEIQ4
Renders login page again

When things go wrong, the user will see different error messages, depending on which component is failing:


OHS (apache) failure

If OHS is not running or not responding, one would see a message as below. If OHS is not running then there will not be any messages in any EBS log file for this request.
Firefox: "The connection was reset"
 Firefox error when OHS is down
IE: "Internet Explorer cannot display the webpage"
Internet Explorer error when OHS is down

Steps to take

  • Check OHS has started OK


OACore JVM process not available

If the OACore JVM is not running or not reachable, then one will likely see the following message in the browser:
Failure of server APACHE bridge:
No backend server available for connection: timed out after 10 seconds or idempotent set to OFF or method not idempotent.
Error when OACore JVM is down
The access_log will show a status 503 for the request:
GET /OA_HTML/AppsLogin HTTP/1.1" 503
The Apache EBS_web_EBSDB.log will show message similar to below:
[2015-02-27T14:07:13.2436+00:00] [OHS] [ERROR:32] [OHS-9999] [core.c] [client_id: 10.0.2.2] [host_id: apps.example.com] [host_addr: 127.0.0.1] [tid: 139762998388480] [user: applmgr] [ecid: 005419Y0FIhFw000jzwkno0003rf00000L] [rid: 0] [VirtualHost: main] ap_proxy: trying GET /OA_HTML/AppsLogin at backend host '127.0.0.1/7202; got exception 'CONNECTION_REFUSED [os error=115, line 1602 of URL.cpp]: apr_socket_connect call failed with error=111, host=127.0.0.1, port=7202 '

 Steps to take

  • Make sure the OACore JVM has started correctly 
  • Check mod_wl_ohs.conf file is configured correctly.  Refer "Managing Configuration of Oracle HTTP Server and Web Application Services in Oracle E-Business Suite Release 12.2" Note 1905593.1 for details how to add or remove managed servers in EBS


oacore J2EE application not available

There may be cases where the OACore JVM is running and reachable but the oacore application is not available.
The browser will report the error:
Error 404--Not Found
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.4.5 404 Not Found
The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
Access_log will show 404 error:
GET /OA_HTML/AppsLogin HTTP/1.1" 404

oacore J2EE application is down

 Steps to take

  • In the FMW Console check the "deployments" to confirm the "oacore" application is at status "Active" and Health is "OK".


Datasource failure

If the datasource has some issue, for example is not deployed into the oacore_server1 managed server, then the browser will show error message:
 Datasource not targetted
access_log shows status 200
GET /OA_HTML/AppsLogin HTTP/1.1" 200
oacore_server1.out file may show messages such as:
<Feb 27, 2015 4:25:31 PM GMT> <Error> <ServletContext-/OA_HTML> <BEA-000000> <Logging call failed exception::
java.lang.NullPointerException
at oracle.apps.fnd.sso.AppsLoginRedirect.logSafe(AppsLoginRedirect.java:639)
at oracle.apps.fnd.sso.AppsLoginRedirect.doGet(AppsLoginRedirect.java:1314)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
oacore_server1.log one may see messages such as:
####<Feb 27, 2015 4:25:03 PM GMT> <Warning> <Common> <apps.example.com> <oacore_server1> <[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <9c1aa611489043da:-5160f293:14bcbce2adc:-8000-0000000000000036> <1425054303663> <BEA-000632> <Resource Pool "EBSDataSource" shutting down, ignoring 1 resources still in use by applications..>
....
....
####<Feb 27, 2015 4:25:06 PM GMT> <Error> <ServletContext-/OA_HTML> <apps.example.com> <oacore_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <00541HFi3vwFw000jzwkno0005Qe00001O> <1425054306432> <BEA-000000> <Logging call failed exception::
java.lang.NullPointerException
at oracle.apps.fnd.sso.AppsLoginRedirect.logSafe(AppsLoginRedirect.java:639)
at oracle.apps.fnd.sso.AppsLoginRedirect.doGet(AppsLoginRedirect.java:1297)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

Steps to take

  • Review the EBS Datasource and make sure it is targetted to the oacore_cluster1 managed server.   Also use the "Test Datasource" option to confirm database connection can be made
    • If one makes any changes, one will need to restart the managed server, despite FMW Console saying no restart is necessary.

RDBMS failure

If there is some problem with accessing the database, either the listener or database is down or not responding then the browser will show an error message:
Database or Listener down

The access_log shows status 200 for the request:
GET /OA_HTML/AppsLogin HTTP/1.1" 200

The oacore_server1.out and oacore_server1.log shows errors as below:
<Mar 2, 2015 11:03:18 AM GMT> <Error> <JDBC> <BEA-001112> <Test "Begin null; End ;" set up for pool "EBSDataSource" failed with exception: "java.sql.SQLRecoverableException: No more data to read from socket".>
<Mar 2, 2015 11:03:18 AM GMT> <Warning> <JDBC> <BEA-001129> <Received exception while creating connection for pool "EBSDataSource": IO Error: Got minus one from a read call.>
<Mar 2, 2015 11:03:25 AM GMT> <Error> <ServletContext-/OA_HTML> <BEA-000000> <Logging call failed exception::
java.lang.NullPointerException
at oracle.apps.fnd.sso.AppsLoginRedirect.logSafe(AppsLoginRedirect.java:639)
at oracle.apps.fnd.sso.AppsLoginRedirect.doGet(AppsLoginRedirect.java:1297)
...............

 Steps to take

  • Make sure the database and listener are responding.


 Failure of web server bridge
Error message "Failure of web server bridge" will occur if the wrong IP address entries are present against the hostname in the /etc/hosts file
Make sure the IP address entries are correct for the hostname in the /etc/hosts file.

REFERENCES

NOTE:1563168.1 - 12.2 E-Business Suite Steps To Enable FND: Debug and AF Logging When Access To Change Profile Options Is Not Possible
NOTE:1900969.1 - Login To 12.2.3 Clears Password And Displays The Login Page
NOTE:1925320.1 - 12.2 Technology Stack Login Page Fails With Errors 'BEA-000000 AppsLogin Servlet initialization failed java.lang.NoClassDefFoundError java.lang.ArrayIndexOutOfBoundsException' and 'FrameworkException: J2EE JOC-044 in method. Cache.init null'
NOTE:1905593.1 - Managing Configuration of Oracle HTTP Server and Web Application Services in Oracle E-Business Suite Release 12.2
NOTE:1592363.1 - After Upgrading To EBS 12.2, Users Are Unable To Login And Receive The Following Error: "URL Validation Failed"
 

Was this document helpful?

 
   
 

Document Details

 
Email link to this documentOpen document in new windowPrintable Page
TROUBLESHOOTING
PUBLISHED
26-Jun-2019
03-Dec-2019
   
 

Related Products

 
Oracle E-Business Suite Technology Stack
   
 

Information Centers

 
No Information Center available for this document.
   
Didn't find what you are looking for?

How to Recreate the Global oraInventory (Doc ID 295185.1)



Checked for relevance on 14-Dec-2012
PURPOSE
-------

This document explains the steps to re-create the Global Inventory and 
re-register all the ORACLE_HOMEs (8i or 9i and iAS) in case it is missing or 
corrupted.
This Note, applies only for Oracle Applications 11i environments created 
with the Rapid Installer (RapidWiz) with RDBMS Versions 8i or 9i.


 
SCOPE & APPLICATION
-------------------

System Administrators, Applications DBAs, Oracle Support



How to Recreate the Global oraInventory
=======================================

The file oraInst.loc, defines the location of the Global Inventory.
This file is located under /etc for Linux and AIX and /var/opt/oracle on Solaris,
HP-UX and Tru64.

Every $ORACLE_HOME must be registered on the Global Inventory.
The Global Inventory is pointer to each Local Inventory located under 
$ORACLE_HOME/inventory for every ORACLE_HOME (8i or 9i and iAS).
The Local Inventories contain the local versions installed on that $ORACLE_HOME.

This procedure will only work if the Local Inventory for each ORACLE_HOME is 
present and is not corrupted.
Make sure the directory $ORACLE_HOME/inventory under each RDBMS (8i or 9i) or 
iAS $ORACLE_HOME exists and it is not empty.

Note:
=====
If the Local Inventory is missing or corrupted, then a valid workaround is to
Re-Install the Techstack by using 'rapidwiz -techstack'.
That procedure will create a a New $ORACLE_HOME (9i or iAS) containing a valid
Local Inventory.

For detailed steps on that procedure, refer to the following Metalink notes:
Note: 289786.1 : 11.5.10 Oracle applications Installation Manual' (Chapter 5, Page 5-1) and
Note: 146468.1 : Installing Oracle9i Application Server 1.0.2.2.2 with Oracle Applications




1. Verify the oraInst.loc file.

   Be sure the inventory where oraInst.loc points to, is the oraInventory for 
   the environment that you need to re-create the Global Inventory.

   For Example :
   inventory_loc=/oraInventory

   Note:
   If the oraInst.loc does not exist, create the text file with the above entry.
   This file must exist to be able to register the ORACLE_HOMEs correctly.

2. Rename the corrupted Global oraInventory with a different Name

   Go to the directory where the oraInst.loc is pointing to. 
   Rename the directory with a different name.
   
   For Example :
   cd /
   mv oraInventory oraInventory.ori

   
3. Download Patch 5035661 (OUI 2.2) (Or Later) from Metalink.
   
   Note:
   Do not follow the readme.txt file for this patch. 
   Just follow the instructions on this Note.

4. Recreate the Global oraInventory on ALL the ORACLE_HOMEs as follows :

  4.1) iAS ORACLE_HOME :

  a.  Unzip the patch into the  directory
      ie: unzip -od  p5035661_11i_LINUX.zip

  b.  Source the Apps environment file (/APPSORA.env).
      If the environment file is not available, please make sure
      the environment variable 'APPL_TOP' is set.

  c.  Change directory to the /appsoui/setup

  d.  Execute the perl script OUIsetup.pl:
      perl OUIsetup.pl

      This command, will create a new oraInventory (on the location where 
      the oraInst.loc is pointing to) and will add one entry on the file
      oraInventory/ContentsXML/inventory.xml for the iAS ORACLE_HOME 
      just registered.

  e.  Give all the Permissions to the new oraInventory create in order to 
      prevent permission problems that might occur during the registration 
      of the the next ORACLE_HOME (ie: 8i or 9i).

      For Example :
      cd /
      chmod -R 777 oraInventory

  4.2) RDBMS ORACLE_HOME (8i or 9i)

  a.  Unzip the patch into the  directory
      ie: unzip -od  p5035661_11i_LINUX.zip

  b.  Source the DB environment file (/_.env)
      If the environment file is not available, please make sure
      the environment variable 'ORACLE_SID' is set.

  c.  Change directory to the /appsoui/setup

  d.  Execute the perl script OUIsetup.pl:
      perl OUIsetup.pl

      This command, will use the same oraInventory created on Step 4.1, and 
      will add another entry on the file oraInventory/ContentsXML/inventory.xml 
      for the RDBMS (8i or 9i) ORACLE_HOME just registered.


5. Verify oraInventory registration :

    - Set the DISPLAY correctly

    - Go to the directory $ORACLE_HOME/appsoui/oui/install

    - Execute the command : runInstaller.sh

    - Click on the button 'Installed Products'

    - If you are able to see all the ORACLE_HOMEs and the products installed 
      on each one, then the Registration was succesfull.




REFERENCES
----------

Note: 216664.1 : FAQ: Cloning Oracle Applications Release 11i (Questions 24 to 31)

Monday, December 9, 2019

Convert Number of Minutes to Hours and Minutes in Microsoft Excel

Excel stores Date and Time in number form. To convert hours from one standard time format to others, we can use the CONVERT Function.
CONVERT function converts a number from one measurement system to another.
Syntax:
=CONVERT(number,from_unit,to_unit)
Let’s do this with an example
In column A, we have Minutes &we need to convert the number of Minutes to Hours in column B.
pasted image 0 (32)
The second argument in the Convert Function is from_unit which is “mn” for Minutes.
unnamed (8)
In the third argument enter or select to_unit as “hr” for Hour.
unnamed (9)
Applying the above formula
=CONVERT(A2,"mn","hr")
unnamed (10)
Copy the formula in other cells, select the cells taking the first cell where the formula is already applied, use shortcut key CTRL + D.
Desired output will be like shown below
HHMMSS
Hope you learned how to use conversion using CONVERT function. You can perform these functions Excel 2013 and 2010. Explore more articles on conversion here. Please let us know if you have any unresolved query. We will help you.
Related Articles:

Database Options/Management Packs Usage Reporting for Oracle Databases 11.2 and later (Doc ID 1317265.1)

  Database Options/Management Packs Usage Report You can determine whether an option is currently in use in a database by running options_pa...