Oracle® Business Transaction Management

Release Notes

Release 12.1.0.7

E59114-03

January 2016

Oracle Business Transaction Management allows you to define and monitor transactions, and understand the business context of each transaction, including the transaction's consumers and business payload. You can also set performance targets for each transaction and monitor performance relative to those targets. You can trigger alert notifications when performance targets are breached or unusual conditions are met.

This document provides information about the changes introduced with release 12.1.0.7 of Business Transaction Management. It is recommended that you review this document before installing the product or upgrading to this version of the product. This document contains the following sections:

New Capabilities

This release includes the following new features:

  • This release now includes support for WebLogic Server 12c. Note that BTM only supports WebLogic Server release 12.1, and that WebLogic Server release 12.2 is not supported.

  • This release supports the installation of Central Servers with Oracle Database 12c. Installing Central Servers is described in the Installing and Configuring the Central Servers chapter of the BTM Installation Guide.

    With Release 12c, support for the use of SID (for example, jdbc:oracle:thin:@hostname:1521:sid) is deprecated and you must use a service name when specifying a connect string, for example:

    jdbc:oracle:thin:@hostname:1521/service_name
    

    Using a service name requires that you delimit the port and service name with a forward slash (/), rather than a colon(:).

Known Problems

The following problems have been observed:

  • If you need to monitor a large number of endpoints (many thousands), performance of BTM may be affected. To workaround this issue, it is recommended that you have one instance of BTM for each logical environment where BTM observers are deployed. For example, you could install one instance of BTM to monitor the Development environments, another instance of BTM to monitor the Test environments and install a separate instance to monitor the Production environments.

  • BTM does not support JVM Diagnostics if the server does not use FQDN

    You can only access JVM Diagnostics from BTM if the machines where JVMD is installed are known to the Enterprise Manager instance by their fully qualified domain names (FQDN). If a machine has been discovered/registered by the EM in its short form (for example server1 instead of server1.oracle.com) then you will not be able to access JVM Diagnostics for that specific server.

  • SOA Suite 11g Release 11.1.1.6 bug impacting observer

    CR 13895209: INCORRECT WSDL FOR SOA PS5 WEB SERVICES. User Description: In SOA Release 11.1.1.6, if WSDLs of different SOA web services import the same parent WSDL, BTM might show more endpoints for those web services than they are supposed to have. Sites impacted by this problem should either download the SOA Release 11.1.1.6 patch or upgrade to Release 11.1.1.7 to resolve this issue.

  • If you are upgrading to release 12.1.0.7 of Business Transaction Management, and you use the observer for JavaEE in WebLogic 12 server, you need to reinstall the observer as described in the Installing Observer Libraries on WebLogic chapter of the Business Transaction Management Installation Guide.

  • If you are upgrading to release 12.1.0.7 of Business Transaction Management, and you use the JMS probe, you need to remove and recreate all JMS Topic endpoints where the endpoint genre is OSB_Proxy and the endpoint URI is similar to the following:

    jms://host:port/%ConnectionFactoryJNDIName%/%TopicJNDIName%
    

    After upgrading to release 12.1.0.7, you can create a script which contains all the necessary commands to remove the endpoints as follows

    For Windows, enter the following command to create the script:

    btmcli generateRemoveOsbDeprecatedEpScript -s sphereUrl -u userName:password -scriptLanguage bat -o outputFileName
    

    For other platforms, enter the following command to create the script:

    btmcli generateRemoveOsbDeprecatedEpScript -s sphereUrl -u userName:password -scriptLanguage sh -o outputFileName
    

    where:

    • sphereUrl is the URL for the main server

    • username is the username of the btmAdmin

    • password is the password of the btmAdmin

    • outputFileName is the file name of the script you want to create

Example CLI Usage

BTM CLI commands such as retrieveObjectdata have many options and the syntax for some options is not obvious, for example, the syntax required to use the "type" parameter in addition to the "attributeNames" and "segments" parameters. This section describes some examples that illustrate the different parameter settings that can be used with the retrieveObjectdata command.

The correct syntax for CLI commands depends on your platform.  The samples in this section are shown for Windows and must be modified for Linux. For example, on Windows, enter the following:

btmcli.bat retrieveObjectdata 
-t service -query service:friendlyName='CreditService'
-s http://localhost:8080/btmcentral/sphere/ 
-l admin:admin
-attributeNames friendlyName averageResponseTime
-inTheLast 7d

On Linux you must escape the quote character as follows:

./btmcli.sh retrieveObjectdata 
-t service -query service:friendlyName=\'CreditService\'
-s http://localhost:8080/btmcentral/sphere/ 
-l admin:admin
-attributeNames friendlyName averageResponseTime
-inTheLast 7d

The BTM CLI command retrieveObjectData examples below may be customized to meet your specific requirements.

In addition to the information in the Commands and Scripts chapter of the BTM Online Help, you can use the Custom Data Explorer to determine what queries you can run.  In the upper left of the main window find the Filters region.  Click Show All and then Choose Filter....  In the upper right of the popup click on Show AQL.  The AQL box shows you the syntax that can be used with retrieveObjectData.  Usually, if you can retrieve the data with the Custom Data Explorer you can fetch it with retrieveObjectData.

BTM data expiration can be summarized as follows:

  • minutes - written on receipt - 130 minutes

  • hour - written out every hour - 2 days + 1 hour

  • day - written every day - 2 month + 1 day

  • month - written every month - 2 years + 1 month

  • year - written every year - never

So if you go back in time 24 hours your minute data has been rolled up and there is no longer anyway to access it.  Unfortunately, the UI does a bad job of graphing it.  And the minute data is not guaranteed to be accurate for much longer than the first 60 minutes.  The extra amount above is to factor in the "rolling up" of the data.

The command below and output shows all of the friendly names of your BTM services:

btmcli.bat retrieveObjectdata
-t service 
-s http://localhost:8080/btmcentral/sphere 
-l admin:admin
 
 
 
<retrieveObjectData type="Service" inTheLast="1H" intervalSizeInSeconds="3600" startDate="2015-10-01 09:22:28" endDate="2015-10-01 10:22:28" requestedStartDate="2015-10-01 09:22:28" requestedEndDate="2015-10-01 10:22:28">
    <service friendlyName="bookmart_order"/>
    <service friendlyName="bookmartClient"/>
    <service friendlyName="CreditService"/>
    <service friendlyName="WarehouseService"/>
    <service friendlyName="ShippingService"/>
    <service friendlyName="OrderService"/>
</retrieveObjectData>

The output above shows that there is a service called CreditService, to retrieve more information about that service enter:

btmcli.bat retrieveObjectdata -t service -query service:friendlyName='CreditService'
-s http://localhost:8080/btmcentral/sphere/ -l admin:admin -attributeNames friendlyName averageResponseTime
-inTheLast 7d
 
<?xml version="1.0" encoding="UTF-8"?>
<retrieveObjectData type="Service" query="service:friendlyName=&apos;CreditService&apos;"
inTheLast="7d" intervalSizeInSeconds="604800" startDate="2012-09-26 00
:00:00" endDate="2012-10-03 15:50:00" requestedStartDate="2012-09-26 00:00:00"
requestedEndDate="2012-10-03 15:50:00">
  <service friendlyName="CreditService">
      <instrument name="averageResponseTime" timestamp="2012-09-26 00:00:00">654</instrument>
  </service>
</retrieveObjectData>

To get transaction information, enter:

btmcli retrieveObjectData
-s http://localhost:8080/btmcentral/sphere/
-l admin:admin
-t transaction
-attributeNames friendlyName exceptionCount
-segments conditionName
 
 
<?xml version="1.0" encoding="UTF-8"?>
<retrieveObjectData type="Transaction" inTheLast="1H"
intervalSizeInSeconds="3600" startDate="2012-10-04 13:18:00"
endDate="2012-10-04 14:18:00" requestedStartDate="2012-10-04 13:18:00"
requestedEndDate="2012-10-04 14:18:00">
  <transaction friendlyName="OrderService_submit">
      <instrument name="exceptionCount" timestamp="2012-10-04 13:18:00">
          <segment conditionName="Fault Monitoring">4</segment>
          <segment conditionName="CheckForBart">1</segment>
      </instrument>
  </transaction>
</retrieveObjectData>

To get specific policy information, enter:

btmcli retrieveObjectData
-s http://localhost:8080/btmcentral/sphere/
-l admin:admin
-t transaction
-attributeNames friendlyName enforcementViolationCount
-segments instrumentClass enforcementSeverity policyId
 
 
<?xml version="1.0" encoding="UTF-8"?>
<retrieveObjectData type="Transaction" inTheLast="1H"
intervalSizeInSeconds="3600" startDate="2012-10-04 13:30:00"
endDate="2012-10-04 14:30:00" requestedStartDate="2012-10-04 13:30:00"
requestedEndDate="2012-10-04 14:30:00">
  <transaction friendlyName="OrderService_submit">
      <instrument name="enforcementViolationCount" timestamp="2012-10-04 13:30:00">
          <segment enforcementSeverity="failure" instrumentClass="http://schemas.amberpoint.com/instruments/classes:maxResponseTime"
policyId="uuid:60A098ED-0D6D-11E2-A500-850B39484D25">1</segment>
          <segment enforcementSeverity="warning" instrumentClass="http://schemas.amberpoint.com/instruments/classes:maxResponseTime"
policyId="uuid:60A098ED-0D6D-11E2-A500-850B39484D25">2</segment>
      </instrument>
  </transaction>
</retrieveObjectData>

To get response time information:

>btmcli retrieveObjectData 
-s http://localhost:8080/btmcentral/sphere/ -l admin:admin
-t service operation
-query service:friendlyName='CreditService'
-attributeNames friendlyName throughput averageResponseTime maxResponseTime
 
 
<?xml version="1.0" encoding="UTF-8"?>
<retrieveObjectData type="Service" query="service:friendlyName=&apos;CreditService&apos;"
inTheLast="1H" intervalSizeInSeconds="3600" startDate="2012-10-05 09:46:00"
endDate="2012-10-05 10:46:00" requestedStartDate="2012-10-05 09:46:00"
requestedEndDate="2012-10-05 10:46:00">
  <service friendlyName="CreditService">
      <instrument name="throughput" timestamp="2012-10-05 09:46:00">6</instrument>
      <instrument name="averageResponseTime" timestamp="2012-10-05 09:46:00">10</instrument>
      <instrument name="maxResponseTime" timestamp="2012-10-05 09:46:00">23</instrument>
      <operation friendlyName="debit">
          <instrument name="throughput" timestamp="2012-10-05 09:46:00">3</instrument>
          <instrument name="averageResponseTime" timestamp="2012-10-05 09:46:00">7</instrument>
          <instrument name="maxResponseTime" timestamp="2012-10-05 09:46:00">8</instrument>
      </operation>
      <operation friendlyName="saveSettings">
          <instrument name="throughput" timestamp="2012-10-05 09:46:00">0</instrument>
      </operation>
      <operation friendlyName="checkCredit">
          <instrument name="throughput" timestamp="2012-10-05 09:46:00">3</instrument>
          <instrument name="averageResponseTime" timestamp="2012-10-05 09:46:00">12</instrument>
          <instrument name="maxResponseTime" timestamp="2012-10-05 09:46:00">23</instrument>
      </operation>
  </service>
</retrieveObjectData>

You can specify a time frame to filter output data by entering:

>btmcli.bat retrieveObjectData 
-s http://localhost:40404/btmcentral/sphere/  
-l admin:admin 
-t service operation   
-attributeNames  friendlyName Operation::operationType Operation::linkThroughput Operation::linkAverageResponseTime 
-segments toOperation toManagedObjectId 
-startTime "2015-04-28 00:00:00"   
-endTime "2015-04-29 00:00:00"   
-intervalSize 24h
 
 
 
<?xml version="1.0" encoding="UTF-8"?>
<retrieveObjectData type="Service" intervalSizeInSeconds="86400" startDate="2015-04-28 00:00:00" endDate="2015-04-29 00:00:00" requestedStar
tDate="2015-04-28 00:00:00" requestedEndDate="2015-04-29 00:00:00">
    <service friendlyName="OrderService">
        <operation friendlyName="submit" operationType="request-response">
            <instrument name="linkThroughput" timestamp="2015-04-28 00:00:00">
                <segment toManagedObjectId="uuid:4B598B41-6143-11E4-B868-5DEED2D57A76" toOperation="placeOrder">1</segment>
                <segment toManagedObjectId="uuid:6EB70A9A-6143-11E4-B868-5DEED2D57A76" toOperation="getOrderId">1</segment>
                <segment toManagedObjectId="uuid:4B591610-6143-11E4-B868-5DEED2D57A76" toOperation="checkCredit">1</segment>
                <segment toManagedObjectId="uuid:4B598B41-6143-11E4-B868-5DEED2D57A76" toOperation="checkAvailability">1</segment>
            </instrument>
            <instrument name="linkAverageResponseTime" timestamp="2015-04-28 00:00:00">
                <segment toManagedObjectId="uuid:4B598B41-6143-11E4-B868-5DEED2D57A76" toOperation="placeOrder">125</segment>
                <segment toManagedObjectId="uuid:6EB70A9A-6143-11E4-B868-5DEED2D57A76" toOperation="getOrderId">19</segment>
                <segment toManagedObjectId="uuid:4B591610-6143-11E4-B868-5DEED2D57A76" toOperation="checkCredit">52</segment>
                <segment toManagedObjectId="uuid:4B598B41-6143-11E4-B868-5DEED2D57A76" toOperation="checkAvailability">28</segment>
            </instrument>
        </operation>
        <operation friendlyName="submitWithId" operationType="request-response"/>
        <operation friendlyName="shippingComplete" operationType="request-response">
            <instrument name="linkThroughput" toManagedObjectId="uuid:4B591610-6143-11E4-B868-5DEED2D57A76" toOperation="debit" timestamp="2
015-04-28 00:00:00">4</instrument>
            <instrument name="linkAverageResponseTime" toManagedObjectId="uuid:4B591610-6143-11E4-B868-5DEED2D57A76" toOperation="debit" tim
estamp="2015-04-28 00:00:00">22</instrument>
        </operation>
    </service>
</retrieveObjectData>

Bugs Fixed in Release 12.1.0.7

The following bugs have been fixed in this release:

Table 1 Bugs Fixed in this Release

Bug Number Description

19511572

ER - SUPPORT FOR MQ TRANSPORT ON OSB PROXY SERVICE

19453248

ER - IN SOME SCENARIOS JAVAEE/JMS OBSERVER SHOULD MODEL THE MDB IN WAVETOP MODE

18008346

OSB12: CAPTURE SSL-ID FROM OSB CONTEXT TO BE USED AS CONSUMER IDENTIFICATION

19791197

DMS SIZE WARNINGS IN SOA 12.1.3 WHEN OBSERVER IS DEPLOYED

19729809

SOME CALL SITES FAIL TO BE INSTRUMENTED BY WLDF

19556593

OUTBOUND REST CALLS FROM OSB SHOULD NOT DEPENDENCY DISCOVER SPURIOUS ENDPOINTS

20053124

VALUE TOO LARGE FOR COLUMN "BTM_SPHERE"."AMBPT_ENDPOINT"."SERVICEQNAME"

18638821

OBSERVER NEEDS BETTER ERRORS/DIAGNOSTICS WHEN UNABLE TO CONNECT TO MONITOR PORT

19722821

BTM TRANSACTION SYSTEMS FAILS TO INITIALIZE/START: NULLPOINTEREXCEPTION

19950554

OOBI STOPPED DUE TO: JAVA.LANG.NEGATIVEARRAYSIZEEXCEPTION

20263524

CAUGHT EXCEPTION IN CHECKEXCEPTION ACTION: JAVA.LANG.NULLPOINTEREXCEPTION

18390752

ER: NEED MASTER SWITCH TO ENABLE/DISABLE BTM'S USE OF DATABASE TEXT INDEX FEATURE

17898358

ER: "TEXT INDEX MESSAGE CONTENT" FEATURE OF BTM SHOULD DEFAULT TO "OFF"

19644791

BTM CLI DELETEALL: FAILED ATTEMPTING TO UNMANAGE THE ENDPOINT ..._ROUTER

20320154

AMBPT_TRIGGERS GROWS TOO LARGE AND SHUTS DOWN ALL CONDITION ALERT PROCESSING

20418238

MISSING MESSAGE CONDITION ON OSB BUSINESS OBJECT FAILS TO TRIGGER ALERTSEV 1


Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.


2016, Release 12.1.0.7 for all platforms

E59114-03

Copyright © 2016 Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

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.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.