Tuesday, July 31, 2012

Pasta Setup With Oracle E-Business Suite

Pasta Setup With Oracle E-Business Suite
Pasta Technology provides strength in multilingual support in oracle E-Business suite in particular areas that include printing(Pasta),viewing a report on-line (VPasta) and generating bitmap reports (IX Library).Pasta products make a significant contribution to UTT8 support but it also works for any other character set that oracle support

Objectives:

1.Pasta Architecture
2.How Pasta Works
3.Pasta Configuration Flow
4.Printing Requirement analysis
5.The Preparation phase
6.The Setup Phase
7.Setting Pasta In Debug Mode



Pasta Architecture

when user sends printing request it connects to database and the concurrent manager fetches the request from the queue and pass to Reporting engines where all the oracle E-business suite Components are present. The Reporting Engine sends the reports in the form of Text and it also send the reports in the Form of Bitmap formats(HTML/PS/PCL/PDF) If u what to see the Preview of the Print then the operating system send the report to Report Review Agent , and pass to output in the form of HTML/text to Visual Now pasta works here..when ever reporting engines sends a text report it sends to pasta executable automatically.The Executable will generate the Post scripts files from the reports.Now the user can print the commands using operating system printing command. And for Bitmap reports the Pasta IX library generates the bitmap directly.And Vpasta is the component of pasta where we preview the Visual HTML


Pasta Executable FNDPSTAX

Pasta executable, a.k.a. simply "Pasta", is an executable file for enabling the multilingual printing. Pasta executable works as a printer command of Oracle E-Business Suite and handles text outputs generated by the Concurrent Manager. Any UTF8 customer who possibly has non-English data in the database must use Pasta. English-only customer or a customer who is using other character set than UTF8 can also obtain the benefit from Pasta. This product is provided as a part of AOL product.


Vpasta
VPasta is an alternate choice of the viewer of the Report Review Agent. VPasta is required for an environment that has Bidi language installed. Non-Bidi language user on such an environment might have to use VPasta as well.This product is provided as a part of AOL product.

IX Library


The IX library enables Oracle Reports to generate PostScript with any characters in any character set, including UTF8, by embedding a TrueType (ttf) font in the output.UTF8 customer who has a customized PostScript report must use IX library. PDF output with multi-byte characters is not supported in Oracle E-business Suite 11i. This product is implemented in Oracle Reports and works closely with Oracle Toolkit



How Pasta works

Pasta Requires Two inputs 1) Pasta Text File 2) Pasta TrueType Font Files. We can select the True type Font files In pasta Configuration file(pasta.cfg) Pasta converts an input content from text format to PostScript format to add the multi-lingual support. During the PostScript conversion, Pasta includes all the necessary information in addition to the language handling such as paper size, font size and so on. After converting the input,Pasta sends the content to preprocess command if it is set in the preprocess option in the Pasta configuration file before printing. The content is then sent to the printer command that is specified in the print Command option in the configuration file. ( pasta.cfg)
The Printer Configuration Flow
There are Three Phases to print the page
  1. Yellow Box-Analysis Phase(Printing Requirement analysis)
  2. Orange Boxes(The Preparation phase)
  3. Blue Boxes(The Setup Phase)
Based on the Analysis we need to edit two files as per the printing requirement and command line arguments will be operating system commands or pasta executables.
The Preparation phase
Printer should be setup at the operating system level. and check if the printer is configured as OS level. $ lpstat -a Example: ALDERSHOT_FC accepting requests since Jan 01 00:00
Configuration:
1) The version of pasta can be checked from $FND_TOP/bin FNDPSTAX is the executable program for pasta.
$FNDPSTAX -v Pasta version 3.0.2.1 - unicode/bidi printing utility. Copyright (c) Oracle Corporation 1999-2003. Current version is 3.0.4.0 Apply patch 3274480 to make Pasta to 3.0.4.0
2) Make sure to back up all the setup files related to the patch to save your customization. There are some files in this patch override the existing files
Example:
$FND_TOP/resource/pasta.cfg $FND_TOP/resource/pst_ix10.cfg $FND_TOP/resource/ixlib.cfg $FND_TOP/resource/ixlibs.cfg $FND_TOP/resource/pastas.cfg $FND_TOP/reports/PSTLL.prt $FND_TOP/reports/PSTPL.prt $FND_TOP/reports/PSTWL.prt $FND_TOP/reports/PSTDL.prt $FND_TOP/reports/GRKINVRPT.prt
3) - Special instructions for each file:
Pasta.cfg File

The main configuration file for Pasta is "pasta.cfg". This is the file used to convert a character mode (ASCII Text) report to Postscript format or another character set before being sent to the printer.It also embeds or references the fonts specified in the pasta.cfg file, either true type or printer resident fonts
pst_ix10.cfg:

Edit and to replace with real path for $FND_TOP and $APPLRSC on the middle tier as well as another customization. Set PASTA option to $FND_TOP/resource/pst_ix10.cfg
ixlib.cfg:

The file ixlib.cfg is used for processing concurrent requests in bitmap mode (Postscript, PDF, etc) required only in a UTF8 character set environment, optional on all other. The ixlib.cfg file is an
IXLibrary configuration file. IX Library is a library feature incorporated within Oracle Reports and Oracle Graphics,which support using true type fonts with bitmap mode reports. IX Library is not a
component of Pasta,but Pasta supports IX Library and the concurrent processing server in the successful printing of bitmap reports.

******Set IX_PRINTING option to $FND_TOP/resource/ixlib.cfg******

When the IX_PRINTING environment variable is set, the true type font(s) specified in the ixlib.cfg configuration file will be used in the generation of the bitmapped report.On a UTF8 character set instance, the default font is typically the Albany font or
any Unicode UTF8 compliant font.

When the IX_PRINTING environment variable is unset, the AFM font(s) specified in the PPD will be utilized. These fonts may not be Unicode UTF8 compliant--in which case,certain characters may not translated correctly.
ixlibs.cfg: Set IX_PRINTING option to $FND_TOP/resource/ixlibs.cfg
pastas.cfg: Override pasta.cfg with this file. If you are using pasta.cfg, you can specify pastas.cfg in the arguments in the Pasta printer drivers: "-pn$PROFILES$.PRINTER -f$PROFILES$.FILENAME c$PROFILES$.CONC_COPIES -Fpastas.cfg" Pasta_pdf.cfg is the file used by pasta to print pdf converted to postscript By 3rd party utility.The driver name is PASTA_PDF.
Configuration tip: The default pasta.cfg is designed to work with most of the PostScript printers but if it isn't meet the requirements, you can change the configuration in the either way as follows.
  • Pasta Looks for the File files pasta_.cfg file if it is not present then it checks for default file.
  • If you have only one printer, you can change $FND_TOP/resource/pasta.cfg directly.
  • If you have more than two printers and these two printers require different setups, then do the following:
- cd $FND_TOP/resource - cp pasta.cfg pasta_.cfg where is your printer name on the operating system. the new file name must pasta_hq_5thfloor.cfg if the name of the printer is "hq_5thfloor". -Make required modification in pasta.cfg and pasta_.cfg.By this setup, PASTA will automatically look for pasta_hq_5thfloor.cfg if your choose hq_5thfloor printer for printing a concurrent request.For other printers, PASTA will continue to look for pasta.cfg
  • Other configuration file.
You can change the file that is defined as the default configuration file for Pasta by using the -F command line parameter.For example, suppose you create a PCL print - specific configuration file named pcl.cfg. Set the FNDPSTAX command line option as follows: -Fpcl.cfg Pasta will look for pcl_.cfg first, and if it is not found, Pasta will use pcl.cfg as the default. These files must be placed under the $FND_TOP/resource directory.The -F command line parameter can be set in the Arguments field of the Printer Drivers window
If Pasta already set up and we are going upgrade of pasta by applying patch then Config Actions Done after application of patch.
  • On UTF8 character set environments (UNIX only), ensure the toolkit Tk2Motif.rgb resource files, under the 8.0.6 Oracle Home, are configured for UTF8. For all Tk2Motif.rgb files located at $ORACLE_HOME/guicommon6/tk60/admin and $ORACLE_HOME/guicommon6/tk60/admin/ open the file using any text editor and modify the line that looks like this: !Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2 Change the line to look like this: Tk2Motif*fontMapCs: iso8859-1=UTF8
  • Copy the file named: $ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif.rgb to: $ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb
  • verify or set the XENVIRONMENT environment variable to point to the Tk2Motif_UTF8.rgb resource file within the main environment file (generally specified by $APPLFENV) $ XENVIRONMENT=$ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb) $ export XENVIRONMENT
  • Use the following command to determine the current patch set level of Developer 6i and Forms version:
  • (Developer 6i patch set 10 or higher (Oracle Forms version 6.0.8.19 or greater)
$ rwrun60 \? | head -2 Report Builder: Release 6.0.8.27.0 - Production on Tue Jan 1 22:26:07 2008
$ f60run \? | head -2 Forms 6.0 (Forms Runtime) Version 6.0.8.26.0 (Production)

example :$ echo $APPLFENV SID_.env

Sample Example how to setup a new printer.
1. Add the following entries on "/sid/applmgr/product/806/sid_hostname.env" file,

IX_PRINTING="/sid/applmgr/1159/fnd/11.5.0/resource/ixlib.cfg" ;export IX_PRINTING
IX_RENDERING="/sid/applmgr/1159/fnd/11.5.0/resource/pasta.cfg" ;export IX_RENDERING

2. Add the following lines on pasta.cfg file under the [DEFAULT] section, preferably
within the "Font Name" area, make sure to make a display font path entry as follows

displayfontpath=/sid/applmgr/1159/fnd/11.5.0/resource/ALBANYWT.ttf

3. Make the following changes on "$FND_TOP/resource/pasta.cfg" file

From :

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]

Font.Default.Plain = printer:Courier
Font.Default.Bold = printer:Courier-Bold

To:

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]

Font.Default.Plain=//ADUO.ttf
Font.Default.Bold=//ADUOB.ttf

%% Font.Default.Plain = printer:Courier
%% Font.Default.Bold = printer:Courier-Bold
4. Make the following changes on "$FND_TOP/resource/ixlib.cfg" file

From :

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]

Font.Default.Plain = printer:Courier
Font.Default.Bold = printer:Courier-Bold

To:

%% For Western European (Latin-1) languages
[AMERICAN,CATALAN,GERMAN,DANISH,SPANISH,LATIN AMERICAN SPANISH,FRENCH,CANADIAN
FRENCH,ENGLISH,ITALIAN,ICELANDIC,NORWEGIAN,DUTCH,PORTUGUESE,BRAZILIAN PORTUGUESE,SWEDISH,FINNISH]


Font.Default.Plain=//ALBANYWT.ttf
Font.Default.Bold=//ALBANYWT.ttf

%% Font.Default.Plain = printer:Courier
%% Font.Default.Bold = printer:Courier-Bold
5. As per Note 189708.1, make a printer entry in the file
$ORACLE_HOME/guicommon6/tk60/admin/uiprint.txt as follows:

TargetPrinter:PostScript:2:PrinterDescription:default.ppd:

*** Important ***

Customer have to update the Target printer

*** Important ***

6. Correct for known bug 2850034--a missing portrait prt quote.

In file $FND_TOP/reports/PSTPL.prt change the line
printer Pasta Portrait Letter" to printer "Pasta Portrait Letter"

7. Login into System Administartor --> Install --> Printer --> Print Driver
Query the PASTA_LANDWIDE print driver and lower the font size option (-s#) to 7 points or
smaller.

-pn$PROFILES$.PRINTER -f$PROFILES$.FILENAME -c$PROFILES$.CONC_COPIES -l -s7.

8. Log out and log in ,verify echo $IX_PRINTING and echo $IX_RENDERING

9. Bounce the concurrent manager.

Setup Phase:

I. PRINTER
The Oracle Applications printer name must be the same printer name that works at the Operating System (OS) command line on the server where the concurrent processing server resides. If files in Postscript format will be generated and printed from Oracle Applications, make sure to setup a raw OS print queue so that Postscript files will be passed to the target printer without any filtering or actions by the OS print queue or print command. II.

II PRINTER TYPE
A printer type lists which styles and drivers are available to the assigned printer.
III. PRINT STYLE A print style specifies the layout of the report’s output file. It is also matched with a driver that supports the same layout for printing.
IV. PRINT DRIVER A printer driver provides the needed commands to initialize a printer and to invoke an OS print command or a print program or routine.

Concisely, the steps required to defined a printer for Oracle Applications are as follows:
  • Setup and verify the operation of the printer and print queue at the operating system level--test from the OS command line prompt.
  • Identify, select, or define a new Apps printer drivers that will support the specified printer make or model.
  • Identify, select, or define a new Apps printer type to register all needed printer styles and drivers.
  • Register an Apps printer name and associate an Apps printer type to the newly registered printer name
Printer setup is normally performed by the system administrator ( sysadmin ) responsibility. The sysadmin should have knowledge of navigation through Oracle Applications; as well as, knowledge of the OS configuration of printer you are attempting to define.
Printer Setup for Oracle Applications:
Responsibility: System Administration Navigation and Forms that will be used: printer types - Navigate - Install - Printer - Types FNDPRTYP Printer - Navigate - Install - Printer - Register FNDPRMPR Print Styles - Navigate - Install - Printer - Style FNDPRRPS Printer Driver- Navigate - Install - Printer - Driver FNDPRMPD


Printer Types:

Printer types - Navigate - Install - Printer - Types FNDPRTYP

An example would be if you had a line printer, you may name it "LINE" or "LN03" for the model number of the printer.this name will be associated to the actual printer name when you register the printer to Oracle Applications.



Example of Printer Types:

Printer: Printer - Navigate - Install - Printer - Register FNDPRMPR
You must have defined a printer type before you can register a new printer.The value for printer name will be the operating system printer name. Then choose the printer type that you defined in the previous step.



Styles:
Styles - Navigate - Install - Printer - Style FNDPRRPS Printer
If you are defining new styles specifically for your printer, you would do this here. Please review manual for the specific parameters needed to be defined. Oracle Applications reports are designed to work with standard shipped styles:
  • Portrait
  • Landscape
  • Land wide
  • A4
  • Dynamic Portrait


Drivers:
Driver- Navigate - Install - Printer - Driver FNDPRMPD
Oracle does provide the printer drivers for the above Styles, so unless you are adding your own, it should not be required to define one right now. If you are defining your own, you must specify a unique printer driver name and an unique user name for a given platform.

Lastly, if any new updates or changes have been made to any of the printer definitions,you must bounce the concurrent manager to ensure that all changes do take effect.


Setting Pasta In Debug Mode
Set the PASTA_DEBUG_LEVEL environment variable to 1 in order to capture additional information for a given concurrent request ID.
  • Set PASTA debug in your main Oracle Applications environment file, as pointed to by $APPLFENV.
  • PASTA_DEBUG_LEVEL="1" export PASTA_DEBUG_LEVEL
  • Bounce the concurrent manager and submit a concurrent request with print copies >= 1.
  • Look for $APPLTMP/pasta.in pasta.out and pasta.log
  • The file pasta.in contains the output file from the concurrent manager going into the PASTA utility for post-processing.
  • The file pasta.out contains the output file from the PASTA utility going to the printer via the OS print command for final printing. The pasta.log file contains the default pasta configuration options used to process the PASTA request and any error encountered while producing the PASTA out file. Note: These files are temporary files and they will be overwritten by the next concurrent request.
  • Note 2: If the debug file are not being generated after setting up the PASTA_DEBUG_LEVEL variable in the main environment file as pointed to by $APPLFENV, then define and export the same variable in the concurrent manager startup script (adcmctl.sh) and in the file $FND_TOP/bin/gsmstart.sh.

Monday, July 30, 2012

Standard API to assign and Revoke Role/Responsibilities to a Use

Using a Standard API to assign and Revoke Role/Responsibilities to a User.

col user_name for a15
col responsibility_name for a50
col user_guid for a35
select a.user_name,to_char(a.end_date,'DD-MON-YYYY')"User End",to_char(b.start_date,'DD-MON-YYYY')"Resp St",to_char(b.end_date,'DD-MON-YYYY')"Resp End",c.RESPONSIBILITY_NAME
from apps.fnd_user a,apps.fnd_USER_RESP_GROUPS b,apps.FND_RESPONSIBILITY_TL c
where a.USER_ID=b.USER_ID and b.RESPONSIBILITY_ID=c.RESPONSIBILITY_ID
and b.RESPONSIBILITY_APPLICATION_ID=c.APPLICATION_ID and a.user_name=upper('&fnd_user') order by 5;

set lines 200 pages 999;
col ROLE_NAME for a60;
select USER_NAME,ROLE_NAME,USER_START_DATE,USER_END_DATE,ROLE_START_DATE,ROLE_END_DATE,EFFECTIVE_END_DATE from apps.WF_LOCAL_USER_ROLES
where user_name = upper('&fnd_user');

select USER_NAME,ROLE_NAME,USER_START_DATE,USER_END_DATE,ROLE_START_DATE,ROLE_END_DATE,EFFECTIVE_END_DATE,END_DATE from apps.WF_USER_ROLE_ASSIGNMENTS
where user_name = upper('&fnd_user');

package to delete the responsibility:

SQL> Begin
fnd_user_pkg.delresp(
'&User_Name',
'&Res_Short_Name',
'&Responsibility_Key',
'&Security_Group');
commit;
End;


select * from fnd_security_groups
where security_group_key = 'STANDARD';

go to security user - > define -> enter the username
go to tools -> diagonise and enable the trace
and u can monitor waht is happining to that user when u are running anything backend to disable the user or delete the user.


############

1. Assign role to a user using an API

To assign role to a user using APIs, use the following API wf_local_synch.PropagateUserRole.
Example:
Begin
wf_local_synch.PropagateUserRole(
p_user_name => '&USER_NAME',
p_role_name => '&ROLE_KEY');
commit;
end;

2. Add a responsibility to a user using API fnd_user_resp_groups_api.Insert_Assignment


To add a responsibility to a user using and API, use the following API fnd_user_resp_groups_api.Insert_Assignment:
Example.
begin
fnd_user_resp_groups_api.Insert_Assignment (
user_id =>&USER_ID ,
responsibility_id => &RESP_ID,
responsibility_application_id =>$APPL_ID ,
start_date => &START_DATE,
end_date => &END_DATE,
description =>'Sample
example' );
commit;
end;

This shall raise an error if the responsibility is assigned to a user,
but if needed to update the responsibility assignment in case of responsibility existence,
use the following API:
begin
fnd_user_pkg.addresp(
'&User_Name',
'&Responsablity_Application_Short_Name',
'&Responsibility_Key',
'&Security_Group',
'&Description',
'&Start_Date',
'&End_Date' );
commit;
end;

3. Revoke a responsibility assignment to a user using fnd_user_pkg.delresp

To revoke a responsibility assignment to a user using an API, use fnd_user_pkg.delresp.
Example:
Begin
fnd_user_pkg.delresp(
'&User_Name',
'&Responsibility_application_short_name',
'&Responsibility_Key',
'&Security_Group');
commit;
End;
This simply end date the responsibility assignment to a user by the current system date.

4. Revoke an Indirect Responsibility

To revoke an indirect responsiblity (roles assigned using UMX) assignment to a user using APIs, use the following API Wf_local_synch.PropagateUserRole.
Example:
Begin
Wf_local_synch.PropagateUserRole(
p_user_name => '&USER_NAME',
p_role_name => '&ROLE_KEY',
p_start_date=>'&Start_Date',
p_expiration_date=>'&End_Date');
commit;
End;
End date the parent Role and it shall end date the remaining Roles.

Apache Common Issues and Resolutions



Common Issues

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. ODMRemediation 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



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



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.