Monday, July 25, 2011

Mobile Wireless Applications (MWA)




Today’s demand for accurate, real-time information access,and inventory speed for several industries is forcing mobile applications to Find solutions for industries such as warehousing,manufacturing,Distribution, retailing, logistics, and transportation.

MWA will use wireless devices that support Internet Standards, Web Browser, and Telnet client.Technologies involved are Java, XML, TCP/IP, and Oracle 8i.Devices as hand held Radio Frequency (RF), Personal Digital Assistants (PAD’s), and Internet Phones are examples of mobile devices.

Agenda
  • Set up overview
  • Configuration Options
  • mwa.cfg file
  • Key Mappings (device IP.ini and default_key.ini)
  • Starting/stopping Mobile Apps Server
  • Starting Server on Multiple Ports
  • Configuring RF Devices
  • Accessing a Mobile Application.


Diagram Overview

Typical three-tier Internet architecture.
In the back-end is your 11i Applications server with Oracle database.
In the middle tier is the Mobile Supply Chain Applications server. This is analogous to the Forms server and HTTP server, but is used to deploy applications to Telnet clients.
The client in this context will typically be a mobile RF device running a Telnet client. The RF device communicates with the MSCA server through an access point.

You need to do two things to start using Mobile Supply Chain Applications.
Start the Mobile Supply Chain Applications Server (after configuring it).
Configure your RF devices so that they are communicating with the server.

Configuration Options:



  • Most of the server-related configuration parameters are located in the $MWA_TOP/admin/mwa.cfg file.
The important properties in this file are:
  • Dbc File
Used to connect to database. Stores username, passwd, database port, and other info used to login.
  • Log Directory
  • Sets the location of your log directory. We default to $MWA_TOP/log, but you may want to change this to point to your regular Applications log directory.
  • Telnet Port Number
You can set the port number on which you want the Telnet server to run.
Important: You should set the port to a number greater than 1024.
Anything less will require you to be root. The configuration file defaults to port number 2323

Settings for MWA Server:




Class Paths
/local/java/jdk1.4.2_04/jre/lib/rt.jar:
/local/java/jdk1.4.2_04/lib/dt.jar
/local/java/jdk1.4.2_04/lib/tools.jar:
/lafrz/mfg_top/mfgdev/dmfdv11i/java/appsborg2.zip
/lafrz/mfg_top/mfgdev/dmfdv11i/java

MWA Server
  • MWA Configuration File
  • Port Number Conventions
  • Environment Verification
  • Dispatcher Usage
  • Configuring MWA Dispatcher

MWA Configuration File

Configuration File is used to set server related properties:

Setup mwa.cfg as follows:

Locate file in $MWA_TOP/Secure/hostname_
Copy mwa_template.cfg to mwa.cfg
Edit mwa.cfg and configure following parameters:

a. Set mwa.DbcFolder = Full directory of .dbc file ending with /
b. Set mwa.DbcFile = dbc file name
c. Set mwa.logdir = full directory of log file
d. Set mwa.TelnetPortNumber = default port#
e. Set mwa.DropConnectionTimeout = no. of minutes
f. Set mwa.StaleSessionTimeout = no. of minutes
g. Set mwa.LogLevel = error or trace


Key Mappings $MWA_TOP/admin/default_key.ini
  • You can map device keys to server-defined functions in .ini files. These are located in $MWA_TOP/admin.
  • There is a default_key.ini file in there already, which can be used as a template for the specific devices you might be using.
  • The server will use the default_key.ini file if it cannot find the appropriate .ini file for your device.
  • The syntax is action=key=Description
  • So, for example, killing (or erasing) an entire line in a text field is set to Control+K.
  • You can change this to F9, for example, if Control Keys are not easily accessible on your device.
  • In these .ini files, you can also specify the devices height and width so the server knows how to format the output.
  • The idea is to create a new.ini file for each type of device you have.
  • For example, if your company is using Intermec Trakker 2415s, create an intermec2415_key.ini file that is based off the default_key.ini file, but has height, width, and key settings for the Trakker 2415.



Kep Mappings : $MWA_TOP/admin/deviceIP.ini

  • You associate your device witha key mapping file you’ve created in the $MWA_TOP/admin/deviceIP.ini file.
  • Two ways to do this.
  • First way...
  • If your devices are DHCP, put in a line like: Intermec 2415=intermec2415_key.ini
  • Options on the left of the equal sign will appear before users log in.
  • The user must select the option corresponding to the device he/she is using.
  • Second way...(preferred way)
  • If your devices are on Static Ips, you can specify which IP addresses should be associated with which key mapping file.
  • For example, 130.35.112.*=intermec2415.ini
  • In this case, the options screen is not shown and the user doesn’t have to select anything. The server automatically knows which key mapping file to use based on the device’s IP.
Port Number Conventions

Test Instance:
Dispatcher port = 30500
Telnet Server ports = 30502,30504,30506

Development Instance:
Dispatcher port = 30700
Telnet Server ports = 30702,30704,30706

Production Instance:
Dispatcher port = 30000
Telnet Server ports = 30002,30004,30006


Environment Verification

  • Verify that correct port numbers as per convention has been used
  • Verify the environment that is set correctly by sourcing the APPS_.env file
  • Verify $MWA_TOP is set correctly
  • Verify the DbcFolder and the DbcFile in the mwa.cfg file that is set to the location and filename of our Oracle Application .dbc file
  • Verify the log directory that exists
Dispatcher Usage

Two Consecutive ports are needed per one MWA Server.
One port is for listening to RF device. The Other port
is for listening to the MWA Server Manager.Three
consecutive ports are needed for running the dispatcher.
Mobile Users connect to Dispatcher port 2300.
Dispatcher distributes mobile users among the three MWA servers.


Configuring MWA Dispatcher

Setup Dispatcher parameters in mwa.cfg:

1) Specify the port number and machine for running the dispatcher
mwa.Dispatcher = hostname:port#

2) Specify the dispatcher worker thread count. No. of connections per MWA Server.
mwa.DispatcherWorkerThreadCount = 15

3) Specify the dispatcher clients per worker. No. of MWA servers per Dispatcher.
mwa.DispatcherClientsPerWorker = 10

Before Starting the Server

Be sure the following is true:You’ve installed Oracle Applications 11i.
  1. You have logged onto your Applications machine as user oracle.
  2. The mwa.DbcFile parameter is set to the location of your Applications’ .dbc file. This property is set in your $MWA_TOP/admin/mwa.cfg file.The .dbc file is used for storing all the information the server needs to log into your database (e.g., name of the server, database port, etc.)
MWA Server JVM Memory Allocation

Set MWA Server JVM Memory Size
Unix - $MWA_TOP/bin/mwactl.sh
NT - $MWA_TOP/bin/mwactl.cmd

Parameter VMCONFIG="-mx256m -ms128m"

No. of users/Server Memory allocation
5 to 10 -mx128m -ms64m
10 to 15 -mx256m -ms128m

Initialization Parameter File : $MWA_TOP/secure/default_key.ini

Devices Specific Info
DATASTREAMINDICATOR=28
DEFAULT_WIDTH=20
DEFAULT_HEIGHT=16
DEFAULT_TERM_TYPE=VT100
CHARACTER_SET=UTF8
PROMPT_RATIO=1:1
MWA Navigation Keys
MWA_HELP=F1
MWA_MENU=F2
MWA_BACK=F3
MWA_FORWARD=F4
MWA Function Keys
MWA_CLEAR_FIELD=CONTROLK
MWA_LOVSUBMIT=CONTROLL
MWA_MAIN_MENU=CONTROLN
MWA_MESSAGE_DETAIL=CONTROLB
MWA_FIELD_DETAIL=CONTROLA
MWA_BUTTON_ACCLRTOR=ESC
MWA_PAGE_UP=CONTROLD
MWA_PAGE_DOWN=CONTROLC
MWA_ABOUT_PAGE=CONTROLX
MWA_FLEX_POPUP=CONTROLF
MWA_FLUSH_INPUT=CONTROLE
MWA_DROP_CONNECTION=CONTROLZ
INV Function Keys
INV_GENERATE=CONTROLG
WMS Function Keys
WMS_SKIP_TASK=CONTROLS
WMS_INVOKE_DEVICE=CONTROLP

Initialization Parameter File : $MWA_TOP/secure/deviceIP.ini

[device]
DEFAULT=default_key.ini
SYMBOL=gui_key.ini
INTERMEC=intermec.ini

// Wildcard at the end of IP address is supported.
[map]
127.0.0.1=default_key.ini

Startup and shutdown Script

start_mwa.sh
export MWA_TOP=//applmgr/1159/mwa/11.5.0
export PATH=$PATH:$MWA_TOP/bin
export DISPLAY=:1.0
nohup //applmgr/1159/mwa/11.5.0/bin/mwactl.sh start 30002 &
nohup //applmgr/1159/mwa/11.5.0/bin/mwactl.sh start 30004 &
nohup //applmgr/1159/mwa/11.5.0/bin/mwactl.sh start 30006 &
nohup //applmgr/1159/mwa/11.5.0/bin/mwactl.sh start_dispatcher &

stop_mwa.sh

export PATH = $PATH:/sid/applmgr/1159/mwa/11.5.0/bin:/sid/applmgr/common/util/jre/1.1.8/bin
nohup /sid/applmgr/1159/mwa/11.5.0/bin/mwactl.sh -login mobileadm/mobileadm stop_force 30002 &
nohup /sid/applmgr/1159/mwa/11.5.0/bin/mwactl.sh -login mobileadm/mobileadm stop_force 30004 &
nohup /sid/applmgr/1159/mwa/11.5.0/bin/mwactl.sh -login mobileadm/mobileadm stop_force 30006 &
nohup /sid/applmgr/1159/mwa/11.5.0/bin/mwactl.sh stop_dispatcher &

Startup/Shutdown of MWA Servers and Dispatcher

To start the MWA Telnet Server:
1.Source the APPS_.ENV
2.cd $MWA_TOP/bin
3.mwactl.sh start [port number]
4. mwactl.sh start_dispatcher

1.To Shutdown the Telnet Server:
2.cd $MWA_TOP/bin
3.mwactl.sh -login xxx/yyy stop port#
where xxx is the application user id with system administrator responsibility and yyy is the application user password.
4.mwactl.sh stop_dispatcher

Follow the steps outlined to start the MSCA server.
  • Note that you can specify a port number when starting up the server. Specifying a port here will override the port specified in your mwa.cfg file.
  • Immediately after starting the server, check to see if it worked. Telnet to the Server with a PC’s Telnet client. telnet
  • There should also be a new java process running on your machine.
  • For Background running:
  • nohup mwactl.sh start 2323 &
  • Nohup = the process will continue to run even after user has terminated unix session
  • & = will launch the process in background mode

Problems Starting the Server:

  • Make Sure the port isn't already in use
  • Make Sure the Environment is set Correctly by sourcing the APPLSYS.env File
  • Make Sure the $MWA_TOP is set correctly
  • Make Sure the mwa.Dbc File Parameter in your mwa.cfg file is set to the location of
  • your oracle application dbc file.
  • Make Sure your Database is up and the users specified in the .dbc file valid.

Here are some things to watch out for if the server didn’t start up successfully.

Log file will look like ..
The APPLSYS.env may have been changed to user’s environment file. (Example: visus02.env)

Starting the server on multiple ports

For load balancing reasons, you may want to start up multiple servers.
Remember to start each server on a different port.
Also, remember that the Server uses port n+1 when communicating with Server Manager.
So, if you start on port 2323, then port 2324 is also taken, and port 2324 will not be able to be used.
A dispatcher can be used to route requests to one of the servers.
In the mwa.cfg file, modify the parameter "mwa.Dispatcher=hostname:port".
Set the hostname to the machine on which you want the dispatcher to reside. Set the port here as well.
mwactl.sh start_dispatcher to start
mwactl.sh stop_dispatcher to stop

Notes:
If you use the Dispatcher, we do not support the ability to reconnect from a dropped session and still get back to the same screen.
You must start the dispatcher from the same MWA_TOP you use to start the Telnet server.


Concurrent Program defn.

Sometimes, Customers specifically ask for defining
concurrent programs for startup/shudown of MWA
servers from front end in Oracle APPS 11i.

Steps for defining Concurrent program:

  • Copy start_mwa.sh and stop_mwa.sh to $XBOL_TOP/bin as start_mwa and stop_mwa
  • Login from front end, and define Concurrent program executables as HOST type
  • Define the concurrent program named as startup_mwa and stop_mwa
  • Test the same, if you have CRT from the customer for bouncing MWA
  • Update the Customer with successful results
Create Executables from Frontend for both Start MWA and Stop MWA.
Concurrent Program Executable : Concurrent -> Executable-> Define

Executable: MWA_START/MWA_STOP
Shortname:MWA_START/MWA_STOP
Application:Business Online
Description:TO Start MWA/To Stop MWA
Execution Method: Host
Execution file name: mwa_start/mwa_stop

Concurrent Program:

Program Name: MWA_STOP/MWA_START
Shortname: MWA_STOP/MWA_START
Application Name: Business Online

Executable

Name: MWA_STOP/MWA_START
Method: Host

Accessing a Mobile Application:


To get to a mobile application
1. Login
2. Select Responsibility.
3. Select Menu Item



Common Issues

Dispatcher and MWA ports getting reset after refresh or running autoconfig.
In Order to avoid autoconfig resetting the ports, we need to have standard ports on context file.
Parameters listed above.
Some times process doesn’t get cleared after the stop command issued. Wait for some time and always, please check netstat -i |grep . If you see port is still listening. Use lsof -i |grep
#>. Identify the process and kill them. When all ports are cleared start the services.
Post start service can done from desktop dos prompt or start -> run with
telnet . Repeate this for all ports including dispatcher to make sure you get login prompt.

Q. The Server doesn’t start successfully?
Q. The Server doesn’t allow me to connect if X users have already
connected?
Q. There is a long response time between the server and the client?
Q. The Server drops my connection to the server if I have been idle for more than a couple of minutes?
Q. Setting up of a cronjob for automatic bounce of MWA Servers


MWA Configuration Help

  • For MWA Configuration details, please see following metalink notes
  • Mobile Applications Technology Stack: 163931.1
  • MWA Dispatcher port number usage: 170939.1
  • MWA Dispatcher Usage and Example: 198543.1
  • Important MWA Dispatcher Fix:
  • MWA Dispatcher linking MWADIS executable Bug 2284935









Friday, July 15, 2011

Changing of passwords for Different Users in Oracle Applications

Category
1:


1. VIDEO31
2. VIDEO4
3. VIDEO5
4. PORTAL30_DEMO
5. PORTAL30_PUBLIC
6. PORTAL30_SSO_PS
7. PORTAL30_SSO_PUBLIC

Remediation Action:[Note: No Downtime Required for this type]
Command Syntax: alter user User_name identified by New_password
Category 2:

1. CFD
2. CSDUMMY
3. CSMIG
4. DGRAY
5. DLD
6. DMS
7. EDWEUL_US
8. EUL_US
9. HCC
10.JTI
11.JTR
12.JUNK_PS
13.MDSYS
14.MOBILEADMIN
15.OLAPSYS
16.ORDPLUGINS
17.ORDSYS
18.OUTLN
19.OWAPUB
20.PERFSTAT
21.PROJMFG
22.PTE
23.PTG
24.REPADMIN
25.RESTRICTED_US
26.SERVICES
27.SSOSDK
28.SYS
29.SYSTEM
30.ODM_MTR
31.TRACESVR
32.WEBSYS
33.WH
34.WIRELESS
35.XDB
36.CTXSYS

Remediation Action: [Note: No Downtime Required for this type]
1. alter user User_name identified by new_password

Category 3:

1. EDWREP
2. ODM

Remediation Action: [Note: Downtime Required,Shutdown the Applications Tier services on each of the Nodes]
1.FNDCPASS APPS/apps_pwd 0 Y SYSTEM/system_pwd ORACLE [EDWREP/ODM] new_pwd

Category 4:

APPS Base Product Accounts: ABM-ZX password:

ABM AHL AHM AK ALR AMF AMS AMV AMWAP AR ASF ASG ASL ASN ASO ASP AST AX AZ BEN BIC BIL BIM BIS BIV BIX BNE BOM BSC CCT CE CLN CN CRP CS CSC CSD CSE CSF CSI CSL CSM CSP CSR CSS CUA CUE CUF CUG CUI CUN CUP CUS CZ DDD DOM EAA EAM EC ECX EDR EGO ENG ENI EVM FA FEM FII FLM FPA FPT FRM FTE FUN FV GCS GL GMA GMD GME GMF GMI GML GMP GMS GR HR HRI HXC HXT IA IBA IBC IBE IBP IBU IBY ICX IEB IEC IEM IEO IES IEU IEX IGC IGF IGI IGS IGW IMC IMT INV IPA IPD ISC ITG JA JE JG JL JTF JTM JTS LNS ME MFG MRP MSC MSD
MSO MSR MST MWA OE OKB OKC OKE OKI OKL OKO OKR OKS OKX ONT OPI OSM OTA OZF OZP OZS PA PJI PJM PMI PN PO POA POM PON POS PRP PSA PSB PSP PV QA QOT QP QRM RG RHX RLA RLM SSP VEA VEH WIP WMS WPS WSH WSM XDO XDP XLA XLE XNB XNC XNI XNM XNP XNS XTR ZFA ZPB ZSA ZX

Remediation Action: [Note: Downtime Required,Shutdown the Applications Tier services on each of the Nodes]
1. FNDCPASS APPS/apps_pwd 0 Y SYSTEM/system_pwd ALLORACLE new_pwd ----At a time all users password will change
[ Please keep password same as apps password for these set of users]

FNDCPASS apps/xxx 0 Y system/xxx ORACLE ICX ICX ---For single user

Category 5:

1. PORTAL30
2. PORTAL30_SSO

Remediation Action: [Note: Downtime Required,Shutdown the Applications Tier services on each of the Nodes]

1.FNDCPASS APPS/apps_pwd 0 Y SYSTEM/system_pwd ORACLE [PORTAL30/PORTAL30_SSO] new_pwd

2.Modify APACHE modsql Password on All Middle Tiers:
if $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsvr.app exist then change APPS password in the file else
if $ORACLE_HOME/listener/cfg/wdbsvr.app exist then change APPS password in the file else
if $IAS_ORACLE_HOME/listener/cfg/wdbsvr.app exist then change APPS password in the file

Category 6: only in 11i we need to update the files, in R12 this are hardcoded.

Take the backup As a precaution, please back up the FND_ORACLE_ID and
FND_USER tables before beginning.

1. APPLSYS
2. APPS
3. APPS_MRC

Remediation Action: [Note: Downtime Required,Shutdown the Applications Tier services on each of the Nodes]
1. FNDCPASS apps/apps_schema_password 0 Y system/system_schema_password SYSTEM APPLSYS new_password
Ex: FNDCPASS apps/apps 0 Y system/xx SYSTEM APPLSYS New_password

To update the Apache configuration files with the new password execute a short autoconfig run for
the specific templates.

The following command is to be executed on all nodes for the particular instance we are updating.
Note the command must be executed on one line.

$AD_TOP/bin/adconfig.sh -appspass={NEW_APPS_PASS} -run=INSTE8
driver=$FND_TOP/admin/driver/fndtmpl.drv -contextfile=$CONTEXT_FILE


2.Modify Notification Mailer Password:
On All Middle Tier Nodes open $FND_TOP/resource/wfmail.cfg and change APPS password if mentioned in file.

3.Modify Reports CGI Password:
On All Middle Tier nodes open (806 OH) $ORACLE_HOME/reports60/server/CGIcmd.dat and change APPS password.

4.Modify APACHE modsql Password on All Middle Tiers:
if $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsvr.app exist then change APPS password in the file else
if $ORACLE_HOME/listener/cfg/wdbsvr.app exist then change APPS password in the file else
if $IAS_ORACLE_HOME/listener/cfg/wdbsvr.app exist then change APPS password in the file

5.Drop and Recreate the db links:
· sqlplus -s apps/$NEW_PASSWORD
· set feedback off;
· set head off;
· set echo off;
· set pagesize 0;
· set term off;
· set trimspool on;
· col owner format a15;
· col db_link format a30;
· col username format a15;
· spool /tmp/db_links_tmp
· select owner, db_link, username from dba_db_links where owner in ('APPLSYS','APPS') ;
· spool off;
· For each DB_LINKS found in upper select statement do the following:
1. sqlplus -s $OWNER/$OWNER_PASSWORD
2. drop database link ;
3. create database link connect to ( APPS OR APPLSYS) identified by "" using '’;

–If you have configured E-Business Suite with 10g Application Server SSO/OID then after changing APPS password, update provisioning profile with new apps password

oidprovtool operation=modify \
ldap_host=oid_host ldap_port=oid_port \
ldap_user=”cn=orcladmin” ldap_user_password=password \
application_dn=”orclApplicationCommonName=app_name, cn=EBusiness,cn=Products,cn=OracleContext, dc=realm_name” \
interface_connect_info=db_host_name:oid_port:SID:apps:apps_password

Saturday, July 9, 2011

SCRIPTS TO SEE APPLICATION PRODUCT VERSIONS AND PATCH LEVEL.

SQL>
REM =====================================================
REM BEGIN "E-BUSINESS SUITE VERSION INFO" BEGIN
REM =====================================================
SPOOL /tmp/apps_version_info.txt
set linesize 132
set pagesize 132
col NAME format A20
col HOST format A20
col RELEASE format A12
col VERSION format A12
select i.instance_name NAME, i.host_name HOST,
f.release_name RELEASE, i.version VERSION
from v$instance i,fnd_product_groups f
where upper(substr(i.instance_name,1,4)) =
upper(substr(f.applications_system_name,1,4));
SPOOL OFF

SQL>
REM ====================================
REM "BEGIN ATG PATCH VERSION CHECKING"
REM ====================================
SPOOL /tmp/atg_ver_patches.txt
set pagesize 1000;
set linesize 141;
col "BUG#" format A10;
col "PATCHES APPLIED" format A70;
select bug_number "BUG#", decode(bug_number,
3262159, 'Patch 11i.FND.H',
3262919, 'Patch 11i.FWK.H',
3126422, '11.5.9 CU1',
3171663, '11.5.9 CU2',
3140000, '11.5.10 Maintenance Pack',
3240000, '11.5.10 Consolidated Update 1 (CU1)',
3640000, '11.5.10.1 Maintenance Pack',
4017300, '11.5.10 Consolidated Update 1 (CU1) for ATG Product Family',
3460000, '11.5.10 Consolidated Update 2 (CU2)',
3480000, '11.5.10.2 Maintenance Pack',
4125550, '11.5.10 Consolidated Update (CU2) for ATG Product Family',
3438354, 'Patch 11i.ATG_PF.H ',
4334965, '11i.ATG_PF.H Rollup 3',
4676589, '11i.ATG_PF.H.RUP4', 5473858, '11i.ATG_PF.H.RUP5',
5903765, '11i.ATG_PF.H.RUP6'
) "PATCHES APPLIED", LAST_UPDATE_DATE "DATE APPLIED"
from AD_BUGS
where BUG_NUMBER in ('3262919','3262159','3126422','3171633','3140000',
'3240000','3640000','4017300','3460000','3480000',
'4125550','3438354','4334965','4676589','5473858',
'5903765')
order by BUG_NUMBER asc;
SPOOL OFF

SQL>
REM ====================================
REM "BEGIN CHECK AUTOCONFIG/TXK PATCHES"
REM ====================================
SPOOL /tmp/txk_adx.patches.txt
set pagesize 1000;
set linesize 141;
col "BUG#" format A10;
col "PATCHES APPLIED" format A70;
select bug_number "BUG#",
decode(bug_number, 4175764, '11i.ADXE.1 FEB 2005 CUMULATIVE UPDATE (autoconfig)',
3453499, 'Patch 11i.ADX.F (autoconfig)',
2682863, 'TXK (FND) AutoConfig TEMPLATE ROLLUP Patch C (March 2003)',
2757379, 'TXK (FND) AutoConfig TEMPLATE ROLLUP Patch D (June 2003)',
2902755, 'TXK (FND) AutoConfig TEMPLATE ROLLUP Patch E (August 2003)',
3104607, 'TXK (FND) AutoConfig TEMPLATE ROLLUP Patch F (December 2003)',
3239694, 'TXK (FND) AutoConfig TEMPLATE ROLLUP Patch G (February 2004)',
3416234, 'TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH H (May 2004)',
3594604, 'TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH I (October 2004)',
3950067, 'TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH J (FEBRUARY 2005)',
4104924, 'TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH K (July 2005)',
4489303, 'TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH L (SEP 2005)',
4709948, 'TXK (FND) AUTOCONFIG TEMPLATE ROLLUP PATCH M (APRIL 2006)',
5107107, 'TXK (FND/ADX) AUTOCONFIG ROLLUP PATCH N (AUGUST 2006)',
5478710, 'TXK (FND/ADX) AUTOCONFIG ROLLUP PATCH O (December 2006)',
5759055, 'TXK (FND/ADX) AUTOCONFIG ROLLUP PATCH P (MAR/APR 2007)',
5985992, 'TXK (FND/ADX) AUTOCONFIG ROLLUP PATCH Q (JUL/AUG 2007)',
6323691, 'TXK AUTOCONFIG AND TEMPLATES ROLLUP PATCH R (OCT/NOV 2007)',
6372396, 'TXK AUTOCONFIG AND TEMPLATES ROLLUP PATCH S (APRIL/MAY 2008)'
) "PATCHES APPLIED", b.LAST_UPDATE_DATE "DATE APPLIED"
from AD_BUGS b
where b.BUG_NUMBER in ('4175764','3453499','2682863','2757379','2902755',
'3104607','3239694','3416234','3594604','3950067',
'4104924','4489303','4709948','5107107','5478710',
'5759055','5985992','6323691','6372396')
order by bug_number asc;
SPOOL OFF

SQL>
REM =======================================================
REM "BEGIN Extended fnd_nodes query to cover web_host,etc."
REM =======================================================
spool /tmp/fndnodes_oss.txt
set pagesize 50
col node_name format a15
col server_id format a8
col server_address format a15
col platform_code format a4
col webhost format a12
col domain format a20
col virtual_ip format a12
set linesize 132
select node_id, platform_code, support_db D, support_cp C, support_admin A,
support_forms F, support_web W, node_name, server_id,
server_address, domain, webhost, virtual_ip
from fnd_nodes
order by node_id;
SPOOL OFF

SQL>
REM =============================
REM "BEGIN LOGIN PROFILE OPTIONS"
REM =============================

spool /tmp/login_profiles.txt

set pagesize 100;
set linesize 133;
set feedback off;
set verify off;

col profile_option_name format a35
col profile_option_value format a60
col PROF_LEVEL format a30
break on profile_option_name

select p.profile_option_name,
decode(v.level_id,
10001,'SITE',
10002, (select 'App:'||a.application_short_name
from fnd_application a
where a.application_id = v.level_value),
10003, (select 'Resp:'||f.RESPONSIBILITY_KEY
from fnd_responsibility f
where f.responsibility_id = v.level_value),
10004, (select 'User:'||u.user_name
from fnd_user u
where u.user_id = v.level_value),
10005, (select 'Server:'||n.node_name
from fnd_nodes n
where n.node_id = v.level_value),
10006, (select 'Org:'|| o.name
from hr_operating_units o
where o.organization_id = v.level_value),
10007, 'ServResp',
'NOT SET') PROF_LEVEL,
nvl(v.profile_option_value,'NOT SET') profile_option_value
from
fnd_profile_options p,
fnd_profile_option_values v
where
p.profile_option_id = v.profile_option_id (+)
and p.application_id = v.application_id (+)
and upper(p.profile_option_name) in
('APPLICATIONS_HOME_PAGE','APPS_SSO_LOCAL_LOGIN','APPS_SSO')
order by 1, v.level_id;
SPOOL OFF

SQL>
REM ===================================================
REM Shows us the values of all web like profile options
REM ===================================================
SPOOL /tmp/web_urls.txt
set linesize 132
set pagesize 132
col NAME format A25
col LEVEL_SET format a15
col CONTEXT format a10
col VALUE format A20 wrap
col Server format a10
col resp format a8 wrap
col application format a10
break on NAME
select n.user_profile_option_name NAME,
decode(v.level_id,
10001, 'Site',
10002, 'Application',
10003, 'Responsibility',
10004, 'User',
10005, 'Server',
10006, 'Organization',
10007, 'ServResp',
'UnDef') LEVEL_SET,
decode(to_char(v.level_id),
'10001', '',
'10002', app.application_short_name,
'10003', rsp.responsibility_key,
'10004', usr.user_name,
'10005', svr.node_name,
'10006', org.name,
'10007', 'depends=',
v.level_id) "CONTEXT",
v.profile_option_value VALUE,
(select n.node_name
from
fnd_nodes n
where
n.node_id=level_value2) Server,
decode(v.LEVEL_VALUE,
-1, 'Default',
rsp.responsibility_key) Resp,
decode(LEVEL_VALUE_APPLICATION_ID,
-1, 'Default',
app.application_short_name) Application
from fnd_profile_options p,
fnd_profile_option_values v,
fnd_profile_options_tl n,
fnd_user usr,
fnd_application app,
fnd_responsibility rsp,
fnd_nodes svr,
hr_operating_units org
where p.profile_option_id = v.profile_option_id (+)
and p.profile_option_name = n.profile_option_name
and (upper(v.profile_option_value) like '%HTTP%')
and usr.user_id (+) = v.level_value
and rsp.application_id (+) = v.level_value_application_id
and rsp.responsibility_id (+) = v.level_value
and app.application_id (+) = v.level_value
and svr.node_id (+) = v.level_value
and org.organization_id (+) = v.level_value
order by name, level_set;
SPOOL OFF

3a. From an UNX shell that has the Apps environment sourced on your external middle tier

[ Part I ] - cut and paste the following commands in the shell

#-------------8> Begin Cut here ------------------8> Begin Cut here -------------------------8>
echo "############ BEGIN INFO GATHERING ############" > /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- Context Info ----------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "[CONTEXT_FILE]: "$CONTEXT_FILE >> /tmp/OS_info.txt
echo "[CONTEXT_NAME]: "$CONTEXT_NAME >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------ Machine Info ------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
uname -a >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------ Limit Info ------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
ulimit -a >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------ DMESG Info ------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
dmesg |grep -i cpu >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
dmesg |grep -i mem >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- Host Info ----------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
cat /etc/hosts >>/tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- nsswitch Info ----------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
grep host /etc/nsswitch.conf >>/tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- fstab Info ----------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
cat /etc/*fstab >>/tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- df Info [ $IAS_ORACLE_HOME/Apache/Apache/logs ] ----------------" >>
/tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
df -k $IAS_ORACLE_HOME/Apache/Apache/logs >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------ Apache Info -------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
$IAS_ORACLE_HOME/Apache/Apache/bin/httpd -version >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- Java Info ----------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
`awk -F= '$1 ~ /^JSERVJAVA.*$/ {print $2}' \
$IAS_ORACLE_HOME/Apache/Apache/bin/java.sh` -version 2>> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "------------- Forms Info ----------------" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "[FORMS60_WEB_CONFIG_FILE]: " $FORMS60_WEB_CONFIG_FILE >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
$ORACLE_HOME/bin/f60run | grep "Runtime" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
echo "############ END INFO GATHERING ############" >> /tmp/OS_info.txt
echo "" >> /tmp/OS_info.txt
#-------------8> End Cut here ------------------8> End Cut here -------------------------8>

R12:How To Enable and Collect Debug for HTTP,oacore,OAFM

zip -r /tmp/`uname -n`_`date +%m%d%y.%H%M`_iAS_CONFIG.zip \
$ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf \
$ORA_CONFIG_HOME/10.1.3/config \
$INST_TOP/pids/10.1.3/Apache \
$ORA_CONFIG_HOME/10.1.3/j2ee/ \
$ORA_CONFIG_HOME/10.1.3/javacache/admin \
$ORA_CONFIG_HOME/10.1.3/network/admin \
$ORA_CONFIG_HOME/10.1.3/opmn

- Do the following on ALL middle tiers

- Shutdown the http server, oc4j and opmn services

adapcctl.sh stop
adoacorectl.sh stop
adformsctl.sh stop
adoafmctl.sh stop
adopmnctl.sh stop

Backup existing log files in:
$LOG_HOME/ora/10.1.3/Apache
$LOG_HOME/ora/10.1.3/j2ee
$LOG_HOME/ora/10.1.3/opmn

Enable HTTP/OC4J/OPMN debug logging

Edit httpd.conf file, add the following to the end of file $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf/httpd.conf

OraLogMode oracle
OraLogSeverity TRACE:32
OraLogDir $LOG_HOME/ora/10.1.3/Apache/oracle

Please use the full path to $LOG_HOME e.g.
OraLogDir /u01/inst/apps/JCB_atg/logs/ora/10.1.3/Apache/oracle

Warning: the log.xml file created by the http ODL log can get very large. Diligence must be taken to monitor this file and maintain its size under the 2GB limit which when exceeded can cause issues with login.

Make the following directory which will be where the Apache ODL log files are created

Increase OC4J logging for oacore

1/ edit j2ee-logging.xml, adjust the following in file:
$ORA_CONFIG_HOME/10.1.3/j2ee/oacore/config/j2ee-logging.xml

2/ edit orion-web.xml, adjust the following in file:
$ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml

param-name>debug_mode
true

Increase OC4J logging for forms

1/ edit j2ee-logging.xml, adjust the following in file:
$ORA_CONFIG_HOME/10.1.3/j2ee/forms/config/j2ee-logging.xml

Increase OC4J logging for OAFM

1/ edit j2ee-logging.xml, adjust the following in file:
$ORA_CONFIG_HOME/10.1.3/j2ee/oafm/config/j2ee-logging.xml

2/ edit orion-web.xml, adjust the following in file:
$ORA_CONFIG_HOME/10.1.3/j2ee/oafm/application-deployments/oafm/webservices/orion-web.xml

param-name>debug_mode
true

Increase OPMN Logging

edit opmn.xml adjust the following in file:
$ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml

internal;ons;pm" rotation-size="1500000" rotation-hour="0" />

Startup the http server, oc4j and opmn (reverse the startup sequence above)

- Reproduce the issue

- Access the following urls and inform support if the url was successful or unsuccessful:

http://.:/OA_HTML/ServletPing
http://.:/OA_HTML/OA.jsp?OAFunc=OAHOMEPAGE
http://.:
http://.:/OA_HTML/jsp/fnd/aoljtest.jsp
http://.:/OA_MEDIA/FNDLOGOL.gif
http://.:/forms/frmservlet
http://:/OA_HTML/fndvald.jsp?username=sysadmin&password=

Run this inventory script and upload the html output

$ADPERLPRG $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -outfile=$APPLTMP/Report_Inventory.html

For more instructions see: Note.601736.1
Utility /Script To Check The Techstack Component Versions (Forms, Http Server, JDK, Framework, etc

- Shutdown the http server, oc4j and opmn

Run these commands to zip up the required log files:

zip -r /tmp/`uname -n`_`date +%m%d%y.%H%M`_iAS_HTTP.zip \
$LOG_HOME/ora/10.1.3/Apache/*log* \
$LOG_HOME/ora/10.1.3/Apache/*lock* \
$LOG_HOME/ora/10.1.3/Apache/oracle $INST_TOP/pids/10.1.3/Apache

11i :How To Enable and Collect Debug for Apache

1. Delete the existing logfiles.

a-1. $ cd $IAS_ORACLE_HOME/Apache/Apache/logs
b-1. $ pwd (verify that you are in the "logs directory")
c-1. $ rm -r *

a-2. $ cd $IAS_ORACLE_HOME/Apache/Jserv/logs/jvm
b-2. $ pwd (verify that you are in the "jvm" directory)
c-2. $ rm -r *

a-3. $ cd $IAS_ORACLE_HOME/Apache/Jserv/logs
b-3. $ pwd (verify that you are in the "logs" directory)
c-3. $ rm *

2. Edit both the $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf file
and $IAS_ORACLE_HOME/Apache/Apache/conf/httpd_pls.conf to enable debugging for apache.

LogLevel debug

3. Edit the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.conf to enable debug for the jserv module.

ApJServLogLevel debug
ApJServLogFile

4. Edit the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties to enable debug for the java
portion of the Apache jserv.

log=true
log.file=
log.timestamp=true
log.channel=true
log.channel.info=true
log.channel.servletException=true
log.channel.jservException=true
log.channel.warning=true
log.channel.servletLog=true
log.channel.critical=true
log.channel.debug=true

5. Edit the $IAS_ORACLE_HOME/Apache/Jserv/etc/zone.properties to enable debug for
framework provider in portal.

Sample Excerpt from zone.properties:
--------------------------------------
# ----- OACore Framework -----
servlet.framework.code=oracle.apps.fnd.framework.provider.OAFrameworkHttpProvider

servlet.framework.initArgs=dbcFileName=/visappl/fnd/11.5.0/secure/buffett_lvis.dbc
servlet.framework.initArgs=sessiontimeout=1800000
servlet.framework.initArgs=appPath=/OA_HTML
servlet.framework.initArgs=appRealPath=/lviscomn/html
*** servlet.framework.initArgs=debuglevel=1

6. Start the apache server. UNIX users will typically use "adapcctl.sh start"
while windows users will simply start the service from the services applet.

7. Reproduce the problem

8. Immediately shutdown the apache server. UNIX users will typically use "adapcctl.sh stop"
while windows users will simply stop the service from the services applet.

9. Gather up all of the following logfiles and configuration files for analysis
put these into the following zip file, which will be placed under /tmp directory...

zip -r /tmp/`uname -n`_`date +%m%d%y.%H%M`_iAS.zip \
$IAS_ORACLE_HOME/Apache/Apache/conf/* \
$IAS_ORACLE_HOME/Apache/Apache/logs/* \
$IAS_ORACLE_HOME/Apache/Jserv/etc/* \
$IAS_ORACLE_HOME/Apache/Jserv/logs/* \
$CONTEXT_FILE

# apache conf directory - $IAS_ORACLE_HOME/Apache/Apache/conf
# apache log directory - $IAS_ORACLE_HOME/Apache/Apache/logs
# jserv etc directory - $IAS_ORACLE_HOME/Apache/Jserv/etc
# jserv log directory - $IAS_ORACLE_HOME/Apache/Jserv/logs

Thursday, July 7, 2011

Apache Common Issues

General Information to Troubleshoot Apache Issues.

1)If you mistype any directive in Apache (httpd.conf or any conf file), Apache will not start & it will not write even in error_log. In these case it will report any error message to file
$COMMON_TOP/admin/log/$CONTEXT_NAME/adapcctl.txt

So first check in the above file

2)Found *.pid file in Apache_Top/Apache/logs/ even after bounce of an Apache web server (When Apache starts it creates .pid file in logs directory and when you shutdown apache it cleans this .pid file). So if this file is already there then Apache will not start.
Fix: Simply move this file

3)Could not bind port (Port already in Use) or Sometimes apache and concurrent
Manager will interchange their port no.’s while starting while results error and both of them will not up
Fix: To overcome this up the services in this manner
1)Listener
2)Apache web server
3)Concurrent manager
4)adstrtal.sh

4)Error 500 - Internal server error
Fix: 1) Clear Cache (Application Server Cache)and start the services

5)If there are no error messages in error_log or error_log_pls
then there might be issues in starting Jserv component of web server (which caters Java requests by mod_jserv)

6)Mobile is enabled in zone.properties disable it if you are not using it.

7)If you don't know port number of your web server you can check it in file $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf with directive Listen & Port

8)Once you are able to access http://hostname.domainname:port and if you are getting any error message that means your web server (Core Apache) is working but there are various components called as modules and there may be issues with those modules which we will check these modules . few modules of our interest are
-mod_jserv
-mod_pls
-mod_oprocmgr
-mod_ossl (If you have ssl enabled on web server)
-mod_osso (If single sign on server is enabled on web server)

9)Once in a while adapcctl.sh start will not work then ultimate you have to go and
invoke apachectl script file in Apache top/apache/bin to start Apache webserver.

10)If we remove _pages from COMMON_TOP it will be created for the next time only when we bounce and up the Apache web server.

11)Jsp pages are complied with the file ojspcompile.pl executable. It is located at $JSP_TOP/bin/ and in R12 it is there in
$FND_TOP/patch/115/bin/

12)Error : Your session is no longer valid while trying to loging to applications.
The issue is resolved by changing the profile option session_cookie_domain
to null from domain.com


13)HTTP-403 forbidden message after entering the username and password in the "Apps Logon Links" page. [Not authorised to view this page]
Check for Apps password in $APACHE_TOP/modplsql/cfg/wdbsvr.app ,Comment out custom_auth entry in $APACHE_TOP/modplsql/cfg/wdbsvr.app and bounce apache.

14)Error message: You have insufficient privileges for the current operation.
Verify and update SESSION_COOKIE_DOMAIN in ICX_parameters if it is wrong.

Example :

update icx_parameters set SESSION_COOKIE_DOMAIN='NEW_VALUE' where SESSION_COOKIE_DOMAIN='OLD_VALUE'

15)AppsLocalLogin?.jsp page error outs….

  • Edit the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties
  • Set wrapper.bin.parameters=-DLONG_RUNNING_JVM=false
  • add the line wrapper.bin.parameters=-DCACHEMODE=LOCAL
  • Restarted Apache for these changes to take effect and retested the issue
16) Login to the applications URL fails with
500 Internal server Error
java.lang.NoClassDefFoundError at
oracle.apps.fnd.sso.AppsLoginRedirect.AppsSetting(AppsLoginRedirect.java:126) at
oracle.apps.fnd.sso.AppsLoginRedirect.init(AppsLoginRedirect.java:170) at com.evermind[Oracle
Containers for J2EE 10g (10.1.3.0.0)
].server.http.HttpApplication.loadServlet(HttpApplication.java:2231) at com.evermind[Oracle
Containers for J2EE 10g (10.1.3.0.0)
].server.http.HttpApplication.findServlet(HttpApplication.java:4617) at com.evermind[Oracle
Containers for J2EE 10g (10.1.3.0.0)
].server.http.HttpApplication.findServlet(HttpApplication.java:4541) at com.evermind[Oracle
Containers for J2EE 10g (10.1.3.0.0)

Performed the below steps, but it did not resolved the issue
1) Bounced Apache server, cleared cache and validated ports
2) Bounced all Middle tier services and killed defunct processes
3) Bounced Unix Server

Solution
=======
Java object Caching Configuration parameter was Enabled in oc4j.properties
$INST_TOP/ora/10.1.3/j2ee/oacore/config
Disabled LONG_RUNNING_JVM=false from True

Bounced Apache server and could login to the applications URL without issues

ISSUES AND SOLUTIONS

ISSUE 1:

Description

When Apache script adapcctl.sh is issued.It shows that Apache is started.On checking the status Apache is stopped

Cause

The error log file in the folder
cd $APACHE_TOP/Apache/logs

Showed

fopen: No such file or directory httpd: could not log pid to file /var/opt/_/Apache/logs/httpd_pls.pid

SOLUTION 1

Created the missing directories /_/Apache/logs under /var/opt folder
Bounced Apache

ISSUE 2:

Description
oacore was not comming up in the configurator node.
opmnctl status

ias-component process-type pid status

OC4J oacore N/A Down
OC4J oacore N/A Down
OC4J oacore N/A Down
OC4J oacore N/A Down

Because of this configurator cannot be invoked.

Cause

Check the oacore error log.

Example:

Below Log file gives root cause. //mtlog/_/logs/ora/10.1.3/opmn/oacore_default_group_2/oacorestd.err

14:11:56 Error initializing server: //inst/apps/_/ora/10.1.3/j2ee/oacore/config/server.xml,
Fatal error at line 70 offset 1 in file://inst/apps/_/ora/10.1.3/j2ee/oacore/config/server.xml: .:
XML-20100: (Fatal Error) Expected 'EOF'.

SOLUTION 2

Edit the /sid/inst/apps/SID_hostname/ora/10.1.3/j2ee/oacore/configserver.xml file and remove the extra line in the file. Restart and check oacore will be starting. This sudden change in server.xml seems to be because of a bug.
Bug - 6702510

ISSUE 3

AppsLocalLogin?.jsp page was displaying errors

Cause

Extract from the Jserv log file =========================== [27/02/2008 16:57:14:447 CST] weboamLocal/oracle.apps.fnd.oam. servlet.ui.OAMServlet:
Sucessfully initialize oaosu.OAMServlet [27/02/2008 16:57:14:447 CST] Servlet Zone rootauohstrzt11 initia lization complete [27/02/2008 16:57:15:101 CST]
Creating noun for: oracle.jsp.JspServlet [27/02/2008 16:57:15:102 CST] Creating noun for: AppsLocalLogin?.jsp
[27/02/2008 16:57:15:120 CST] oracle.jsp.JspServlet: init [27/02/2008 16:57:28:066 CST] Creating noun for: oracle.jsp.JspServlet
[27/02/2008 16:57:28:067 CST] Creating noun for: AppsLocalLogin?.jsp [27/02/2008 16:57:28:078 CST] oracle.jsp.JspServlet: init
[27/02/2008 16:57:29:753 CST] JspServlet?: unable to dispatch to requested page: Exception:java.lang.NoClassDefFoundError

SOLUTION 3:

Edited the $IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties
a) Set wrapper.bin.parameters=-DLONG_RUNNING_JVM=false
b) Add the line wrapper.bin.parameters=-DCACHEMODE=LOCAL
c) Restarted Apache for these changes to take effect and retested the issue

ISSUE 4

New Message when starting Apache using adapcctl.sh start

Cause

It takes 7/10 minutes to clear this cache directory if present
apache Web Server Listener is not running.

Starting Apache Web Server Listener (dedicated HTTP) ...

Removing gantt cache directory

Successfully removed the gantt cache directory:/tcge1i/applmgr/common/html/cabo/images/cache/gantt

Apache Web Server Listener (PLSQL) is not running.

Starting Apache Web Server Listener (dedicated PLSQL) ...

SOLUTION 4

Wait for atleast 7 to 10 minutes and this cache directory will be cleared and Apache will be started successfully

ISSUE 5

Apache server is up and running.
But adapcctl.sh status shows
adapcctl.sh version 115.54
Apache Web Server Listener is not running. Apache Web Server Listener (PLSQL) is not running.

adapcctl.sh: exiting with status 1

Cause

Incorrect Lock file path given in httpd.conf
LockFile? $APACHE_TOP/Apache/log/PUPONI_httpd.lock
and
Incorrect path given in adapcctl.sh script.

SOLUTION 5:

Modified the path of lock file in $APACHE_TOP/Apache/conf/httpd.conf file.
LockFile? /var/opt/SID_/httpd.lock
and
Modified the path of adapcctl.sh file by commenting the wrong path

ISSUE 6

After selecting the E-Business home page got internal server error Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

Cause
Found that all the properties files as below
jserv.properties jserv_restrict.properties zone.properties zone_restrict.properties
were pointing to a dbc file name _.dbc
which was not physically present at the path
/sid/applmgr/11510/fnd/11.5.0/secure/_
$ cd //applmgr/11510/fnd/11.5.0/secure/_
$ ls .dbc

SOLUTION 6:

copied the file
twwyai.dbc
which was physically present at path
//applmgr/11510/fnd/11.5.0/secure/_
to the dbc file name which was being pointed by all the properties files
$ cp .dbc _>sid>.dbc
$ ls
_>sid>.dbc .dbc
This resolved the issue.

ISSUE 7
Instance is very slow / inaccessible with a warning on login page:
Warning

Low-level logging is currently enabled. Your application will not perform as well while Low-level logging is on.

Cause
Logging was enabled through profile values:
FND: Debug Log Enabled -- Yes
FND: Debug Log Level -- Statement
FND: Debug Log Module -- %
SLA: Enable Diagnostics -- Yes
FND Validation Level -- Error

SOLUTION 7
1. Change these values to:
FND: Debug Log Enabled -- No
FND: Debug Log Level -- ( Blank )
FND: Debug Log Module -- ( Blank )
SLA: Enable Diagnostics -- No
FND Validation Level -- None

2. Bounce Apache on all the MTs and clear Apache cache.

ISSUE 8

Login to the applications URL fails with
500 Internal Server Error java.lang.NoClassDefFoundError at oracle.apps.fnd.sso.AppsLoginRedirect.AppsSetting(AppsLoginRedirect?.java:126) at oracle.apps.fnd.sso.AppsLoginRedirect.init(AppsLoginRedirect?.java:170) at com.evermind[Oracle Containers for J2EE? 10g (10.1.3.0.0) ].server.http.HttpApplication.loadServlet(HttpApplication?.java:2231) at com.evermind

Performed the below steps, but it did not resolved the issue
1) Bounced Apache server, cleared cache and validated ports
2) Bounced all Middle tier services and killed defunct processes
3) Bounced Unix Server

Cause
No Cause Entered

SOLUTION 8

Java object Caching Configuration parameter was Enabled in oc4j.properties $INST_TOP/ora/10.1.3/j2ee/oacore/config
Disabled LONG_RUNNING_JVM=false from True

Bounced Apache server and could login to the applications URL without issues

Java Caching is a mechanism used to improve performance by storing data in the Middle Tier JVM memory, instead of retrieving the data from the database every time it is requested.

ISSUE 9

When trying to access the URL (Either Big IP or the node level), it hangs for a long time and getting redirected to a different URL and gives a blank page. For example, When try to access the ipayments URL which is hosted on node2, it hangs for a long time and its getting redirected towards the Sales URL which is hosted on node3, and displays a blank page.

Cause
All the host reference and the URL directives are pointing towards node3 and sales URL respectively, in the below files. Hence every attempt tries to launch the sales URL and get fails as the apache configuration files and parameters are pointing towards the correct one.
jserv.conf forms.properties zone.properties jserv.properties

SOLUTION 9

Stop Apache. Edit the files jserv.conf, forms.properties, zone.properties, jserv.properties, jserv.conf to replace the host reference and the URL directives to the correct one (In our case, its node3 . Clear the cache and restart the Apache.

ISSUE 10

Apache login issues occurs in multi MT environment. Unable to login to oracle applications.

Cause
Issue due to distributed cache.

SOLUTION 10

Set is_distributed to false in javacache.xml Bounce Apache.

ISSUE 11

Apache server is down. Apache logfile did not provide useful information.
Started the Apache server, but the Apache Web listener did not started.
1) Verified no log files (Apache,Jserv) crossed 2GB limit. error_log, access.log, mod_jserv
2) Veified that the port is listening (netstat -an |grep ) Apache port(httpd.conf), pls listener(httpd_pls.conf)
3) Verified that the Apache and Jserv configuration files are not changed recently httpd.conf & Jserv.conf
4) Shutdown all the Middle tier services and check for ipcs (semaphores) did not resolve the outage.
$ ipcs on application middle tier as Application user ap

Cause
No Cause Entered

SOLUTION 11

Rebooted the server and started the services. All services came back normal.

ISSUE 12

Unable to login to the home page URL. Login fails with the error:
Error Page
You have encountered an unexpected error. Please contact the system administrator for assistance.

Click here for exception details

Checks:

Upon clicking the link, can observe the error:
oracle.apps.fnd.framework.OAException: Application: FND, Message Name: SQL_PL SQL_ERROR. Tokens: ROUTINE = createSession(int)(userId=6,sessionMode='null','2D8 FCCC57459B66EE040558CDBC6118E44964630721347149122084914143412?'); REASON = java.s ql.SQLException: ORA-01422: exact fetch returns more than requested number of ro ws ORA-06512: at "APPS.FND_SESSION_MANAGEMENT", line 295 ORA-06512: at "APPS.FND_SESSION_MANAGEMENT", line 455 ORA-06512: at line 1 ; ERRNO = 1422;

Cause
FND_NODES table was updated with the same server_id for all Nodes.

SOLUTION 12

Update the table FND_NODES with correct server_ids for all nodes as in $FND_TOP/secure/sid_host/sid.dbf
Bounced apache on all apache nodes.

and Run select node_name, server_id from fnd_nodes;
to confirm the values.

Below is the example for the solution:

Found three hosts using same server_id:

SQL> select node_name, server_id from fnd_nodes; NODE_NAME SERVER_ID
AUOHSACPS06 2D8FCCC57459B66EE040558CDBC6118E44964630721347149122084914143412
AUOHSACPS03 2D8FCCC57459B66EE040558CDBC6118E44964630721347149122084914143412
AUOHSACPS02 2D8FCCC57459B66EE040558CDBC6118E44964630721347149122084914143412

reset server_id with original server_id from each hosts .dbc file @ $FND_TOP/secure:

SQL> select node_name, server_id from fnd_nodes; NODE_NAME SERVER_ID
AUOHSACPS06 2D8FF21843830F82E040558CDBC6195C27690802237516122831445560236127
AUOHSACPS03 2D90005D5A13C774E040558CDBC61D9436546148971863330582284123371818
AUOHSACPS02 2D8FCCC57459B66EE040558CDBC6118E44964630721347149122084914143412

ISSUE 13

Users getting '404 page not found errors' when tyring to access the URL

(OR)

Getting Exception in thread "main" java.lang.ClassFormatError: Truncated class file

(OR)

adstrtal.sh or adstpall.sh is throwing below error message

You are running adstrtal.sh version 115.16

Exception in thread "main" java.lang.ClassFormatError: oracle/apps/ad/context/AppsContext (Truncated class file) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader?.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader?.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader?.java:251) at java.net.URLClassLoader.access$100(URLClassLoader?.java:55) at java.net.URLClassLoader$1.run(URLClassLoader?.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader?.java:187) at java.lang.ClassLoader.loadClass(ClassLoader?.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader?.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader?.java:302) at oracle.apps.ad.autoconfig.ServiceControl.(ServiceControl?.java:319) at oracle.apps.ad.autoconfig.ServiceControl.main(ServiceControl?.java:662) Check logfile //applmgr/common/admin/log/_/08061104.log for details

Exiting with status 1

(OR)

[06/08/2007 11:03:12:181] (ERROR) an error returned handling request via protocol "ajpv12" [06/08/2007 11:03:12:181] (EMERGENCY) ajp12: can not connect to host 140.85.188.36:20021 [06/08/2007 11:03:13:184] (EMERGENCY) ajp12: can not connect to host 140.85.188.36:20021 [06/08/2007 11:03:15:038] (EMERGENCY) ajp12: auth did not receive challenge size [06/08/2007 11:03:15:038] (EMERGENCY) ajp12: auth fail

Cause

Extract from the JVM log file: //product/iAS/Apache/Jserv/logs/jvm/OACoreGroup.0.stderr
Exception in thread "main" java.lang.ClassFormatError: Truncated class file at org.apache.jserv.JServServletManager.load_init(JServServletManager?.java:765) at org.apache.jserv.JServServletManager.loadServlet(JServServletManager?.java:659) at org.apache.jserv.JServServletManager.loadStartupServlets(JServServletManager?.java:789) at org.apache.jserv.JServServletManager.init(JServServletManager?.java:447) at org.apache.jserv.JServ.start(JServ.java:625)

Verified that there are no log files that exceed 2GB limit (OS limit).
Clearing the Apache and Jserv cache did not resolve the issue. Unmount / mount product specific file system did not resolve

SOLUTION 13:

Try each of these solutions until the problem is resolved, in order to have the least impact on the system.
1. If you can determine the specific class file from the log files, use the 'touch' command.

e.g. touch classfile

If necessary, restart Apache and clear server cache.

2. Shut down all MT services, exit the Apps owner and ask the System Admin to unmount and remount the /sid/applmgr file system (mount point above $JAVA_TOP). Ask the System Admin to kill any processes that may be holding the file system open. Then log in to the Apps owner and restart MT services.

3. Shutdown all the MT services and ask System Admin to reboot the server if the actions above don't resolve the outage.

ISSUE 14:

Got login error - Internal Server Error after bounced all services on . find following message from Jserv log file:

$ tail -8 mod_jserv.log
[07/05/2007 18:41:06:915] (ERROR) ajp12: Servlet Error: java.lang.NoClassDefFoundError: null
[07/05/2007 18:41:06:916] (ERROR) an error returned handling request via protocol "ajpv12"
[07/05/2007 18:41:06:916] (ERROR) balance: 11906 internal servlet error in server auohsnops03.oracleoutsourcing.com:20720
[07/05/2007 18:41:06:916] (ERROR) an error returned handling request via protocol "balance"
[07/05/2007 20:07:52:732] (ERROR) ajp12: Servlet Error: java.lang.NoClassDefFoundError: null
No runaway, no lock on port 20720.

SOLUTION 14:

Shutdown all services on MT. Removed all log file (standard error...) from Jserv/jvm.
Started All services with successful login.

ISSUE 15

Customer reported Not able to login with “Internal Server Error” on .

We could not start some of services during bounced All Services with following error message: adapcctl.sh version 115.47
Cannot complete applications logon. You may have entered an invalid applications password, or there may have been a database connect error.

Apache Web Server Listener is not running (dedicated HTTP) ...
Cannot complete applications logon. You may have entered an invalid applications password, or there may have been a database connect error.
Cannot complete applications logon. You may have entered an invalid applications password, or there may have been a database connect error.

Apache Web Server Listener is already stopped.
Cannot complete applications logon. You may have entered an invalid applications password, or there may have been a database connect error.
adapcctl.sh: exiting with status 2


Unable to login the application URL, facing the error while login:

Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, ap@domain.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

Cause:

SQL> select END_DATE from fnd_user where user_name='GUEST';

END_DATE
---------
05-OCT-10

SOLUTION 15

We found out the apps and applsys were not in sync.
Just manual change the apps password from sqlplus.
Restarted all services and login successfully.

or

Update the FND_USER table with END_DATE=null and bounced apache
SQL> update fnd_user set END_DATE=null where user_name='GUEST';

1 row updated.

SQL> commit;

Commit complete.

SQL> select END_DATE from fnd_user where user_name='GUEST';

END_DATE
-----------

ISSUE 16

Unable to login to oracle applications:
error message: You have insufficient privileges for the current operation.

Checks

Unable to login to oracle applications:
error message: You have insufficient privileges for the current operation.

SOLUTION 16

Verify and update SESSION_COOKIE_DOMAIN in ICX_parameters if it is wrong.

Example :

update icx_parameters set SESSION_COOKIE_DOMAIN='NEW_VALUE' where SESSION_COOKIE_DOMAIN='OLD_VALUE';

ISSUE 17

Apache home page is not coming up even after bounced
Found in jvm log asking for java version

SOLUTION 17

//product/iAS/Apache/Apache/bin/java.sh: /usr/java/jdk1.3.1_15/bin/java: not found

Check the version in /usr/java and update that version in java.sh file and Bounced Apache.

ISSUE 18

Unable to access applications

cause
All applications are up and running.
"Solaris Error: 12: Not enough space" errors are encounterd in database listener logfile.

SOLUTION 18:

Check if the OS is SUN Solaris.
Check if /tmp filesystem is 100% full.
Check Swap space utilization.
Check the application process that is hagging resources. (Check if any sql sessions are hagging resources)
Clear the process in issue after getting required approval.


NOTE:
The above is applicable only for environments on Solaris OS.

ISSUE 19

Not able to login to APPS. JSP Error:
Unable to create an user session or ORA-01403 : no data found has been detected in FND.SIGNON.AUDIT_USER

Checks

Check number of rows in dual table.
Select * from dual;
DUAL table should always contain only one row.
The table named DUAL is a small table in the data dictionary that Oracle and
user-written programs can reference to guarantee a known result.
This table has one column called DUMMY and one row containing the value X.

SOLUTION 19

DUAL table should always contain only one row and one column.
Insert a row with value X into dual table if the dual table contains 0 rows.
If the dual table contains more than one row then delete the rows by keeping one row.

The rows in dual table not equal to zero.

ISSUE 20

Not able to launch forms from PHP

Checks

Login to PHP.

Select system administrator responsibility and click on any menu option.
The page shows "done" without launching forms (jinit)
Check the apps version.
If the apps version is 11.5.10 then check the Check the file version of $FND_TOP/admin/template/appsweb.cfg
If the file version is 115.148, then verify that "!WindowsDPI= " exists in $FORMS60_WEB_CONFIG_FILE
The windowsDPI value should be 96. If the value for WindowsDPI is not set in the
$FORMS60_WEB_CONFIG_FILE then update PROFILE_OPTION_VALUE.

SOLUTION 20

select PROFILE_OPTION_VALUE from fnd_profile_option_values where PROFILE_OPTION_ID=3769;
Update the tar with the output of the above command.

UPDATE fnd_profile_option_values
set PROFILE_OPTION_VALUE='https://.domainname.com/dev60cgi/f60cgi?windowsDPI=96' where PROFILE_OPTION_ID=3769;
This should update only one row.
commit;

ISSUE 21

Signature for "https URL redirecting to http URL"
Issue:
https URL redirecting to http URL and the page cannot be displayed error occurs.

SOLUTION 21

Check the httpd.conf and url_fw.conf, in url_fw.conf the Rewrite rule was
RewriteRule ^/$/OA_HTML/AppsLocalLogin.jsp.
Changed into
RewriteRule https://: /OA_HTML/AppsLocalLogin.jsp.