TROUBLESHOOTING SECTION #
Wiki 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 Wiki 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
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 and ensure the path is correctly specified. The path is relative to the Oracle Application Server.
- 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 and LOAD_DATA_FLDR 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 'Wiki 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 self Service is deployed separately from Wiki. 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
- 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
- Similar to MaxRequestPerChild.
Tuning the JVM: #
For starters the below java options should be used.
- (-Xms# and –Xmx#) initial and maximum heap parameters. To reduce the overhead required by the JVM to manage the heap, we suggest 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 – 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:
GC 66693K->60776K(88216K), 0.0128313 secs
Full GC 60776K->49550K(88216K), 0.2769277 secs
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 there removed. If the server has limited resources this can be an area where resources can be reclaimed.
- (SS_APP_TIMEOUT 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 – to determine the appropriate value for your site will require testing.
Wiki #
The performance of Wiki is heavily dependent of the size of the heap and the garbage collector utilized. Please review the above section -tuning JVM options:
High Lines has introduced a new site preference, 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
Click to create a new notes page