Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite 11g Release 1 (11.1.1.6.0) Part Number E10226-11 |
|
|
PDF · Mobi · ePub |
This chapter describes how to identify Oracle SOA Suite problems early and take the proper corrective actions with the assistance of the WebLogic Diagnostic Framework (WLDF) and the Oracle Fusion Middleware Diagnostic Framework.
This chapter includes the following topics:
For information about troubleshooting, see Appendix B, "Troubleshooting Oracle SOA Suite."
When you monitor and diagnose problems in Oracle SOA Suite, you face the following challenges:
Capturing diagnostic data at the moment of occurrence (also known as just-in-time diagnostics), especially for intermittent issues such as obtaining multiple thread dumps when the system hangs or obtaining heap dumps before a system runs out of memory.
Obtaining advanced information such as data shape (counts by state and growth patterns for the SOA schema and MDS schema).
Communicating back and forth with Oracle Support Services to provide basic information such as versions, logs, configuration files, patches applied, and so on.
Detecting problems and taking corrective actions early before they escalate.
To address these challenges, Oracle SOA Suite is integrated with the following diagnostic frameworks that assist you in identifying problems early and taking the proper corrective actions:
WLDF: For monitoring diagnostic scenarios using watches and notifications.
Diagnostic Framework: For gathering SOA-specific diagnostic scenarios into data dumps that are formatted for viewing and analyzing. These data dumps can be made accessible through the Support Work Bench and uploadable as part of a service request (SR).
WLDF is a monitoring and diagnostics framework included with Oracle WebLogic Server that defines and implements a set of services that run within server processes and participate in the standard server life cycle.
Using WLDF, you can capture diagnostic data from Oracle SOA Suite. You configure WLDF watches and notifications from Oracle WebLogic Server Administration Console to collect diagnostic data to identify problems. This data enables you to isolate and diagnose faults when they occur.
For more information about WLDF, see Oracle Fusion Middleware Configuring and Using the Diagnostics Framework for Oracle WebLogic Server.
Watches monitor server and application states and send notifications based on criteria that you set. Watches and notifications are configured as part of a diagnostic module targeted to one or more server instances in a domain. When you create a watch, you build rule expressions for monitoring using the attributes of Oracle SOA Suite and Oracle WebLogic Server MBeans in Oracle WebLogic Server Administration Console.
For example, assume you want to be notified when the percentage of free heap memory falls below 100%. You create a watch that uses the Oracle WebLogic Server MBean weblogic.management.runtime.JRockitRuntimeMBean
and its attribute HeapFreePercent
. You then define logic indicating that when HeapFreePercent
is less than 100%, you want to receive a notification. You can also use the MBean JVMRuntimeMBean
when running with a non-JRockit virtual machine (VM).
For information about creating watches and notifications in Oracle WebLogic Server Administration Console, see Section 11.2, "Creating Watches and Notifications" and Section "Configuring the Diagnostic Framework" of Oracle Fusion Middleware Administrator's Guide.
The watch rule expressions that you create use the attributes of Oracle SOA Suite and Oracle WebLogic Server MBeans to collect data and perform monitoring. You diagnose scenarios with available MBeans to provide statistics about that scenario or to log messages. Managed beans (MBeans) are Java objects that represent JMX manageable resources in a distributed environment. The attributes of the following MBeans are available for defining in watches to monitor scenarios:
Oracle WebLogic Server MBeans
Diagnostic Oracle SOA Suite MBeans
DMS metrics exposed as MBeans
Oracle SOA Suite provides several diagnostic scenarios that you can monitor with watches and notifications. Table 11-1 provides details about the supported diagnostic scenarios and the MBeans to use for monitoring.
Table 11-1 Supported Diagnostic Scenarios and MBeans
Scenario | Description | Diagnostic Data Source |
---|---|---|
Memory issues (startup, deployment, and runtime) |
Monitor the free heap available. If the free heap percentage is below a threshold, a notification is triggered to generate a thread stack dump and heap dump. |
Oracle WebLogic Server MBean |
Deployment hanging |
Monitor the elapsed time of a deployment. If it exceeds a threshold, a notification is triggered. |
Oracle SOA Suite deployment MBean |
Data source issues |
Monitor the suspension and connection pool/transaction time outs |
JDBC MBeans |
Server overload |
Monitor the server's self-health. |
Oracle WebLogic Server MBean |
Stuck threads |
Monitor stuck threads. If any are found, a notification is triggered. |
A stuck thread watch/Diagnostic Framework notification is automatically included. Diagnostic Framework incident packages can be created with a tool such as the ADR Command Interpreter (ADRCI). Incidents are created automatically. |
Table 11-2 lists some of the available MBeans and DMS Metrics to select when creating watches for monitoring and collecting diagnostic data.
Table 11-2 MBeans and DMS Metrics
Diagnostic Data Source (MBean) and Usage | Description | Oracle WebLogic Server MBean | SOA MBean or DMS Metric |
---|---|---|---|
|
For memory statistics |
Yes |
- - |
|
For deployment elapsed time |
- - |
SOA MBean |
|
For health state information |
Yes |
- - |
|
For JDBC data sources and for accessing transaction runtime characteristics |
Yes |
- - |
For more information about Oracle WebLogic Server MBeans, see Oracle Fusion Middleware Oracle WebLogic Server MBean Reference.
The Diagnostic Framework is an Oracle Fusion Middleware feature that aids in detecting, diagnosing, and resolving problems. The problems that are targeted are critical errors such as those caused by code bugs, metadata corruption, customer data corruption, deadlocked threads, and inconsistent state. The Diagnostic Framework detects critical failures and captures dumps of relevant diagnostics information (logs, metrics, server images, and so on). WLDF watches and notifications trigger events for which the Diagnostic Framework listens and generates appropriate data dumps. The dumps are formatted into incident packages for viewing and analysis.
The problems captured as incidents include critical errors such as those described in Table 11-1. Each incident package is identified by a unique ID. When a critical error occurs, it is assigned this unique ID known as an incident number. Diagnostic data for the error (such as log files) is immediately captured and tagged with this number.
The data is then stored in the Automatic Diagnostic Repository (ADR). ADR is a file-system repository for cataloging occurrences of failures and storage of associated diagnostic data. The data is retrieved by incident package number, formatted, viewed with Oracle database tools such as ADRCI, and analyzed.
ADRCI enables you to view the names of the dump files and the alert log with XML tags stripped. This viewing enables you to investigate problems, and package and upload first-failure diagnostic data to Oracle Support Services.
You can also use the Diagnostic Framework WLST commands to perform the following tasks:
Query problems
View incident dump files
Create manual incidents
Manually execute dumps
The Diagnostic Framework is supported on all JRF-supported platforms.
The Diagnostic Framework automatically includes several dumps. For information about these dumps, see Section "Investigating, Reporting, and Solving a Problem" of Oracle Fusion Middleware Administrator's Guide.
In addition to these dumps, several Oracle SOA Suite dumps are also supported. For information about Oracle SOA Suite dumps, see Section 11.1.4, "Supported Oracle SOA Suite Diagnostic Dumps."
For more information about solving problems, incidents, and WLDF and Diagnostic Framework integration, see Chapter "Diagnosing Problems" of Oracle Fusion Middleware Administrator's Guide.
For more information about ADR, see Section 11.4, "Viewing Incident Packages with ADR Tools."
If you have a recurring problem in Oracle SOA Suite, this can cause for the creation of multiple incident packages. To prevent the server from being overloaded when many failures are occurring, the Diagnostic Framework automatically flood controls some incidents. To avoid this problem, you can configure the Diagnostic Framework to control the number of incident packages. For more information, see Section "Configuring the Diagnostic Framework" of Oracle Fusion Middleware Administrator's Guide.
When you create a watch in the Oracle WebLogic Server Administrator's Console, you also define a notification. A notification named FMWDFW notification is automatically available for selection. While you can create your own notifications, Oracle recommends that you select FMWDFW notification because it creates the Oracle SOA Suite dumps described in Section 11.1.4, "Supported Oracle SOA Suite Diagnostic Dumps."
When an error is detected, the FMWDFW notification handler creates an incident and the Diagnostic Framework takes over incident processing semantics. These semantics are controlled by incident processing rules. The incident processing rules are defined in an XML file and loaded and registered with the Diagnostic Framework during SOA Infrastructure startup.
If you encounter scenarios different from those listed in Table 11-1, you must work with Oracle Support Services to obtain a copy of customized incident processing rules and follow the directions related to registration and server restart.
Oracle Support Services can place a customized rules file (named custom-rules.xml
) under the SOA Server instance home directory (for example, FMW_HOME
/user_projects/
domains/
domain_name
/servers/
server_name
). Example 11-1 shows a sample custom rules file in which when an ERROR
level message is detected in the *-diagnostic.log
from the oracle.soa.bpel.engine.ws
module, the soa.composite.trail
dump is executed.
Example 11-1 Sample Custom Rules File
<?xml version="1.0" encoding="UTF-8"?>
<diagnosticRules xmlns="http://www.oracle.com/DFW/DiagnosticsFrameworkRules"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<logDetectionConditions>
<condition module="oracle.soa.bpel.engine.ws"/>
</logDetectionConditions>
<defaultActions>
<dumpAction name="soa.composite.trail">
<argument name="ecid" value="ECID" valueType="Fact" mandatory="true"/>
</dumpAction>
</defaultActions>
</diagnosticRules>
In addition to the diagnostic dumps available with Oracle WebLogic Server, Oracle SOA Suite supports the creation of the diagnostic dumps shown in Table 11-3.
Table 11-3 Supported Oracle SOA Suite Diagnostic Dumps
Dump | Description |
---|---|
|
Runtime environment dumps |
|
Runtime platform configuration dumps |
|
Database dumps |
|
Deployed composite metadata dumps |
|
Instance audit trail dumps |
|
Event dumps |
|
Deployed composite WSDL/schema cache dumps |
The Diagnostic Framework outputs and records the diagnostic dumps. You can list details about all the supported diagnostic dumps with the WLST listDumps
and describeDump
commands.
Note:
You must startWLST
from MW_HOME
/oracle_common/common/bin
. Otherwise, the ODF functions are missing.To list the supported dumps:
Connect to the server on which the SOA Infrastructure is installed.
wls:/offline> connect('user_name', 'password', 't3://myhost:8001') Connecting to t3://myhost:8001 with userid user_name ... Successfully connected to managed Server 'soa_server1' that belongs to domain 'soainfra'.
List the supported Diagnostic Framework dumps.
wls:/soainfra/serverConfig> listDumps() odl.activeLogConfig jvm.classhistogram dms.ecidctx wls.image odl.logs dms.metrics odl.quicktrace http.requests jvm.threads Use the command describeDump(name=<dumpName>) for help on a specific dump.
List the supported Oracle SOA Suite dumps.
wls:/soainfra/serverConfig> listDumps(appName='soa-infra') adf.ADFConfigDiagnosticDump soa.composite soa.composite.trail soa.config soa.db soa.edn soa.env soa.wsdl Use the command describeDump(name=<dumpName>) for help on a specific dump.
The supported Oracle SOA Suite dumps are described in the following subsections.
For more information about listDumps
and describeDump
, see Chapter "Diagnostic Framework Custom WLST Commands" of Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.
For more information about Diagnostic Framework dumps, see Chapter "Diagnosing Problems" of Oracle Fusion Middleware Administrator's Guide.
Table 11-4 provides details about supported runtime environment diagnostic dumps.
Table 11-4 Runtime Environment Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
|
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.env
.
wls:/soainfra/serverConfig> describeDump(name='soa.env',appName='soa-infra') Name: soa.env Description: SOA Dump for runtime environment info: SOA runtime version, label, topology. ... Mandatory Arguments: Optional Arguments: wls:/soainfra/serverConfig> executeDump(name='soa.env',appName='soa-infra') Begin dumping EMInstanceProperties key=soaClusterName value=NULL key=label value=PCBPEL_11.1.1.6.0_GENERIC_111018.1315.1477 key=CompositeLabel value=NULL key=version value=11.1.1.6.0 key-HttpUrl value=http://myhost.us.oracle.com:8001 End dumping EMInstanceProperties Cluster Info: ----------------------------------------------- cluster name:null cluster is leader:true cluster is standalone:true
Table 11-5 provides details about supported runtime platform configuration diagnostic dumps.
Table 11-5 Runtime Platform Configuration Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
Service engine configurations: The following configurations are persisted in MDS (
|
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.config
:
wls:/soainfra/serverConfig> describeDump(name='soa.config',appName='soa-infra') Name: soa.config Description: Description: SOA dump that captures SOA runtime configuration info, such as deployed-composites.xml, service engine configurations, etc. Mandatory Arguments: Optional Arguments: Name Type Description zip BOOLEAN Boolean flag (default to 'true') indicating if the dump files need to be compressed into one single zip file, true - dump into a single zip, false, otherwise. output STRING Path to output destination, a directory where the dump content will be written to, default to DFW dump path if not specified ... wls:/soainfra/serverConfig> executeDump(name='soa.config',appName='soa-infra') Start dumping artifacts from MDS URI:deployed-composites/deployed-composites.xml to /tmp/soa_ dumps139780820495.tmp/soa_config734535543.d Finished dumping specified MDS metadata to /tmp/soa_dumps139780820495.tmp/soa_ config734535543.d Start dumping artifacts from MDS URI:soa/configuration/default/ to /tmp/soa_ dumps139780820495.tmp/soa_config734535543.d/se-configurations Finished dumping specified MDS metadata to: /tmp/soa_dumps139780820495.tmp/soa_ config734535543.d/se-configurations MDS artifacts dumped, next, compressing all dump files into: /tmp/oracle-dfw--1770056289547048694.tmp/soa_config364634563344231671.zip
The executeDump
command dumps deployed-composites.xml
from the MDS repository and service engine configurations for all installed service engines into a single, compressed ZIP file (soa_config364634563344231671.zip
).
Enter the following WSLT command line syntax to execute a dump of soa.config
with the zip
parameter set to false
. This setting writes the dump text file and artifacts to the dump path location without compressing them into one ZIP file.
wls:/soainfra/serverConfig> executeDump(name='soa.config',appName='soa-infra',
args={'zip':'false'})Start dumping artifacts from MDS
URI:deployed-composites/deployed-composites.xml to:
/tmp/oracle-dfw-7178460573556479044.tmp/soa_config199325881615155981.d
Finished dumping specified MDS metadata to:
/tmp/oracle-dfw-7178460573556479044.tmp/soa_config199325881615155981.d
Start dumping artifacts from MDS URI:soa/configuration/default/ to:
/tmp/oracle-dfw-7178460573556479044.tmp/soa_
config199325881615155981.d/se-configurations
Finished dumping specified MDS metadata to:
/tmp/oracle-dfw-7178460573556479044.tmp/soa_
config199325881615155981.d/se-configurations
Examine the contents under the default dump path:
[jdoe@myhost /tmp]$ ls -alR oracle-dfw-7178460573556479044.tmp oracle-dfw-7178460573556479044.tmp: total 52 drwxr----- 3 jdoe dba 4096 Oct 24 15:43 . drwxrwxrwt 104 root root 36864 Oct 24 15:37 .. drwxr----- 4 jdoe dba 4096 Oct 24 15:43 soa_config199325881615155981.d -rw-r----- 1 jdoe dba 561 Oct 24 15:43 soa_config199325881615155981.txt oracle-dfw-7178460573556479044.tmp/soa_config199325881615155981.d: total 16 drwxr----- 4 jdoe dba 4096 Oct 24 15:43 . drwxr----- 3 jdoe dba 4096 Oct 24 15:43 .. drwxr----- 2 jdoe dba 4096 Oct 24 15:43 deployed-composites drwxr----- 2 jdoe dba 4096 Oct 24 15:43 se-configurations oracle-dfw-7178460573556479044.tmp/soa_ config199325881615155981.d/deployed-composites: total 12 drwxr----- 2 jdoe dba 4096 Oct 24 15:43 . drwxr----- 4 jdoe dba 4096 Oct 24 15:43 .. -rw-r----- 1 jdoe dba 1437 Oct 24 15:43 deployed-composites.xml oracle-dfw-7178460573556479044.tmp/soa_ config199325881615155981.d/se-configurations: total 56 drwxr----- 2 jdoe dba 4096 Oct 24 15:43 . drwxr----- 4 jdoe dba 4096 Oct 24 15:43 .. -rw-r----- 1 jdoe dba 267 Oct 24 15:43 adapter-config.xml -rw-r----- 1 jdoe dba 425 Oct 24 15:43 b2b-config.xml -rw-r----- 1 jdoe dba 2040 Oct 24 15:43 bpel-config.xml -rw-r----- 1 jdoe dba 1525 Oct 24 15:43 bpmn-config.xml -rw-r----- 1 jdoe dba 895 Oct 24 15:43 businessrules-config.xml -rw-r----- 1 jdoe dba 119 Oct 24 15:43 cep-config.xml -rw-r----- 1 jdoe dba 215 Oct 24 15:43 edn-config.xml -rw-r----- 1 jdoe dba 836 Oct 24 15:43 mediator-config.xml -rw-r----- 1 jdoe dba 1148 Oct 24 15:43 soa-infra-config.xml -rw-r----- 1 jdoe dba 2693 Oct 24 15:43 workflow-config.xml -rw-r----- 1 jdoe dba 2146 Oct 24 15:43 workflow-identity-config.xml -rw-r----- 1 jdoe dba 605 Oct 24 15:43 workflow-notification
Table 11-6 provides details about supported database diagnostic dumps. The types of database information captured include data shape information such as counts by state and growth patterns for Oracle SOA Suite schemas and the MDS schema.
Table 11-6 Database Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
BPEL database table growth data using JDBC-based access to execute the query and dump the result: SELECT dt.table_name table_name,ds.bytes/1024/1024 segment_size_mb, ds.extents extents_used, dt.num_rows total_rows, to_char(dt.last_analyzed,'YYYY-MM-DD HH24:MI:SS') last_analyzed_date FROM dba_segments ds, dba_tables dt WHERE dt.owner = ds.owner and dt.owner = 'schema_user_name' and dt.tablespace_name = ds.tablespace_name and dt.table_name = ds.SEGMENT_NAME and ds.segment_type = 'TABLE' and dt.table_name in ('CUBE_INSTANCE', 'MEDIATOR_CASE_INSTANCE','COMPOSITE_ INSTANCE', 'AUDIT_TRAIL', 'WORK_ITEM', 'DLV_MESSAGE', 'XML_DOCUMENT','DOCUMENT_CI_REF') |
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.db
:
wls:/soainfra/serverConfig> describeDump(name='soa.db',appName='soa-infra') Name: soa.db Description: SOA Dump for SOA runtime DB usage info. Mandatory Arguments: Optional Arguments: wls:/soainfra/serverConfig> executeDump(name='soa.db',appName='soa-infra') EXECUTE QUERY SELECT dt.table_name table_name,ds.bytes/1024/1024 segment_size_mb, ds.extents extents_used, dt.num_rows total_rows, to_char(dt.last_analyzed, 'YYYY-MM-DD HH24:MI:SS') last_analyzed_date FROM dba_segments ds, dba_tables dt WHERE dt.owner = ds.owner and dt.owner ='schema_user_name' and dt.tablespace_name = ds.tablespace_name and dt.table_name = ds.SEGMENT_NAME and ds.segment_type = 'TABLE' and dt.table_name in ('CUBE_INSTANCE', 'MEDIATOR_CASE_INSTANCE','COMPOSITE_INSTANCE', 'AUDIT_TRAIL', 'WORK_ITEM', 'DLV_MESSAGE','XML_DOCUMENT','DOCUMENT_CI_REF') COMMENT: BPEL DB GROWTH DATA. TABLE_NAME SEGMENT_SIZE_MB EXTENTS_USED TOTAL_ROWS LAST_ANALYZED_DATE ------------------------------------------------------------------------- ResultSet Metadata:weblogic.jdbc.wrapper.ResultSetMetadata_oracle_jdbc_driver_ OracleResultSetMetadata@76a4b0 RECORD #1: TABLE_NAME: COMPOSITE_INSTANCE SEGMENT_SIZE_MB:0 EXTENTS_USED:1 TOTAL_ROWS:9 LAST_ANALYZED_DATE:2011-09-30 22:02:25 RECORD #2: TABLE_NAME:DOCUMENT_CI_REF SEGMENT_SIZE_MB:0 EXTENTS_USED:1 TOTAL_ROWS:0 LAST_ANALYZED_DATE:2011-09-30 22:02:34 RECORD #3: TABLE_NAME:WORK_ITEM SEGMENT_SIZE_MB:0 EXTENTS_USED:1 TOTAL_ROWS:0 LAST_ANALYZED_DATE:2011-09-30 22:02:36 RECORD #4: TABLE_NAME:AUDIT_TRAIL SEGMENT_SIZE_MB:0 EXTENTS_USED:1 TOTAL_ROWS:8 LAST_ANALYZED_DATE:2011-09-30 22:02:39
This dump shows the query string and records from the result set.
Table 11-7 provides details about supported deployed composite metadata diagnostic dumps. The types of information captured include the current composite processed when an incident occurs, MDS artifact references (for example, namespace exports), and abnormal transactions.
Table 11-7 Deployed Composite Metadata Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
Per composite metadata from MDS:
|
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.composite
:
wls:/soainfra/serverConfig> describeDump(name='soa.composite' ,appName='soa-infra') Name: soa.composite Description: SOA Dump that captures artifacts from MDS, and listing of entries in each composite's scratch area, dump MDS artifacts for composites that matches specified composite name, specified partition, specified revision, also support wild card '*' as composite name/partition/revision, meaning dump MDS artifacts for composites with any composite name/partition/revision. Mandatory Arguments: Optional Arguments: Name Type Description zip BOOLEAN Boolean flag (default to 'true') indicating if the dump files need to be compressed into one single zip file, true - dump into a single zip file, false, otherwise. revision STRING composite revision, e.g. '1.0', '2.0', or wild card '*'- will match any revision. partition STRING partition of the composite, default is 'default', support wild card '*' as partition name, meaning any partition. compositeName STRING composite name, e.g., 'OrderProcessing', or wild card '*' - dump MDS recorded artifacts for all the deployed composites in the specified partition. output STRING Path to output destination, a directory where the dump content will be written to, default to DFW dump path if not specified. wls:/soainfra/serverConfig> executeDump(name='soa.composite', appName='soa-infra'),arg=('compositeName':'WSInMedPubBpelSubFileOut', 'revision':'1.0,'partition':'partition_1','output'':'/home/myhome//COMPOSITE_DUMP_ DIR_3'}) Start dumping composite [name=WSInMedPubBpelSubFileOut, partition=partition_1, revision= 1.0 ] MDS metadata to :/tmp/soa_dumps1019331262763443905.tmp/ soa_composite4533356433976235311.d/partition_1/WSInMedPubBpelSubFileOut_ rev1.0 Finished dumping composite MDS metadata to :/tmp/soa_dumps 1019331262763443905.tmp/soa_composite4533356433976235311.d/partition_ 1/WSInMedPubBpelSubFileOut_rev1.0
In this example, no zip
parameter is specified. Because the default value is true
, a single dump output file is created at the dump location /home/myhome//COMPOSITE_DUMP_DIR_3
.
Table 11-8 provides details about supported instance audit trail diagnostic dumps. The type of information captured includes the deployed composite instance audit trail for a given ECID.
Table 11-8 Instance Audit Trail Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
|
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.composite.trail
:
wls:/soainfra/serverConfig> describeDump(name='soa.composite.trail' ,appName='soa-infra') Name: soa.composite.trail Description: Composite instance audit trail dump for a given ECID Mandatory Arguments: Name Type Description ecid STRING ECID from an incident Optional Arguments: wls:/soainfra/serverConfig> executeDump(name='soa.composite.trail', appName='soa-infra'),arg=('ecid':'cf1cec292805f383.236c6d88:132bc9b7486:-8000=0 000000000121b'}) BEGIN----------------AUDIT TRAIL::: ECID:cf1cec292805f383.236c6d88:132bc9b7486 :-8000=0000000000121b++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ <audit_trail ecid="cf1cec292805f383.236c6d88:132bc9b7486:-8000=0000000000121b"> <entry instanceId="service:10001" date="20-11-09-39T16:21:46" timestamp="1317424906775" state="2" actionType="operation" actionName="execute" subType="binding.ws" type="service"><entityName>MyInputService</entityName> <compositeInstanceId>10001</compositeInstanceId><compositeName>WSInMedPubBpelSu bFileOut</compositeName><compositeDN>default/WSInMedPubBpelSubFileOut!1.0 </compositeDN><applicationName>default</applicationName></entry><entry instanceId="mediator:F7BF03D8EBBA11E0BFEEFB426F4C514D"parentInstanceId= "service:10001" date="2011-0930T16:21:48"timestamp="131742908689" state="2" <type="component"subType="mediator">entityName>MediatorPub </entityName><compositeInstanceId>10001</compositeInstanceId><compositeName> WSInMedPubBpelSubFileOut</compositeName><compositeDN>default/ WSInMedPubBpelSubFileOut!1.0</compositeDN><applicationName>default </applicationName></entry></audit trail> END--------------AUDIT TRAIL::: ECID:cf1cec292805f383.236c6d88:132bc9b7486:-8000=0000000000121b BEGIN------------------FACADE(EDN) +++++++++++++ oracle.soa.management.internal.facade.edn.EDNImpl@14b5caec END------------------FACADE(EDN) +++++++++++++ BEGIN------------------FACADE(Composite Instances) +++++++++++++ DN: default/WSInMedPubBpelSubFileOut!1.0 > Instance: 10001 creation-date: Fri Sep 30 16:21:46 PDT 2011 state {-1}: STATE_UNKNOWN -> componentinstance: MediatorPub type: mediator state: STATE_COMPLETED_ SUCCESSFULLY DN: partition_3/WSInMedPubBpelSubFileOut!1.0 > Instance: 8 creation-date: Thu Sep 29 15:04:13 PDT 2011 state (-1): STATE_UNKNOWN -> componentinstance: BpelSub type: bpel state: STATE_SUSPENDED
For information about obtaining the ECID, see Section 13.1, "Monitoring the Audit Trail and Process Flow of a BPEL Process Service Component."
Table 11-9 provides details about supported event diagnostic dumps. The types of information captured include Oracle Streams Advanced Queuing (SAQ) logging records and event metadata among currently deployed applications.
Table 11-9 Event Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
All information is written to the dump text file. |
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.edn
:
wls:/soainfra/serverConfig> describeDump(name='soa.edn',appName='soa-infra') Name: soa.edn Description: SOA Dump for EDN BusinessEventBus status info, and EDN DB Log records. Mandatory Arguments: Optional Arguments: Name Type Description dumpEDNDBLOG BOOLEAN SOA Dump for EDN BusinessEventBus status info, and EDN DB Log records. wls:/soainfra/serverConfig> executeDump(name='soa.edn',appName='soa-infra') Type:oracle.integration.platform.blocks.event.saq.SAQBusinessEventBus Configuration:null Status: running=true started=true ThreadCount:3 RetryCount:3 In Global: Tx:false Cluster Info:oracle.integration.platform.blocks.cluster.CoherenceCluster Interface1mpt@163bd717 SharedEDN:false OOAO Queue Name:edn_ooao_queue Java Subscriber Name:edn java subscriber Subscription Info: No namespace subscription... QName subscriptions: ============================================================= qname={http://schemas.oracle.com/events/edl/ActionOccur}ADEvent subscriptions= id=default/WSInMedPubBpelSubFileOut!1.0*soa_7a055d6a-8402-49c2-ac56-5f85cbf3d7f/ BpelSub, consistencyLevel=ONE_AND_ONLY_ONE, filter=XPath Filter: starts-with(/ be:business-event/be:content/ns0:ActionOccurrence/ns0:ParentEntityType/@value, 'A'), runAsRoles=[$publisher] id=partition_1/WSInMedPubBpelSubFileOut!1.0*soa_80a169ab1-395a-4b87-9986-9fa2742a8bd3/ BpelSub, consistencyLevel=ONE_AND_ONLY_ONE, filter=XPath Filter: starts-with(/ be:business-event/be:content/ns0:ActionOccurrence/ns0:ParentEntityType/@value, 'A'), runAsRoles=[$publisher] EventThreadContextInfo: EventTargets: Event:partition_1/WSInMedPubBpelSubFileOut!1.0*soa0a169ab1-395a-4b87-9986-9fa2742a9bd3/ BpelSub:::oracle.fabric.BPELServiceEngine@163bd6b5 Event:default/WSInMedPubBpelSubFileOut!1.0*soa7a055d6a-8402-49c2-ac56-5f85cbf3 d7f/BpelSub:::oracle.fabric.BPELServiceEngine@163bd6b5 EDN DB Log enabled:false
The executeDump
command dumps the event bus status variables (1mpt@163bd717
) and event publish and subscription information. No log messaging information is dumped because the edn-db-log
is set to false
. You can enable the edn-db-log
at the following URL:
http://host_name:port/soa-infra/events/edn-db-log
Notes:
You must have the administrator privilege to enable/disable the edn-db-log
.
Always disable the edn-db-log
after a debugging session to disable logging. This prevents excessive database growth in the EDN database log table. If the edn-db-log
remains enabled, then debugging messages related to events that are published/enqueued into the database and subscribed to/dequeued from the database continue to be persisted into certain EDN database log tables. This causes the table to grow indefinitely.
Table 11-10 provides details about supported deployed composite WSDL/schema cache diagnostic dumps.
Table 11-10 Deployed Composite WSDL/Schema Cache Diagnostic Dumps
Dump Name | Dump Parameters/Dump Mode | Information Captured |
---|---|---|
|
|
|
Enter the following WSLT command line syntax to display a dump description and execute a dump of soa.wsdl
:
wls:/soainfra/serverConfig> describeDump(name='soa.wsdl',appName='soa-infra') Name: soa.wsdl Description: SOA Dump that captures service definition info caches for composite(s) that matches specified composite name, specified partition, specified revision, also support wild card '*' as composite name/partition/revision, meaning dump service definitions WSDL/XSD caches for composites with any composite name/partition/revision. Mandatory Arguments: Optional Arguments: Name Type Description revision STRING composite name, e.g. '1.0', '2.0', or wild card '*' - will match any revision. partition STRING partition of the composite, default is 'default', support wild card '*' as partition name, meaning any partition. compositeName STRING composite name, e.g., 'OrderProcessing', or wild card '*' - dump cache for all the deployed composites in the specified partition. wls:/soainfra/serverConfig> executeDump(name='soa.wsdl',appName='soa-infra' ,arg=('compositeName':'WSInMedPubBpelSubFileOut', 'revision':'1.0','partition':'partition_1'})compositeDN:partition_ 1/WSInMedPubBpelSubFileOut!1.0*soa_8a169ab1-2060-4b87-9986-9fa2742a8bd3 ---------------------------------------------------------------------- is default in series:true composite application name:partition_1 composite name:WSInMedPubBpelSubFileOut composite state:on composite mode:active WSDLManager Instance:oracle.fabric.common.wsdl.WSDLManager@164ec201 Cached wsdl Definitions for the specified composite: including any shared wsdls if there are any: key=http://xmlns.oracle.com/bpel/workflow/taskService value=QName:{http://xmlns.oracle.com/bpel/workflow/taskService} TaskServicetarget name space:http://xmlns.oracle.com/bpel/workflow/taskService key=urn:MyTestWsdl value=QName:{urn:MyTestWsdl}target name space:urn:MyTestwsdl key=http://xmlns.oracle.com/adapter/file/LixinSandboxes/WSInMedPubBpelSubFile Out/FileWrite value=QName:{http://xmlns.oracle.com/pcbpel/adapter/file/LixinSandboxes/ WSInMedPubBpelSubFileOut/FileWrite}FileWritetarget name space:http: //xmlns.oracle.com/pcbpel/adapter/file/LixinSandboxes/ WSInMedPubBpelSubFileOut/FileWrite count of all cached entries:3 SchemaManager instance:oracle.fabric.common.wsdl.SchemaManager@164ec1f8 SchemaManager.isPostDeploy():true SchemaManager.isShared():false SchemaManager.schemaAddressSinceLastBuild():false Cached schema count:0 WSDLManager instance:oracle.fabric.common.wsdl.WSDLManager@14b5b8b0 cached wsdl definitions for the specified composite: including shared wsdls if there is any: --------------------------------------------------------------------------- key=http://xmlns.oracle.com/bpel/workflow/taskService value=QName:{http://xmlns.oracle.com/bpel/workflow/taskService} TaskServicetarget name space:http://xmlns.oracle.com/bpel/workflow/taskService count of all cached entries:1 SchemaManager instance:oracle.fabric.common.wsdl.SchemaManager@145b8cc SchemaManager.isPostDeploy():false SchemaManager.isShared():true SchemaManager.schemaAddressSinceLastBuild():true Cached schema count:0 WSDLManager instance:oracle.fabric.common.wsdl.WSDLManager@14b58b0 WSDLManager instance:oracle.fabric.common.wsdl.WSDLManager@14b58b0 cached wsdl definitions for the specified composite: including shared wsdls if there is any: ------------------------------------------------- key=http://xmlns.oracle.com/bpel/workflow/taskService value=QName:{http://xmlns.oracle.com/bpel/workflow/taskService} TaskServicetarget name space:http://xmlns.oracle.com/bpel/workflow/taskService count of all cached entries:1 SchemaManager instance:oracle.fabric.common.wsdl.SchemaManager@145b8cc SchemaManager.isPostDeploy():false SchemaManager.isShared():true SchemaManager.schemaAddressSinceLastBuild():true Cached schema count:0
DMS metrics with noun types are exposed as Oracle SOA Suite MBeans to use for diagnosing problems. This section describes the supported DMS metrics.
Table 11-11 shows the supported service engine sensors.
Table 11-11 Service Engine Sensors
Noun Path | Noun Type | Sensor | Type |
---|---|---|---|
|
|
|
Phase Event |
|
Phase Event |
||
|
Phase Event |
||
|
Phase Event |
||
|
State |
||
|
|
State |
|
|
State |
||
|
|
|
Phase |
|
Event |
||
|
|
Phase |
|
|
Event |
||
|
|
Phase |
|
|
Event |
||
|
|
Phase |
|
|
Event |
||
|
|
Phase |
|
|
Event |
||
|
|
Phase |
|
|
Event |
||
|
|
Phase |
|
|
Event |
||
|
|
|
State |
|
State |
||
|
State |
Table 11-12 shows the supported binding sensors.
Table 11-12 Binding Sensors
Noun Path | Noun Type | Sensor | Type |
---|---|---|---|
|
|
|
Phase |
|
Event |
||
|
Event |
Table 11-13 shows the supported composite sensors.
Table 11-13 Composite Sensors
Noun Path | Noun Type | Sensor | Type |
---|---|---|---|
|
|
|
State |
|
Event |
||
|
Phase |
||
|
Phase |
||
|
|
|
Event |
|
Phase |
||
|
|
|
Event |
|
Phase |
||
|
Phase |
||
Standard deviation (the user interface calculates this as it comes through) |
|||
|
|
[
|
Event |
|
|
|
Event |
|
|
|
Phase |
Table 11-14 shows the supported reference and service sensors.
Table 11-14 Reference and Service Sensors
Noun Path | Noun Type | Sensor | Type |
---|---|---|---|
|
|
|
Event |
|
Event |
||
|
Phase |
||
|
|
|
Event |
|
Event |
||
|
Phase |
Table 11-15 shows the supported Oracle B2B binding sensors.
Table 11-15 Oracle B2B Binding Sensors
Noun Path | Noun Type | Sensor | Type |
---|---|---|---|
|
|
|
Event |
|
Event |
||
|
Phase Event |
||
|
State |
||
|
|
|
Event |
|
Event |
||
|
Phase Event |
||
|
State |
||
|
|
|
State |
|
State |
||
|
Event |
||
|
|
|
Event |
|
|
|
State State State |
|
|
|
Event |
|
Event |
||
|
Phase Event |
||
|
State |
||
|
|
|
Event |
|
Event |
||
|
Phase Event |
||
|
State |
Table 11-16 shows the supported Oracle User Messaging Service sensors.
Table 11-16 Oracle User Messaging Service Event Bridge Metrics
Noun Path | Noun Type | Sensor | Type |
---|---|---|---|
|
|
|
Event |
|
Event |
||
|
Phase Event |
||
|
Event |
||
|
|
|
Event |
|
Event |
||
|
Phase Event |
||
|
State |
||
|
|
|
State |
You can create Oracle SOA Suite watches and send notifications around diagnosable conditions based on metrics collected from Oracle SOA Suite MBeans. When a watch expression evaluates to true (for example, heap space exceeds a specified amount), a notification is sent.
The message IDs shown in Table 11-17 have been assigned for diagnostic purposes. When you create a watch in Oracle WebLogic Server Administrator's Console, you must follow these naming conventions. The prefix for Oracle SOA Suite-related watches is SOA
-
message_ID
.
Table 11-17 Message Prefixes
Scenario | Message-ID | Dumps Executed |
---|---|---|
Memory |
|
|
Deployment hang |
|
|
Data source |
|
|
You can also link a WLDF notification to the watch. If you link the out-of-the-box Oracle Fusion Middleware Diagnostic Framework notification (named FMWDFW notification), then a set of SOA specific dumps are executed. These dumps provide runtime information about the situation and environment. The list of dumps to execute is determined by predefined XML incident rules files.
Other notifications (like email) can also be linked to the watch.
The following watch automatically triggers dumps of soa.env
and soa.config
.
To create watches and notifications:
Log in to Oracle WebLogic Server Administration Console.
http://host:port/console
In the Domain Structure, expand Diagnostics, and select Diagnostic Modules.
The Summary of Diagnostic Modules page appears.
You configure a diagnostic system module to monitor an aspect of a server or server resource. You can configure multiple system modules to monitor different aspects of a server, but only one such module can be active on a server.
In the Diagnostic System Modules section, click Module-[Module_Name] (for example, Module-FMWDFW).
On the Settings for Module_Name page, select Watches and Notifications > Watches.
In the Watches section, click New.
The Create a Diagnostic Watch page is displayed.
Enter the following details to create a watch, and click Next.
Field | Description |
---|---|
Watch Name | Enter a name for the watch (for this example, SOA-900000#soa-infra#MemoryWatch is entered).
The name of the watch must conform to the following pattern: message-id#soa-infra#some_other_text For example, This is necessary because the watch name coordinates the Diagnostic Framework incident processing actions when watch conditions evaluate to true. Not following this pattern results in Oracle SOA Suite dumps not getting triggered when Oracle SOA Suite incidents are created. For additional information, see Table 11-17. If the watch is set up with the FMWDFW notification, the notification handler creates an incident that corresponds to the |
Watch Type | Select an option:
|
Enable Watch | Select to enable a watch. |
The Configure Watch Rule Expressions page for adding an expression to the watch is displayed.
Click Add Expression.
The Add Expression wizard is displayed.
In the MBean Server location list, select the Oracle WebLogic Server MBean server for the expression you want to configure (for example, ServerRuntime).
Click Next.
Select the Select an MBean Type from the following list button.
In the MBean Type list, select the MBean to use for collecting diagnostic information (for this example, Oracle WebLogic Server MBean weblogic.management.runtime.JRockitRuntimeMBean is selected).
Click Next.
The Select Instances page is displayed.
From the Instance list, select the instance name or specify an instance name pattern to use to identify the metric for the expression.
Click Next.
Enter the following details to create a watch rule expression, and click Finish.
Field | Description |
---|---|
Message Attribute | Select a message attribute (for this example, HeapFreePercent is selected).
The attributes that are displayed for selection are part of the MBean that you selected in Step 11. For example, if you selected: oracle.dms.name=/soainfra/engines/bpel/request/system.type=soa_infra_bpel_requests
You see assigned attributes such as active_count, active_maxValue, active_minValue, scheduled_count, and others. |
Operator | Select an operator (for this example, < is selected). |
Value | Enter a value (for this example, 100 is specified). |
The Configure Watch Rule Expressions page is displayed with the watch rule expression you created.
Click Next.
The Config Watch Alarm page is displayed.
Optionally specify an alarm and the alarm's reset value for the watch.
Click Next.
The Configure Watch Notifications page is displayed.
In the Available table, select a notification to assign to the watch and click >.
When a watch rule expression evaluates to true, a notification is triggered. This notification is handled by the Diagnostic Framework if the FMWDFW notification is selected, which links it to the watch. The FMWDFW notification is automatically shipped with Oracle SOA Suite. Oracle recommends that you select this notification because it creates the Oracle SOA Suite dumps described in Section 11.1.4, "Supported Oracle SOA Suite Diagnostic Dumps."
The notification handler creates a problem incident package that contains appropriate SOA dumps in the ADR. The incident package name corresponds to the message ID specified in the watch name. The incident package dumps can be viewed later using standard ADR tools. This feature enables you to take corrective actions for the problem scenario.
Click Finish.
The watch you created is displayed at the bottom of the Settings for Module_Name page. In addition, three WLDF watches that are automatically shipped with Oracle WebLogic Server (Deadlock, StuckThread, and UncheckedException) are also displayed.
In the Name column, click the specific watch name to display configuration details about the watch.
You can manually execute existing dumps with the WLST command executeDump
and create incidents when one has not been automatically created.
To manually execute dumps:
Specify the executeDump
command to place dump contents in a file (for this example, soa.config
is the dump executed).
wls:/soainfra/serverConfig> executeDump(name='soa.config', appName='soa.infra') Start Dumping deployedCompositesCatalog from MDS URI:deployed-composites/deployed-composites.xml to: /myhome/fmwhome/user_ projects/domains/mydomain/servers/myserver/adr/diag/ofm/mydomain/ myserver/incident/incdir_9/deployedCompositesCatalog Finished dumping specified MDS metadata to : /myhome/fmwhome/user_ projects/domains/mydomain/servers/myserver/adr/diag/ofm/mydomain/myserver/incid ent/incdir_9/deployedCompositesCatalog Start Dumping soaServiceEnginesConfigurations from MDS URI:soa/configuration/default to: /myhome/fmwhome/user_projects/ domains/mydomain/servers/myserver/AdminServer/adr/diag/ofm/mydomain/ myserver/incident/incdir_9/soaServiceEnginesConfigurations Finished dumping specified MDS metadata to : /myhome/fmwhome/user_projects/ domains/mydomain/servers/myserver/AdminServer/adr/diag/ofm/mydomain/ myserver/incident/incdir_9/soaServiceEnginesConfigurations
This creates the following output:
Specify the executeDump
command to display dump contents to the screen.
executeDump(name='soa.edn') Type:oracle.integration.platform.blocks.event.saq.SAQBusinessEventBus Configuration:null Status: running=true started=true ThreadCount:3 RetryCount:3 In Global: Tx:false Cluster Info:oracle.integration.platform.blocks.cluster.CoherenceCluster Interface1mpt@163bd717 SharedEDN:false OOAO Queue Name:edn_ooao_queue Java Subscriber Name:edn java subscriber Subscription Info: No namespace subscription... QName subscriptions: ============================================================= qname={http://schemas.oracle.com/events/edl/ActionOccur}ADEvent subscriptions= id=default/WSInMedPubBpelSubFileOut!1.0*soa_7a055d6a-8402-49c2-ac56-5f85cbf3d7f/ BpelSub, consistencyLevel=ONE_AND_ONLY_ONE, filter=XPath Filter: starts-with(/ be:business-event/be:content/ns0:ActionOccurrence/ns0:ParentEntityType/@value, 'A'), runAsRoles=[$publisher] id=partition_1/WSInMedPubBpelSubFileOut!1.0*soa_80a169ab1-395a-4b87-9986-9fa2742a8bd3/ BpelSub, consistencyLevel=ONE_AND_ONLY_ONE, filter=XPath Filter: starts-with(/ be:business-event/be:content/ns0:ActionOccurrence/ns0:ParentEntityType/@value, 'A'), runAsRoles=[$publisher] EventThreadContextInfo: EventTargets: Event:partition_1/WSInMedPubBpelSubFileOut!1.0*soa0a169ab1-395a-4b87-9986-9fa2742a9bd3/ BpelSub:::oracle.fabric.BPELServiceEngine@163bd6b5 Event:default/WSInMedPubBpelSubFileOut!1.0*soa7a055d6a-8402-49c2-ac56-5f85cbf3 d7f/BpelSub:::oracle.fabric.BPELServiceEngine@163bd6b5 EDN DB Log enabled:false
You can also manually create incidents when one has not been automatically created. For example, this is useful when you notice performance issues and want to create an incident to send to Oracle Support Services. The incident can include SOA dumps, as per the SOA message ID mapping.
This can be performed with the following WLST command:
createIncident(messageId="SOA-90000", appName="soa-infra")
This has the same effect as WLDF watch notification execution, in which the watch has the message ID of SOA-90000
and application name of soa-infra
.
For more information about executeDump
, see Chapter "Diagnostic Framework Custom WLST Commands" of Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.
ADRCI is a command-line utility that enables you to investigate problems and package and upload first-failure diagnostic data to Oracle Support Services. ADRCI also enables you to view the names of dump files in the ADR, and to view the alert log with XML tags stripped, with and without content filtering.
ADRCI is installed in the following directory:
MW_HOME/wlserver_10.3/server/adr
For more information about ADRCI, see Chapter "ADRCI: ADR Command Interpreter" of Oracle Database Utilities.
For information about other tools, see Chapter "Managing Diagnostic Data" of Oracle Database Administrator's Guide
The Diagnostic Framework provides WLST commands that you can use to view information about problems and incidents, including the following:
Querying problems across Oracle WebLogic Servers
Querying incidents across Oracle WebLogic Servers
Viewing dump files associated with an incident on an Oracle WebLogic Server
For more information about these WLST commands, see Section "Understanding the Diagnostic Framework" of Oracle Fusion Middleware Administrator's Guide and Chapter "Diagnostic Framework Custom WLST Commands" of Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.