RDA Health Checks for SOA
- by ShawnBailey
What is a health check in RDA?
A health check evaluates something in your environment to determine whether a change needs to be considered in order to avoid a problem or optimize fuctionality.
Examples of what this 'something' might be are:
Configuration Parameters
JVM Options
Runtime Statistics
What have we done for SOA?
In the latest release of RDA, 4.30, we have added a Rule Set for SOA called 'Oracle SOA 11g (11.1.1) Post Installation (Generic)'. This Rule Set contains
14 SOA related health checks.
These checks were all derived from common issues / solutions we see in support of the SOA product. Many of the recommendations come from the product documentation
while others are
covered in the SOA Knowledge Base. Our goal is that you will be able to easily identify the areas of concern and understand the guidance available from the
output of the Rule Set.
Running the health checks for SOA
The rules that the checks use are installed with RDA and bundled by product or functional area into what are called 'Rule Sets'. To view the available Rule Sets
simply run the command
from the RDA home location:
rda.cmd (or .sh) -dT hcve
This will bring up a list of the available HCVE (Health Check / Verification Engine) Rule Sets. Each Rule Set contains a group of related rules that
are used for evalutation and display of results. A rule can
be considered synonymous with a single health check and they are assigned an ID, Name and Description that can be seen when they are executed.
The Rule Set for SOA is option number 11 and you just enter this selection at the prompt. The Rule Set
will then execute to completion. After
running an HCVE Rule Set the tool
will write the output to the RDA_HOME/output folder. The simplest way to view the output is to drag the .htm file to a browser but of course it can also
be uploaded to a Service Request
for evaluation by Oracle Support.
Many of the Rule Sets will prompt you for information before they can execute their rules but the SOA Rule Set will identify the
SOA domains configured in your RDA setup.cfg file. This means that you don't need to answer all of the questions again about where stuff is but it also means that you must
have configured RDA for SOA. To run the Rule Set:
Download the latest version of RDA from MOS Doc ID 314422.1
Configure RDA for your SOA domains. Detailed steps can be found here
In it's simplest form the command is 'rda.cmd (.sh) -S SOA'
Go to the RDA home location and enter the command 'rda.cmd (or .sh) -dT hcve'
Select option '11'
It should be noted that this our first release of a SOA Rule Set so there will probably be some things we need to clean up or fix. None of these rules
will actually modify anything on your system as they are read only and do the evaluations internally. Please let us know if you have any issues with the rules
or ideas for new ones so we can make them as useful as possible.
The Checks
Here is a list of the SOA health checks by ID, Name and Description.
ID
Name
Description
A00100
SOA Domain Homes
Lists the SOA domains that were indentified from the RDA setup.cfg file
A00200
Coherence Protocol Conflict
Checks to see if you have both Unicast and Multicast configured in the same domain. Checks both the setDomainEnv and config.xml entries (if it exists).
We recommend Unicast with fully qualified host names or IP addresses.
A00210
Coherence Fully Qualified Host
Checks that the host names are fully qualified or that IP addresses are used. Will fail if unqualified host names are detected.
A00220
Unicast Local Host
Checks that the Coherence localhost is specified for use with Unicast
A00300
JTA Timeout
Checks that the JTA timeout is configured for the domain and lists the value. The bundled rule will only list the current values of the JTA timeout for each SOA Domain.
In the future the rule with fail with a warning if the value is 300 seconds or lower.
It is recommended that timeouts follow the pattern 'syncMaxWaitTime' < EJB Timeouts < JTA Timeout. The 300 second value is important because the EJB Timeouts default
to 300 seconds. Additional information can be found in MOS Doc ID 880313.1.
A00310
XA Max Time
Checks that the JTA Maximum XA call time is set for the domain. Fails if it is not explicitly set or if the value is less than or equal to the default of 12000 ms.
A00320
XA Timeout
Checks that the XA timeout is enabled and that the value is '0' for the SOA Data Source (SOADataSource-jdbc.xml)
A00330
JDBC Statement Timeout
Checks that the Statement Timeout is set for all SOA Data Sources. Fails if the value is not set or if it is set to the default of -1.
A00400
XA Driver
Checks that the SOA Data Source is configured to use an XA driver. Fails if it is not.
A00410
JDBC Capacity Settings
Checks that the minimum and maximum capacity are equal for all SOA Data Sources. Fails if they are not and lists specifically which data sources failed.
A00500
SOA Roles
Checks that the default SOA roles 'SOAAdmin' and 'SOAOperator' are configured for the soa-infra application in the file sytem-jazn-data.xml. Fails if they are not.
A00700
SOA-INFRA Deployment
Checks that the soa-infra application is deployed to either a cluster, all members of a cluster or a stand alone server.
A00710
SOA Deployments
Checks that the SOA related applications are deployed to the same domain members as soa-infra.
A00720
SOA Library Deployments
Checks that the SOA related libraries are deployed to the same domain members as soa-infra.
A00730
Data Source Deployments
Checks that the SOA Data Sources are all targeted to the same domain members as soa-infra