Registry Services performance degradation because of IBM DB2 suboptimal query plans

Technote (troubleshooting)


Problem(Abstract)

When you have DB2 v10.1 FP1 or FP2 installed in your environment, there might be a degradation of Registry Services response time for query requests. This degradation occurs because of DB2 chooses suboptimal query plans.

Symptom

If you have DB2 v10.1 FP1 or FP2 in your Registry Services environment and you send a query request, DB2 might choose a suboptimal plan if these conditions are true:

- Your query contains a NOT EXISTS nested query.

- This nested query contains two or more base tables.

- The correlated JOIN predicate in the nested query contains an index on the JOIN column.


Resolving the problem

There is a work around to avoid this kind of issue. However, before running the work around steps, follow these suggestions:

1. Run DB2 10.1 FP3 or above if it is available. FP3 is planned to provide a fix for this issue.

2. Run DB2 10.1 without FP1 or FP2 temporarily if those fix packs are not required in your environment until DB2 10.1 FP3 release.


Otherwise, run the following documented steps as a work around for this issue:

1) Create an optimization guideline to disable the ANTIJOIN for the query that is impacted by this issue. This example shows a sample optimization profile created for Registry Services:

<?xml version="1.0" encoding="UTF-8"?>
<OPTPROFILE VERSION="10.1.0.2">
<OPTGUIDELINES>
</OPTGUIDELINES>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ? AND t2.VALUETYPEID = ? AND t2.STRINGVALUE = ?) ) AND NOT (EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ?) )) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION='DISABLE'/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (NOT (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ?) )) AND EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ? AND t4.VALUETYPEID = ? AND t4.STRINGVALUE = ?) ) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION="DISABLE"/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ? AND t2.VALUETYPEID = ? AND t2.STRINGVALUE = ?) ) AND NOT (EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ?) )) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?, ?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION='DISABLE'/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (NOT (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ?) )) AND EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ? AND t4.VALUETYPEID = ? AND t4.STRINGVALUE = ?) ) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?, ?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION="DISABLE"/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ? AND t2.VALUETYPEID = ? AND t2.STRINGVALUE = ?) ) AND NOT (EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ?) )) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?, ?, ?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION='DISABLE'/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (NOT (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ?) )) AND EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ? AND t4.VALUETYPEID = ? AND t4.STRINGVALUE = ?) ) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?, ?, ?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION="DISABLE"/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ? AND t2.VALUETYPEID = ? AND t2.STRINGVALUE = ?) ) AND NOT (EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ?) )) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?, ?, ?, ?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION='DISABLE'/>
</OPTGUIDELINES>
</STMTPROFILE>
<STMTPROFILE>
<STMTKEY SCHEMA="DB2INST1"><![CDATA[SELECT t0.REGISTRATION_ID, t0.MODIFIED_TIMESTAMP, t0.PRODUCT_URI, t0.PROVIDER_ID, t0.RESOURCE_ID, t0.RECONCILED_TIMESTAMP, t0.REFERENCE_REG FROM REGISTRATION_RECORD t0 INNER JOIN REGISTRATION_RECORD_RESOURCE_TYPE t1 ON t0.REGISTRATION_ID = t1.REGISTRATION_ID WHERE (NOT (EXISTS (SELECT t2.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t2 INNER JOIN NAMESPACE_URI t3 ON t2.NAMESPACE_PREFIX = t3.PREFIX WHERE (t2.REGISTRATION_ID = t0.REGISTRATION_ID AND t3.NAMESPACE_URI = ? AND t2.NAME = ?) )) AND EXISTS (SELECT t4.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t4 INNER JOIN NAMESPACE_URI t5 ON t4.NAMESPACE_PREFIX = t5.PREFIX WHERE (t4.REGISTRATION_ID = t0.REGISTRATION_ID AND t5.NAMESPACE_URI = ? AND t4.NAME = ? AND t4.VALUETYPEID = ? AND t4.STRINGVALUE = ?) ) AND EXISTS (SELECT t6.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t6 INNER JOIN NAMESPACE_URI t7 ON t6.NAMESPACE_PREFIX = t7.PREFIX WHERE (t6.REGISTRATION_ID = t0.REGISTRATION_ID AND t7.NAMESPACE_URI = ? AND t6.NAME = ? AND t6.VALUETYPEID = ? AND t6.STRINGVALUE = ?) ) AND EXISTS (SELECT t8.ATTRIBUTE_ID FROM REGISTRATION_ATTRIBUTE t8 INNER JOIN NAMESPACE_URI t9 ON t8.NAMESPACE_PREFIX = t9.PREFIX WHERE (t8.REGISTRATION_ID = t0.REGISTRATION_ID AND t9.NAMESPACE_URI = ? AND t8.NAME = ? AND t8.VALUETYPEID = ? AND t8.STRINGVALUE = ?) ) AND t1.RESOURCE_TYPE_ID = ? AND t0.REFERENCE_REG = ? AND NOT (t0.REGISTRATION_ID IN (?, ?, ?, ?)))]]></STMTKEY>
<OPTGUIDELINES>
<NOTEX2AJ OPTION="DISABLE"/>
</OPTGUIDELINES>
</STMTPROFILE>
</OPTPROFILE>

For finding out the statements to be added in the optimization profile, you must use a procedure that is based on DB monitoring snapshot and IBM Performance Analyst tool, as described in http://pic.dhe.ibm.com/infocenter/tivihelp/v3r1/index.jsp?topic=%2Fcom.ibm.psc.doc_1.1.0%2Frs_original%2Foslc%2Fweb%2Frs_r_ctr_bp_registry_srvc_perf.html

For more information about the optimization profiles, see the DB2 Information Center at http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.perf.doc%2Fdoc%2Fc0024534.html  

2) Activate the optimization profile by creating the SYSTOOLS.OPT_PROFILE table in the database, with the following DDL:

CREATE TABLE SYSTOOLS.OPT_PROFILE (
      SCHEMA VARCHAR(128) NOT NULL,
      NAME VARCHAR(128) NOT NULL,
      PROFILE BLOB (2M) NOT NULL,
      PRIMARY KEY ( SCHEMA, NAME ) );

3) Create a profile_file.load file as the source data. The content is:
"db2inst1","PROF1","jazzsm_opt_profile.xml"              

4) Import the profile_file.load file to SYSTOOLS.OPT_PROFILE table.
db2 "IMPORT FROM profile_file.load OF DEL MODIFIED BY LOBSINFILE INSERT_UPDATE INTO SYSTOOLS.OPT_PROFILE"

5) Open the WebSphere Application Server administrative console.

6) Select Resources > JDBC > Data sources and add a new property to the custom properties set for Registry Services with this information:

name: optimizationProfile
value: db2inst1.PROF1
type:String

7) Save this information.

You can also open the command window and execute the following DB2 command:

db2set DB2_ANTIJOIN=NO -im

This command, however, also disables the NOT EXISTS to ANTIJOIN translation also for statements that are not impacted by this issue.

Related information

Best practices for Registry Services performance

Rate this page:

(0 users)Average rating

Document information


More support for:

Tivoli Components
Jazz for Service Management

Software version:

1.1

Operating system(s):

AIX, Linux, Windows

Reference #:

1634006

Modified date:

2014-03-13

Translate my page

Machine Translation

Content navigation