[{TableOfContents }] 
!!!TROUBLESHOOTING SECTION 
[{$applicationname}] Professional and Self-Service utilizes various components of the Oracle Application Server. Therefore, it is important to know where the logs files are stored for each component before proceeding any further. 

!Oracle HTTP Server Logs: 
*AS10G_RL3\Apache\Apache\logs\ 
*AS1G_BI\Apache\Apache\logs \ 

!J2ee Application Logs: 
*AS10G_RL3\j2ee\instance-name\applicaton-deployments\application-name\instance-name_default_group_1\ 
*AS10G_BI\j2ee\OC4J_BI_Forms\application-deployments\discoverer|reports\OC4J_BI_Forms_default_island_1 

!OPMN Logs: 
*AS10G_RL3\opmn\logs\
*AS10G_BI\opmn\logs\
\\  \\ 
----
!!Oracle or Windward Reports – Red Bar 
;Problem:There is an attempt to run a report in [{$applicationname}] and a red bar is automatically encountered, indicating the report has failed.  
;Solution:Review your [IMST] preferences by ensuring all reports preferences are correct. See [Configure IMST Preferences|SOFTWARE_INSTALLATION.CONFIGURING_BI#ConfigureEPersonalityIMSTPreferences]\\   \\Review the OPMN logs for any errors with the MEX ID of the report that failed. If you are unable to determine the cause the problem from the logs, please upload the logs to support for review.
\\  \\ 
----
!!Oracle Instance Fails to Start After Configuration Changes
(For example, RMI port change) 
;Problem:A configuration change such as changing the OC4J instance port prevents it from starting up due to port conflict. 
;Solution:Ensure all the OC4J containers are configured with a static port. From a command prompt, run the below command from the following directory: AS10G_RL3|AS10G_BI/bin\\   \\opmnctl status –fmt %prt%por\\   \\Make a note of the RMI ports assigned to each OC4J container and update the OPMN.XML file by assigning a free port to the OC4J instance that failed to start.\\  \\Reload and start the container. 
\\  \\ 
----
!!Unable to view report after running it. 
;Problem:A report is run and an output link is created to open the report.  When the link is clicked, the report is not opened. 
;Solution:Review your [IMST] preferences [ATTACHMENTS_FLDR|ATTACHMENTS FLDR(System_Preference)] and ensure the path is correctly specified. The path is relative to the Oracle Application Server. 
\\  \\ 
----
!!Unable to write or read from extract or load folder. 
;Problem:When a user runs attempt to utilized the EXTRACT OR LOAD DATA FLDR preferences, an error is encountered, the report indicate an issue with path 
;Solution:Review your [IMST] preferences [EXTRCT_DATA_FLDR|EXTRCT DATA FLDR(System_Preference)] and [LOAD_DATA_FLDR|LOAD DATA FLDR(System_Preference)] ensure the path is correct and the Oracle Application Server process has read/write capabilities to the folder. 
\\  \\ 
----
!!Self Service Tuning Tips: 
Some important questions need to be answered before you begin tuning the Self Service environment. 
#How many users will be connecting to Self Service currently? 
#Does your server meet the minimum requirements for the number of users and more importantly, does it have sufficient resources to scale when the load increases. Please reference the '[{$applicationname}] Operating Environment’ for more information on the minimum requirements. 

!Configuring the Number of Concurrent Self Service Users: 
The assumption is made that 500 users will be accessing Self Service currently and that Self Service is deployed separately from [{$applicationname}]. The below configurations changes are based on this fact.
 
When a Self Service user connects, the first component it communicates with is the HTTP Web server. Therefore, the first component to tune is the HTTP Server. Open the httpd.conf file from the ''ORACLE_HOME\Apache\Apache\conf\'' directory. 

;(MS Windows Only) MaxRequestsPerChild:This is the number of concurrent requests the server will allow. As noted, we are tuning Self Service to support 500 current users. Therefore, we can set this parameter to approximately 520 to facilitate the number of user plus any additional overhead. 

;(UNIX/Linux Only) MaxClients:This is similar to MaxRequestPerChild. 

!Tuning the JVM
For starters, the java options below should be used: 
;(-Xms# and –Xmx#):Initial and maximum heap parameters. To reduce the overhead required by the JVM to manage the heap, it is suggested setting these two parameters to the same value.  
;(-XX:MaxPermSize ):The permanent generation is used to store and load java classes needed by the application. The default value of 64MB is not adequate. Increasing this parameter to 256 will avoid the ''java.lang.OutOfMemoryError: PermGen'' space error message. 
;(-Xrs) MS Windows Only:All OC4J should be configured with this option to avoid random disconnects from the application. On a Windows platform there are occasions when the administrator logs on/off the console and the JVM does not handle it correctly resulting in the termination of the JVM process. 

If you have implemented the above java options and you are still encountering performance issue and if further, you suspect the application server is where the problem lies, the below steps can be used to isolate the problem. 

(-verbose:gc) Enable this startup java option will allow you to analyze the Garbage Collector, for example:\\[SOFTWARE_INSTALLATION.TROUBLESHOOTING_01.JPG]

*From the above example, there is a minor collection and one full collection. 
*The GC 66693K->60776K is the combined size of live objects before and after garbage collection respectively.
*The 88216K is the total available space – in other words to total heap. 
*The 0.0128313 secs is the amount of time it took to perform a minor collection. 

From a tuning perfective you need to focus on the available space after garbage collection and the amount of time it took to perform the collection. During this time span your users may experience pauses in the application. Your goal should be to ensure the heap is adequately sized and to minimize the pause time. 
  
There are a number of tuning options available to assist with performance related issues. Here are a few of those options, for a complete list of all the java options, please refer to the [Java Virtual Machine Garbage Collection Tuning] document. 

__(-XX:+UseParallelGC -XX:ParallelGCThreads=2)__\\The parallel collector is the default collector on server class machines. Increase the parallel GC threads to match the CPU count. The above example implies the server has two CPUs. 

__(-XX:+UseConcMarkSweepGC  -XX:+CMSIncrementalMode)__\\The above options will enable the concurrent collector. The concurrent collector will shorten pause times by sharing processor resources with the garbage collector while the application is running. This option should only be used on server class machine that have more than 2 CPUs. 

!Self-Service Timeout 
The timeout setting for Self-Service will have a negative impact on performance if it is not configured correctly. By default, the web server sessions will remain for 30 minutes before they're removed. If the server has limited resources this can be an area where resources can be reclaimed. 

*([SS_APP_TIMEOUT|SS APP TIMEOUT(System_Preference)] preference) The timeout value can be set to 5 minutes. 

*(ORION-WEB-XML) The timeout value can be set to 6 minutes.

The goal is to ensure the application times-out before the web server timeout. 

*(SS_AJAX_TIMEOUT preference) By default, an Ajax request must be completed within 25 seconds. If the request cannot be completed within the allotted time, then an Ajax request timed out error message will be encountered. The time required to complete an Ajax request will vary during normal and peak usage and will be different for every client.  Testing will be required in order to determine the appropriate value for your site.

!![{$applicationname}] 
The performance of [{$applicationname}] is heavily dependent of the size of the heap and the garbage collector utilized. Please review the above section on [Tuning JVM Options|] 

A new site preference has been introduced, DB_PRCSS_THREADS which will allow specific update functions to run as a multi-threaded process –in other words the functions will be able to take advantage of multiple processors. 

The below list of functions can utilize the DB_PROCSS_THREADS: 
[UPCALC] 
[UPUNDO] 
[UTTP]

----
![Notes|Edit:SOFTWARE_INSTALLATION.TROUBLESHOOTING] 	
[{InsertPage page='Internal.SOFTWARE_INSTALLATION.TROUBLESHOOTING' default='Click to create a new notes page'}]