Showing posts with label FND Diagnostics. Show all posts
Showing posts with label FND Diagnostics. Show all posts

Wednesday, January 7, 2009

Downloading, Installing and running Remote Diagnostic Agent (RDA)

RDA can be downloaded as a bundle with Oracle Configuration manager or as a stand alone package from metalink at note id 314422.1.

- Download the zip/tar files from the note and change the name to 'rda.zip' or 'rda.tar' depending on what format you download.

- Choose or create a directory that is owned by the OS user who is also the owner of the Oracle installation.

- Copy the rda zip/tar file to the above directory and extract its contents there using one of the following commands depending on the format of the RDA download.

tar xvf rda.tar (or)
gunzip rda.tar.gz (or)
tar xvf rda.tar (or)
unzip rda.zip

- Make sure the rda.sh and rda.pl scripts have execute permissions. If they lack it, issue the following command

chmod +x rda.sh
chmod +x rda.pl

- Test if the rda scripts can be executed

for unix/linux - sh rda.sh -cv
for windows - rda.cmd -cv

these commands should not return any issues

- To run RDA, log in as the user who owns the Oracle installation and execute the following script

for Linux/Unix machines

rda.sh - Use this command if Perl is not available.

rda.pl - Use this command if Perl is available.

For windows,

rda.cmd Use this command if Perl is not available.

rda.pl Use this command if Perl is available in the path.


- To check availability of PERL, use the following command.

perl -v

Saturday, August 16, 2008

Troubleshooting Java Exception Stack Traces

1. Collect Exception Details:

NOTE: For OA Framework-based pages use FND Diagnostics and Apache logs. For others use any product-specific log files and Apache logs
Set Profile ‘FND: Diagnostics’ to ON. Reproduce the issue to get the Unexpected Exception page. Click the link in the text: "Click [here] for exception details." Save the whole page and review the Exception that starts with ‘### Detail 0 ###’ only. Set FND Diagnostics Debug logging on (either to-page or to-file) and check the ouput. See Note 290614.1 -How To Get Log Files In iProcurement, for steps. Get the Apache error_log and mod_jserv.log files and check for exceptions.


2. Analyze the Exception Stack Trace e.g: java.lang.NullPointerException
at java.lang.String.(String.java:188)at oracle.apps.icx.por.domain.ReqCustom.validateGLAccount(ReqCustom.java:574) -> this is the oracle code using this
at oracle.apps.icx.por.domain.ReqDistribution.customValidateAccount(ReqDistribution.java:2579) at oracle.apps.icx.por.domain.ReqDistribution.validate(ReqDistribution.java:2653) at oracle.apps.icx.por.domain.ReqLine.validateReqDistribution(ReqLine.java:3948) at oracle.apps.icx.por.domain.Requisition.validateReqDistribution(Requisition.java:571) at oracle.apps.icx.por.apps.CreateReq.validateDistribution(CreateReq.java:144) at oracle.apps.icx.por.apps.CreateReq.requisitionAction(CreateReq.java:130)

Key parts to understand:

NullPointerException is the Java Error name being raised. java.lang.String. is the core (JDK) Java Method which is raising the above error. validateGLAccount is the Oracle Method that is using the above core Java Method. ReqCustom.java:574 is the Oracle Class File Name and Line Number that is making the call to the validateGLAccount method. ReqDistribution.customValidateAccount is the Parent 'class.method' which is calling the above Method, and so forth down the list (child to parent).

3. Check for Similar Issues on Metalink:

Search on the functionality and the Java Error. Search on first and second Oracle Class and Method names. Match any hits to the functionality and the failing Line Numbers. Compare the file versions of any patches to those in the instance. Apply only those patches with later file versions, and on the same eBusiness Suite (eg. 11.5.10) and Procurement Family Pack (eg. FP.J) version. Always check the patch readme.txt for details. Use background functionality, exception details and debug logfile hints information, to check instance setups and transaction data, as needed.

4. Understand the Common Java Exceptions:

NullPointerException - Means a variable referred to in the code is not available (null). E.g. Profile Option may not be set. NoClassDefFoundError / NoSuchMethodError / IllegalAccessError - Java code file is missing, or invalid reference is used. OutOfMemoryException - The JVM cannot allocate more memory for use. Check server resources and AutoConfig and jserv.properties configuration. ClassCastException / NumberFormatException - Incorrect conversion of a data type (e.g. Character to Number) [StringArray]IndexOutOfBoundsException - Data being used exceeds the code structure being used for it. This commonly occurs from unexpected database results size.