IBM Support

ODM Decision Center Diagnostics

Troubleshooting


Problem

Decision Center is behaving unexpectedly and the database section of the diagnostic reports errors.

Diagnosing The Problem

IBM Technical Support asks to gather Diagnostics from Business Console  since v8.10 and Enterprise Console for v8.9 and earlier.
Decision Center Diagnostics report the following:
  • About: Information about the Decision Center
  • Manager bean access: Various checks, such as whether the DC was properly installed and database was initialized, license check, hostname, port of the host machine and checks whether a project can be created with the existing installation.
  • Data source: checks the database information based on the connected data source, and whether the schema is compatible with the current version of Decision Center
  • Extensions: Determines the model extensions that were defined
  • Verbalizers: retrieves all the verbalizers that are available
  • Database: Various checks on the metadata of the tables and schema level comparisons

Resolving The Problem

Some of the errors reported in the database section of the diagnostic can be resolved by using Ant tasks available in the present technote.
If a diagnostic does not have a solution, or if the repair fails, contact ODM Support team for further assistance.
For ODM on Premise: 
Extract DC_Repair-2.16.zip directly into ODM Decision Center installation folder <ODM_HOME>/teamserver/bin and set up your environment to use Ant.


For ODM on Containers:

  1. Download the file dcrepair-install-2.16.zip 
  2. Extract in a dedicated folder
  3. Run the following command specifying the URL of the decision center host
    • On Windows in powershell  run  dcrepair-install.ps1 -serverURL http(s)://host:port 
    • On Linux run  dcrepair-install.sh http(s)://host:port
  4. The <ODM_HOME> is the 'odm' folder created in the current folder
Tips:
1) Edit the file <ODM_HOME>/teamserver/bin/teamserver-anttasks.properties to set a default value for the properties rtsAdmin.login, rtsAdmin.passwordprotocol, server.host, server.port , datasourceName, zenApiKey to match your installation of Decision Center. Those properties will be used by default in all the commands.
Since v2.11, you can also authenticate:
(Check the required versions of ODM in the revision section)
2) All repair tools are run from the folder <ODM_HOME>/teamserver/bin.
From this folder ant is available in the following location 
ODM Linux Windows
on Premise ../../shared/tools/ant/bin/ant ..\..\shared\tools\ant\bin\ant.bat
container ../../ant/bin/ant ..\..\ant\bin\ant.bat
Note: on Linux if ant is already installed it will be accessible as ant and not installed in the folder odm.

Diagnostics and corresponding repair tool:

Find in the table below which repair tool can solve a given diagnostic error:

Diagnostic Repair tool target
Name Key
Check versioning system
IlrDBDiagnostic_Test1_key
Check all versions are referenced by a rule project element IlrDBDiagnostic_Test2_key
Check UUID table IlrDBDiagnostic_Test3_key repair-uuid-table
Check aggregated elements are versioned with the container IlrDBDiagnostic_Test4_key
Check for invalid UUIDs IlrDBDiagnostic_Test5_key
Check sibling tables IlrDBDiagnostic_Test6_key
Check referencing baselines project consistency IlrDBDiagnostic_Test7_key repair-referencing-baselines-consistency
Check locales IlrDBDiagnostic_Test8_key repair-locale
Check folder hierarchies IlrDBDiagnostic_Test9_key
Check system additional versions IlrDBDiagnostic_Test10_key
Check baselines projectInfo availability IlrDBDiagnostic_Test11_key repair-projectinfo-version
Check folders lft/rgt indexes IlrDBDiagnostic_Test12_key
Check baselines lft/rgt indexes IlrDBDiagnostic_Test13_key repair-baselines-index
Check baseline dependencies availability IlrDBDiagnostic_Test14_key repair-baseline-dependencies
Check system merged versions information IlrDBDiagnostic_Test15_key
Check activity baseline matches source ruleartifact project IlrDBDiagnostic_Test16_key
Check project dependencies and project bom path entries are matching IlrDBDiagnostic_Test17_key
Check project main branch availability IlrDBDiagnostic_Test18_key
Check restore snapshot operation on deleted elements IlrDBDiagnostic_Test19_key repair-versions-consistency
Check aggregated elements identifiers consistency IlrDBDiagnostic_Test20_key repair-aggregations-consistency
Check last version in parent branch indexes IlrDBDiagnostic_Test21_key repair-last-version-in-parent-branch
Check all base tables are available IlrDBDiagnostic_Test22_key

Reference:

Check folders lft/rgt indexes

Run Ant task repair-package-index from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-package-index
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-package-index
ant -f checker.xml -Dtoken=... repair-package-index
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-package-index

Parameters (default values defined in teamserver-anttasks.properties:
-Dserver.url=http(s)://<host>:<port>/decisioncenter  
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-package-index
        

Check referencing baselines project consistency

Run Ant task repair-referencing-baselines-consistency from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-referencing-baselines-consistency
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-referencing-baselines-consistency
ant -f checker.xml -Dtoken=... repair-referencing-baselines-consistency
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-referencing-baselines-consistency

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-referencing-baselines-consistency
        

Check baseline dependencies availability

Run Ant task repair-baseline-dependencies from <ODM_HOME>/teamserver/bin

Note:

This repair tool removes the dependencies from the project. Do not use the tool the dependency are required, instead use the dependency editor in Enterprise Console to repair the project.
Use > Project > Edit Project Dependencies and modify the dependency by referencing an existing branch of the project.

Usage:

ant -f checker.xml repair-baseline-dependencies
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-baseline-dependencies
ant -f checker.xml -Dtoken=... repair-baseline-dependencies
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-baseline-dependencies

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-baseline-dependencies
        

Check locales

Run Ant task repair-locale from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml -Dtable=... -DlocaleFrom=... repair-locale
ant -f checker.xml -Dtable=... -DlocaleFrom=... -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-locale
ant -f checker.xml -Dtoken=... repair-locale

ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-locale

Use the parameter localeFrom when the diagnostic reports a locale that is not null.

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>
-Dtable=database table to repair (required - no default value)
-DlocaleFrom= locale to be replaced (default NULL)

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dtable=PUBLIC.RULEFLOW -DlocaleFrom=fr_FR -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-locale
        

Check UUID table

To clean up records from BRSTUDIO table that do not reference records in project element tables run Ant task repair-uuid-table from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-uuid-table
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-uuid-table
ant -f checker.xml -Dtoken=... repair-uuid-table
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-uuid-table

Note: this tool only repairs rule packages, action rules, decision tables, vocabulary and resources, for other elements contact your Support.

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-uuid-table
        

Check baselines projectinfo availability

if element of type PROJECTINFO are listed in this diagnostic run Ant task repair-projectinfo-version from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-projectinfo-version
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-projectinfo-version
ant -f checker.xml -Dtoken=... repair-projectinfo-version
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-projectinfo-version

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-projectinfo-version
        

Check project dependencies and project bom path entries are matching

To repair the project showing dependencies and bompath don't match run Ant task repair-all-bompath-dependencies from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-all-bompath-dependencies
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-all-bompath-dependencies
ant -f checker.xml -Dtoken=... repair-all-bompath-dependencies
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-all-bompath-dependencies

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-all-bompath-dependencies
        

Check baselines lft/rgt indexes

To repair the errors in baseline indexes diagnostic, run the Ant task repair-baselines-index from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-baselines-index
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-baselines-index
ant -f checker.xml -Dtoken=... repair-baselines-index
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-baselines-index

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-baselines-index
        

Check restore snapshot operation on deleted elements

Run Ant task repair-versions-consistency from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-versions-consistency
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-versions-consistency
ant -f checker.xml -Dtoken=... repair-versions-consistency
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-versions-consistency

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-versions-consistency
        

Note:

If you see the message below, it means the server is running a version of Decision Center that does not provide the required diagnostic #19 "Check restore snapshot handling of deleted elements". Check for iFixes (or releases) implementing the fix for the APAR RS03873.


[java] WARNING: Class 'ilog.rules.teamserver.ejb.service.dao.diagnostic.tests.IlrDBDiagnostic_Test19' not found server side

If you see the message below, it means that the fix is missing on the client side.


[java] WARNING: Class 'ilog.rules.teamserver.ejb.service.dao.diagnostic.tests.IlrDBDiagnostic_Test19' not found client side

Check aggregation consistency

To repair errors on ORIGINALID in aggregation tables (ARGUMENT, DEFINITION, DEPGROUP, DEPOPERATION, DEPOPERATIONPROPERTY, DEPPROPERTYTAG, DEPTARGET, DEPVERSIONPOLICY, INITIALVALUE, OPERATIONTAG, OPERATIONVARIABLE, OVERRIDDENRULE, RULEARTIFACTTAG, RULEFLOWTAG, SCENARIOSUITERESOURCE, SCOPEELEMENT, TASK, VARIABLE, VTCRESOURCE).

Run the Ant task repair-aggregations-consistency from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-aggregations-consistency
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-aggregations-consistency
ant -f checker.xml -Dtoken=... repair-aggregations-consistency
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-aggregations-consistency

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-aggregations-consistency
        

Note:

If you see the message below, it means the version of Decision Center running on the server is not 8.12 (or higher) and therefore is missing the required diagnostic.


[java] WARNING: Class 'ilog.rules.teamserver.ejb.service.dao.diagnostic.tests.IlrDBDiagnostic_Test20' not found server side

If you see the message below, it means that the version of ODM installed on the client side is not 8.12 (or higher) and therefore is missing the required diagnostic..


[java] WARNING: Class 'ilog.rules.teamserver.ejb.service.dao.diagnostic.tests.IlrDBDiagnostic_Test20' not found client side

Check last version in parent branch

Run the Ant task repair-last-version-in-parent-branch from <ODM_HOME>/teamserver/bin

Usage:

ant -f checker.xml repair-aggregations-consistency
ant -f checker.xml -Dserver.url=... -DrtsAdmin.login=... -DrtsAdmin.password=... -DdatasourceName=... repair-last-version-in-parent-branch
ant -f checker.xml -Dtoken=... repair-last-version-in-parent-branch
ant -f checker.xml -DzenApiKey=... -DrtsAdmin.login=... repair-last-version-in-parent-branch

Parameters (default values defined in teamserver-anttasks.properties):
-Dserver.url=http(s)://<host>:<port>/decisioncenter
-DrtsAdmin.login=<username with administrator permission>
-DrtsAdmin.password=<password of user>
-DdatasourceName=<jndi name of the datasource>
-Dtoken=<access token>
-DzenApiKey=<Zen API key>

Sample:

..\..\shared\tools\ant\bin\ant.bat -f checker.xml -Dserver.url="http://localhost:9090/decisioncenter" -DrtsAdmin.login=rtsAdmin -DrtsAdmin.password=rtsAdmin -DdatasourceName=jdbc/ilogDataSource repair-last-version-in-parent-branch

Note:

If you see the message below, it means the version of Decision Center running on the server is not 8.12-IF001 (or higher) and therefore is missing the required diagnostic.


[java] WARNING: Class 'ilog.rules.teamserver.ejb.service.dao.diagnostic.tests.IlrDBDiagnostic_Test21' not found server side

If you see the message below, it means that the version of ODM installed on the client side is not 8.12-IF001 (or higher) and therefore is missing the required diagnostic..


[java] WARNING: Class 'ilog.rules.teamserver.ejb.service.dao.diagnostic.tests.IlrDBDiagnostic_Test21' not found client side

Revisions:
v2.16 - January 2024
  • repair-locale fix to correctly determine the persistence locale when using H2 v2
v2.15 - November 2023
  • repair-locale now determines the persistence locale automatically (so the parameter 'locale' has been removed)
  • Fixed repair-all-bompath-dependencies and repair-project-bompath-dependencies
  • Added the file logging.properties for troubleshooting
v2.14 - November 2023
  • Fixed issue when using Oracle JRE
v2.13 - October 2023
  • repair-uuid-table (Check for invalid UUIDs) now also fixes elements of type brm.Vocabulary
v2.12 - September 2023
  • Add repair-aggregations-consistency (Check aggregated elements identifiers consistency)
  • Add repair-last-version-in-parent-branch (Check last version in parent branch indexes)
v2.11 - May 2023
  • support for token-based and zenApiKey-based authentication. Requires either :
    • ODM 8.12
    • ODM 8.11.1-IF006 (or higher)
    • ODM 8.11.0.1-IF018 (or higher)
  • ODM 8.10.5.1-IF036 (or higher) (only the token-based authentication is available)
  • ICP4BA 22.0.2-IF005 (or higher)
  • ICP4BA 21.0.3-IF021 (or higher)
v2.10 - 13 April 2023
  •  Fix repair-locale so that it deals with empty locales as well (not just null ones)
v2.9 - 11 April 2022 
  •  Fix the new repair tool introduced in v2.8: repair inconsistencies due to snapshot restore
v2.8 - 05 April 2022 
  •  Update link to download zip in document
v2.8 - 09 February 2022 
  • Add repair inconsistencies due to snapshot restore
v2.7 - 22 January 2022 
  • Installer for ODM on Containers
v2.7 - 10 November 2021
  • Add validation.TestSuite in repair Check UUID .
v2.6 - 15 February 2021
  • Add possibility for repair-locale to replace an existing locale. 
v2.5 - 15 February 2021
  • Include brm.Resource in repair UUID.
v2.4 - 26 January 2021
  • Fix the repair UUID table that does not work with Oracle database.
v2.3 - 19 January 2021
  • Fix issue with repair UUID table tool might delete valid elements.
v2.2 - 13 November 2020
  • Add baseline left/right index repair
  • Add project bom path and dependencies repair
  • Add projectinfo system versions repair
v2.1 - 13 April 2020
  • Support for 8.7
  • Add RulePackage to Repair UUID

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"ARM Category":[{"code":"a8m0z0000001hwvAAA","label":"Decision Center-\u003EBusiness Console-\u003EConfiguration from UI-\u003EDiagnostic"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Product Synonym

ODM

Document Information

Modified date:
24 January 2024

UID

ibm10883046