OUAF Troubleshooting Concepts
OUAF Troubleshooting Concepts
DISCLAIMER
This document in any form, software or printed matter, contains proprietary information that is the exclusive property of
Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle software
license and service agreement, which has been executed and with which you agree to comply. This document and
information contained herein may not be disclosed, copied, reproduced or distributed to anyone outside Oracle without
prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any
contractual agreement with Oracle or its subsidiaries or affiliates.
This document is for informational purposes only and is intended solely to assist you in planning for the implementation
and upgrade of the product features described. It is not a commitment to deliver any material, code, or functionality, and
should not be relied upon in making purchasing decisions. The development, release, and timing of any features or
functionality described in this document remains at the sole discretion of Oracle.
Due to the nature of the product architecture, it may not be possible to safely include all features described in this document
without risking significant destabilization of the code.
Appendices 13
Scoping Checklist 13
Related Material
The following articles are recommended reading for this topic:
How to Use My Oracle Support Video (603505.1)
My Oracle Support Resource Center (873313.1)
Getting Started with My Oracle Support (1959163.1)
How to Create Service Requests in My Oracle Support (1496117.1)
Collecting Diagnostic Data to Troubleshoot Oracle Utilities Framework Based Functional Issues (2057204.1)
Collecting Diagnostic Data to Troubleshoot Oracle Utilities Framework Based Products (2064324.1)
Details Required when Logging an Oracle Utilities Framework Based Product Service Request (1905747.1)
Collecting Diagnostic Data to Troubleshoot Oracle Utilities Framework Based Products - Batch Issues (2064310.1)
Collecting Diagnostic Data to Troubleshoot Oracle Utilities Framework Based Patch Installation Issues (2064389.1)
Collecting Diagnostic Data to Troubleshoot Oracle Utilities Framework Based Installation Issues (2058433.1)
Oracle Utilities Framework Support Utility (1079640.1)
Configuration And Log Files Checklist For Oracle Utilities Application Framework Based Products (797594.1)
How to Capture Fiddler Logs in Oracle Utilities Application Framework Based Products (1293483.1)
Caveat
Note: For publishing purposes, the word "product" will be used to be denote all Oracle Utilities Application Framework based
products.
Note: Advice in this document is primarily applicable to the latest version of the Oracle Utilities Application Framework at
time of publication. Some of this advice may apply to other versions of the Oracle Utilities Application Framework and may be
applied at site discretion.
Note: In some sections of this document the environment variable $SPLEBASE (or %SPLEBASE%) is used. This denotes the
root location of the product install. Substitute the appropriate value for the environment used at your site.
A performance issue is an issue where the performance of a function or capability has exceeded an
agreed and documented tolerance or service level.
This ensures that a target service level is agreed and that the performance issue is directly associated with that target service
level. This attempts to solidify the idea of performance adversely effecting a business goal rather than a general feeling of
performance issues. The goal is to set an agreed set of service levels that can be tracked against to recognize performance
issues.
An old saying in performance engineering is if you set no targets then you can shoot the arrow anywhere and that becomes
the target. Setting no targets sets the perceptions taking over the reality.
TARGET COMMENTS
Call Center Volume Call centers need to process volumes of calls per period at peak times (hour, day etc)
to justify the service. This can be translated down to volume to support for peak
volume metrics.
Time On Calls While volume gives you an idea of the size of the performance pool, the time a call
center representative spends on an individual call drives the business. The lower the
time the better. This needs to be analyzed to isolate individual transactions or
business processes for tracking.
Batch Throughput To make targets for time, background processes need to start, finish or process a
target amount of records per period.
Batch Window Batch processing includes when the batch needs to be executed in a business day
and/or when key business processes need to complete. For example, printing of
physical bills may need to be available to pass to a third party at a time.
Note: The above list is not exhaustive, it is provided to illustrate the potential areas of concern for setting service
levels.
Agree Service Levels for Each Target. Once the targets metrics are established then a target tolerance value
should be agreed. This needs to be stated and avoid the as fast as possible target that is sometimes perceived. This
value is the value tolerated by the business not necessarily the desired value. It is also recommended to set an
additional target to help proactively identify problems. This is typically known as a warning value. It helps detect
when problems are starting to occur before the service level tolerance is triggered.
Set Those Targets. Using capabilities within the architecture you may be able to express those targets in the
product or the monitoring infrastructure to detect the tolerances and report them. The capabilities of the product to
set these targets will be discussed in the relevant parts of this series.
Define Business Periods. Factor in that targets may change over different business periods. If it is applicable,
define peak periods or times of day that define the period of the service. This allows some flexibility in setting
targets. For example, during peak business times, online targets are far more important than perhaps in non-peak
times. If there is a difference, include definitions of those periods in your consideration for monitoring purposes.
TROUBLESHOOTING PROCESS
Typically, when Oracle Support or performance experts, are called to perform performance analysis on a product site a
problem-solving methodology is used to gather information about the problem, assess the evidence and come up with an
action plan to address the problem. This document and the rest of the documents in this series will outline the process, the
statistics to collect and the problem-solving techniques used to resolve performance problems.
The figure below summarizes the performance troubleshooting methodology typically used for products utilizing Oracle
Utilities Application Framework:
The key is to determine which points to collect for your problem. It can be excessive to collect all the data from all the
collection points for all problems (though this is possible). Being able to focus the data collection on specific areas will
reduce resolution time. The table below is a guide to help you decide which collection areas:
Performance Troubleshooting Areas
Web Application Server Web Application Server and Java issues Global online problems or specific online
transactions
Server CPU, Memory and Disk issues Global problems or specific transactions
Network Network across all tiers Global online problems or specific online
transactions
If this table is not helpful for your problem, then consider collecting data from all relevant areas. The Area column of the
table highlights the document in this series that focuses on the collection points, what data is available to collect and some
basic guidelines on how to collect it.
Note: For Oracle Utilities Application Framework V4 and above, the trace options are also available to be defaulted on the
Batch Control as well as supported by the submission methods. Refer to the Batch Best Practices (Doc Id: 836362.1) available
from My Oracle Support for more information.
To provide debug information online processes, you must add the ?debug=true option to the end of URL to enable
the debug option. This will ensure that the Global debug toggle will be displayed:
Note: If Oracle Utilities Application Framework V4 and above, the use of debug mode is restricted to authorized users only.
Refer to the Server Administration Guide with your product for more details.
Statistics collected. Some statistic or derived value that you can use to assess the performance of the transaction.
This can be a calculated elapsed time, a rate or even a status value.
Deep Analysis
The next step is known as deep analysis. When you first perform analysis, it is usually glancing over the data to see if
anything stands out. In some performance troubleshooting circumstances that is enough to detect the suspects, but if it is
not clear deeper analysis is required.
Deep Analysis involves taking a closer look at all available statistics and performing additional analysis to find correlating
events and flow on from performance problems. The concept of flow on is that a performance problem in one area will be
seen in another area. A common example of flow on is the browser user interface. All online performance problems will be
experienced using the browser user interface, but it may not be caused by the browser front end at all but is a result of a flow
on effect from another component.
In deep analysis the following additional analysis is required:
Data from one performance problem will be correlated by data from several points in the architecture. If this is not
the case, then it should be easier to spot the prime suspect as it will be the only point with the problem data.
In the bottom up approach, the first place where the problem surfaces (progressively looking from the bottom of
the architecture to the top) is the prime suspect. Looking for flow on effects from that point and above in the
architecture can further prove this.
Look at all the statistics and look for any unusual activity that can assist.
… … High Low
… … Low Loe
EFFECT COMMENTS
Low There is little effort on performance but may benefit in operational or administration
aspects of the site.
EFFECT COMMENTS
Low The effort is minimal to implement this change, usually a configuration file change.
Medium Medium The effort to implement this change is not minimal but requires some planning.
High Effort to implement this change includes testing and verification activities.
Note: One of the techniques used by some implementation is to use icons rather than text such as the the traffic light
standard or a Confluence status widget.
If there are references to any product or external documentation, refer to them in the action plans. This may assist
in the implementation of the change.
Typically actions in the plan fall into several categories:
− Configuration Change. This type of change involves changes to the configuration files (technical) or
configuration data (both functional/technical) to influence the change. Changing a tolerance or changing
the size of a connection pool are examples of configuration file changes. This is the most common of the
types of changes that are performed.
− Patches. Patches from any of the components (including product and custom code) may have to be
implemented.
− Reorganization. Unusual data growth can sometimes require reorganization of the data for optimization.
− Business Process changes. Sometimes the answer to the problem is not technical but simply a change to
a business process or business rule. For example, instructing users to avoid wildcards for searches is an
example of a business process change.
Note: Refer to the Related Material in this whitepaper for additional advice on efficiently raising service requests.
When the change is available you will have to repeat step 7, as the change needs to be implemented.
APPENDICES
Scoping Checklist
Checklist Items
CHECK COMMENTS
Is the problem wide spread or isolated? Detail whether it a single function or a single user. Detail if it
is widespread, what functions are adversely affected?
Has the problem just starting to occur or has it been there a What was the first reported incident of the problem? Do you
while? have enough details of the problem to recreate it if it was a
while ago?
Can the problem be recreated? Take a note of the conditions where the problem occurred
and even the data that caused the problem. In some cases,
it has been known that the data used can cause
performance issues.
What major business and technical events have happened List all the events that occurred just prior to the first
on the system before and after the performance problems occurrence of the problem. This includes business as well as
have occurred? any technical events.
What has been done so far to address the performance List all the actions that have been taken to address the
problem? problem up until the current time. Compile the evidence
gathered so far.
What else is running on that system other than the product List what was running at the time of the problem. Include
online and background? the online as well as batch and network.
Copyright © 2020, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without
notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties
and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed
either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without
our prior written permission.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of
SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group. 0120
Troubleshooting Concepts
April, 2020
Author: Anthony Shorten, Senior Principal Product Manager, Enterprise Applications - Technology
Document Identifier: 560382.1