RDA Health Checks for SOA
By Shawnbailey-Oracle on Dec 13, 2012
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 SOAThe 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 the option for 'Oracle SOA 11g (11.1.1) Post Installation (Generic)'
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 ChecksHere is a list of the SOA health checks by ID, Name and 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 12000 ms.
Note: In the current release this rule mistakenly assumes the default value to be 12000 instead of the true default value of 120000
|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|