0% found this document useful (0 votes)
224 views

How To Use The Oracle Data Integrator (ODI) - Repository Consistency Checker (RCC) Tool

How To Use The Oracle Data Integrator (ODI) - Repository Consistency Checker (RCC) Tool

Uploaded by

la messi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
224 views

How To Use The Oracle Data Integrator (ODI) - Repository Consistency Checker (RCC) Tool

How To Use The Oracle Data Integrator (ODI) - Repository Consistency Checker (RCC) Tool

Uploaded by

la messi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

Copyright (c) 2022, Oracle. All rights reserved. Oracle Confidential.

How To Use The Oracle Data Integrator (ODI) - Repository Consistency Checker (RCC) Tool
(Doc ID 1058107.1)

In this Document

Purpose
Troubleshooting Steps
Compatibility
Known limitations
Pre-requisites
Installation
How does it work?
Execution errors and warnings
What are the outputs of an RCC run?
When to involve Oracle Support?
Use the RCC utility!
Troubleshooting the RCC utility
"Out of Memory" received when executing the RCC
Failed to connect to the RCC Master Repository. Verify that the ODI Repository Consistency Checker environment is
up and running
Can not access a member of class oracle.jdbc.driver.OraclePreparedStatementWrapper with modifiers "public"
The connection to one of the analyzed Repositories fails with, for example, TNS-12505 or "I/O Exception" error
messages
The connection to the analyzed Repositories fails if the URL refers to a Port setup as **dynamic**
What to do if the RCC utility has been running for several hours
The execution of "start_diag.bat" fails
The .properties configuration file does not contain a valid Master Repository connection
The RCC on Windows 2008 R2 fails to execute command ([\'sh\', \'-c\', \'rccencode.bat myPassword
On Unicode Oracle database, the size of CHAR2 and VARCHAR2 columns is four times larger than the expected
Before re-executing the RCC a same day, please ensure all the previously generated .csv files are closed
Error received if running the RCC to prepare an upgrade to ODI 12c, with Repositories on a technology other then
Oracle
Help us to improve the RCC utility!
References

APPLIES TO:

Oracle Data Integrator - Version 3.2.03.01 to 12.1.2.0.1 [Release 3.2.03 to 12c]


Information in this document applies to any platform.

PURPOSE

The Repository Consistency Checker (RCC) is an Oracle Data Integrator (ODI) utility developed by the ODI Support team

1 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

to:

Applies to Applies to Applies to


Sunopsis ODI 12.1.2? ODI 12.1.3
v3/v4, or more recent?
ODI 10g
and ODI 11g?
Verify the structure and data integrity of your ODI
Repositories in order to guarantee their successful Yes Yes No (*)
upgrade to ODI 10.1.3.6 or above.
Detect Repository data issues, such as:

- Incoherent or inconsistent Internal Identifiers.

- Damaged, duplicate and orphan Texts.

- Corrupted and orphan Log messages. Yes No No (*)

- Integration Interfaces which are not in ad-equation


with the Topology.

- Incorrect interactions between design objects.

(*) The maintenance of RCC utility to assess the status of ODI 12.1.3 Repositories has been discontinued.

It is highly recommended to run the RCC utility:

• Prior to upgrading Repositories to a version compatible with ODI 10.1.3.6 or above.

Note if your upgrade requires intermediate steps (such as, for example, an upgrade from Sunopsis v3 to ODI 11g,
which requires an intermediate upgrade from Sunopsis v3 to ODI 10g, then from ODI 10g to ODI11g), you should
run the RCC prior to the first upgrade operation (in the above example, run the RCC on the Sunopsis v3
Repositories).

• To diagnose Repository data corruptions and inconsistencies.

• Regularly for Work Repositories hosted in a Microsoft SQL Server database with multiple concurrent developers.

TROUBLESHOOTING STEPS

Compatibility

1. The Repository Consistency Checker (RCC) utility is used to assess the status of Master and Work Repositories from
following configurations only:

◦ ODI 12.1.2
◦ any ODI 11g
◦ any ODI 10g
◦ any legacy Sunopsis v3 or v4

2. The Repository Consistency Checker (RCC) utility is compatible with the following technologies:

Technology Is technoplogy certified to Is technoplogy certified to Is technoplogy certified to hold


hold ODI 12.1.2 Repositories? hold ODI 11g Repositories? ODI 10.1.3.6 Repositories?

Derby No No Yes

Hypersonic No Yes Yes


SQL

IBM DB2 UDB Yes Yes Yes

2 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

IBM DB2/400 Yes Yes Yes

IBM Informix No No Yes

Microsoft Yes Yes Yes


SQLServer

Oracle Yes Yes Yes

PostrgreSQL No No Yes

Sybase ASA No No Yes

Sybase ASE No Yes Yes

Sybase IQ No No Yes

Known limitations

1. The Repository Consistency Checker (RCC) utility runs on Windows Operating System only.

2. For ODI 12.1.2, the RCC only analyzes Repositories on Oracle technology. A work around is provided in the
"Troubleshooting the RCC IUtility" section of this document.

Pre-requisites

1. The user connected to the Operating System must have read and write privileges to the "diag_tools" directory (the
RCC installations folder).

2. Ensure that there is sufficient space on disk for the RCC to create the log, and diagnostic data files in the
"diag_tools/logs" directory.

3. While running the analysis, RCC creates several temporary tables in the database/schema that hosts the Repository
that is analyzed:

◦ Ensure that the database storage for the Repository (data files, log files, tablespaces... - depending on the
database schema that hosts the Repository) can grow to store the temporary tables.
◦ Oracle recommends the doubling of the size of these storage prior to launching the RCC utility. Contact your
DBA to check or expand available storage.

4. When running the analysis, RCC may need to create several views in the database/schema that hosts the Repository
that is analyzed:

◦ Ensure that the user connected to the Repository database/schema is granted with "create view" privilege.

5. Depending on the technology hosting the Repositories to be analyzed, and prior to running the RCC utility, ensure
that the needed appropriate JDBC drivers are present in the "/drivers" directory of the RCC installation.

6. Ideally, install the RCC on a machine where you are already connecting to the ODI (Sunopsis) environment to be
analyzed. Elsewhere, please make sure that your Network and Firewall policies allow the communication between
this machine and the server which hosts the ODI (Sunopsis) Repositories to analyze.

7. The RCC is a Java-based application, and requires a JVM 1.4, 1.5 or 1.6 to be installed on the same machine. Click
here to download an Oracle (Sun) JVM.

8. Ensure that all Sunopsis/ODI processes (Sunopsis/ODI graphical module or Agent) have been stopped and are not
accessing or modifying the Repository content while RCC is analyzing the Repository:

◦ Stop all your Sunopsis/ODI Agents including the ones launched as Services.
◦ Close any Sunopsis/ODI GUI such as Designer, Operator, Topology Manager or Security.

3 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

If you can not stop your Agents because of production constraints, it is recommended to run the analysis over
copies or backups of your Sunopsis/ODI Repositories.

Installation

1. Download version 12.1.2.0.11 of the RCC (download the diag_tools_v1212011_part1.zip, and diag_tools_part2.zip
files).

Note that a separate download of the RCC readme is possible here.

Note each of the .zip files is ~30MB large, and it may take several minutes for the download pop-up window to
display, and the download operation to complete. Please be patient.

2. Create a "/diag_tools" directory.

3. Unzip the files into the "/diag_tools" directory above.

The "/diag_tools" directory must contain:


◦ a "readme.pdf" file
◦ a "/bin" folder, containing the RCC executable files
◦ a "/config" folder, containing a Master Repository connection configuration template (sample.properties)
◦ a "/drivers" folder, containing the JDBC drivers
◦ a "/lib" folder, containing RCC infrastructure data
◦ a "/logs" folder

To prevent any conflict with your security policies, the "diag_repository.script" containing the core data of RCC is
encrypted, using HSQL-specific encryption algorithm.

Please do not modify any of the RCC files which you are not explicitly asked to configure.

4. Edit the "rccparams.bat" configuration file located in the "/bin" directory of the RCC installation, and make sure that
the RCC_JAVA_HOME variable points to an existing Java 1.4 (or above) environment.

5. Edit the "rccparams.bat" configuration file located in the "/bin" directory of the RCC installation, and set/increase the
appropriate Java memory parameters.

For example:
set RCC_INIT_HEAP=1024m
set RCC_MAX_HEAP=4068m
Increasing the Java Heap size can significantly improve the time it takes for the RCC to run.

6. Depending on the technology hosting the Repositories to be analyzed, copy the appropriate JDBC drivers into the
"/drivers" directory of the RCC installation.

Please refer to the compatibility matrix for Java machines and JDBC drivers, available in Document 807235.1.

7. Observe the "/diag_tools/config/sample.properties" file contains a settings example for each of the technologies
hosting Sunposis/ODI Repositories.

Use this file as a template to create your own Master Repository connection file, and copy it to the
"diag_tools/config" directory. Please avoid directly modifying the "sample.properties" file. Note that any
amendments made to existing templates will be overwritten by new RCC installations.

Please enter the same information as for defining the Topology Manager Login.

4 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

How does it work?

RCC examines your Master Repository and related Work Repositories structure and data to ensure data
consistency and to detect anomalies that may arise during repository upgrade operations.

The RCC utility is capable of analyzing:

• ODI 12.1.2 Repositories on Oracle technology


• ODI 11g Repositories on any certified technology
• ODI 10g, Sunopsis v4 or Sunopsis v3 Repositories on any certified technology

For details, refer to the Compatibility section above.

Seven levels of investigation may be performed:

1. A complete analysis of the Repositories consisting of the following next six points.

2. Analysis of only the Repositories tables and constraints in order to prepare and validate the
feasibility of the upgrade to ODI 10.1.3.6 or later.

3. Verify the Repositories internal IDs, and more precisely:

◦ Establish an comprehensive list of:


▪ Current and past values used for Repository Internal IDs,
▪ Internal IDs attached to objects imported from other Repositories in synonymy mode.

◦ Validate the Objects IDs sequence values and identify broken sequences presenting a risk of
potential data corruption (SNP_ENT_ID/SNP_ID)

4. Verify the Repositories Designer texts, and more precisely:

◦ Detect possible corruption of segmented Text data in a Development Work Repository


(SNP_TXT, and SNP_TXT_HEADER).

5. Verify the Repositories Operator texts, and more precisely:

◦ Signal the orphaned and damaged Text data in an Execution Work Repository (SNP_EXP_TXT,
and SNP_EXP_TXT_HEADER).

6. Verify the Integration Interfaces ad-equation with the Topology settings:

◦ Signal the Integration Interfaces that would show an inconsistency message when edited in the
ODI Designer.

7. Verify the interactions between Designer objects which result in cross-referenced


Projects and/or Models:

◦ Signal the design Objects which are located in one Project / Model, but do have components
from a different Project / Model.

You are first invited to indicate whether you are preparing an upgrade or not. If you are not preparing any
upgrade, then leave the default option (1). Elsewhere, indicate the version of ODI to which you will upgrade.
For example, if you are preparing to upgrade from ODI 10.1.3.5 to ODI 11.1.1.7, by intermediately upgrading
to ODI 10.1.3.6, then chose "2 - I am preparing to upgrade to ODI 11.1.1.7":

5 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

Next, you are invited to chose the level of investigation:

You are then invited to define the connection information to the Master Repository to be analyzed. RCC
proposes here all the .properties files located in the "/config" directory:

6 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

Note the "/diag_tools/config/sample.properties" file provided with the RCC, contains a settings example for each of
the technologies hosting Sunposis/ODI Repositories. Use this file as a template to create your own Master Repository
connection file, and copy it to the "diag_tools/config" directory. Please avoid directly modifying the
"sample.properties" file. Note that any amendments made to existing templates will be overwritten by new RCC
installations.

Please enter the same information as for defining the Topology Manager Login.

At this stage, RCC validates the entries, and attempts to connect to the Master Repository.

If the connection to the Master Repository is successful, RCC will scan for registered Work Repositories, and will invite
you to enter the database password (in clear text form) and schema/catalog name for the ones you wish to analyze.
RCC will test the connections, and raise connection failures.

7 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

RCC will then start checking your Master and Work Repositories.

The RCC console will display on-going operations while the analysis is progressing. Once the analysis is completed, a
.log file will be produced with the output and conclusions of the analysis.

8 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

9 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

The time required to complete the diagnosis cycle depends on the amount of data stored in your
Repositories.

The operation may take up to an hour, depending on how large the execution logs are in your Work
Repositories. For this reason, it is recommended to purge execution logs prior to running RCC.

Execution errors and warnings

Fatal errors are signaled when:

1. The RCC environment is not set correctly.

2. Master Repositories are hosted on an unsupported technology.

3. Connection to the Master Repository fails.

4. Failure of the analysis of one of the Repository structure.

Warnings are signaled in following situations:

1. Unsuccessful connection to a Work Repository.

2. Failure of an investigation relative to:


◦ The Repository internal IDs (SNP_ENT_ID and SNP_ID),
◦ Text records (SNP_TXT, and SNP_TXT_HEADER),
◦ Execution-related records (SNP_EXP_TXT, and SNP_EXP_TXT_HEADER),
◦ Inconsistent Integration Interfaces, and
◦ Incorrect interactions between design objects.

What are the outputs of an RCC run?

The Repository Consistency Checker (RCC) utility creates:

1. Three XML files:

M_04.02.02.01_SANITY_TOOL.xml,
W_04.02.02.01_SANITY_TOOL.xml and

10 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

E_04.02.02.01_SANITY_TOOL.xml

located in a "/diag_tools/logs/DiagsYYYYMMDD" sub-directory, where YYYYMMDD is the date of RCC execution.

Note that these XML files are used by ODI to clean up the structure of Repository tables during the upgrade
process.

If you are preparing the upgrade to ODI 10.1.3.6, you are required to copy these XML files into the following
ODI 10.1.3.6 directory prior to run the upgrade of your repositories:

/lib/scripts/<RepoTechnology>/patches

If you are preparing the upgrade to ODI 11g, you will have to copy these XML files into the following ODI 11g
directory prior to run the upgrade of your repositories:

/oracledi.sdk/lib/scripts/<RepoTechnology>/patches, and
/oracledi.common/odi/scripts/<RepoTechnology>/patches

2. A console output, "RCC_consoleYYYYMMDD.out" file, which contains the exact copy of the information displayed by
the RCC during its execution.

3. A diagnostic report, "ODI_consistency_checkYYYYMMDD.log", located in the "/diag_tools/logs" directory, and


containing the detailed results of the RCC run.

More precisely, for each of the analyzed Repositories, you will find:

◦ The analysis run start time, end time, and duration.

◦ Identification of the analyzed Repository: its technology, internal ID, type (Master, Development, or Execution
Work), and connection string (JDBC driver, URL and database User).

◦ Depending on the type of analysis launched, the report may also show the structural differences between the
analyzed Repository's structure and the expected structure of an ODI 10.1.3.6 Repository. More precisely:

▪ Missing Tables
▪ Incorrect or missing table Columns
▪ Incorrect, missing or supplementary Primary Keys
▪ Foreign Keys, Alternate Keys and Index
▪ Discrepancies found on Foreign Key definitions.

◦ List of potential issues. For more details, refer to the "When to involve Oracle Support?" section below.

4. One or more data files, in the "/diag_tools/logs/DiagsYYYYMMDD" sub-folder, to be transmitted to the ODI Support
team.

5. Diagnosis tables in the database hosting the analyzed Repository. These tables are prefixed by ORA_DIAG or E_,
and should not be removed from the Repository database without approval from ODI support.

Be aware that, if the RCC utility is launched several times during the same day, the contents of the
"ODI_consistency_checkYYYYMMDD.log" file and "/diag_tools/logs/DiagsYYYYMMDD" sub-directory will be overwritten with
the results of latest run.

When to involve Oracle Support?

The RCC detects distinct types of issues.

Some are informational - [I n f o], and do not need to be acted, or simple warnings - [W a r n i n g].

11 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

Others are considered as serious issues - [S e v e r e] and [F a t a l], and must be resolved.

The list below describes the distinct types of issues detected by RCC, which will require intervention of ODI
support engineer:

1. When running the analysis of the Repository structure and constraints, and RCC signals that:

▪ the reverse engineering has not been completed and/or


▪ constraints are violated on the Repository Tables:
▪ Violations of the Primary Key,
▪ Violations of an Alternate Key,
▪ Violations of a Foreign Key, or
▪ Null values in a Column defined as not null

Examples ( log file sample):

[F a t a l] Due to incomplete reverse engineering, the structure of


the Repository cannot be analyzed.
>>> Please contact the Oracle Data Integrator (ODI) support.

or:

[S e v e r e] Check data from SNP_STEP_REPORT Repository table:


90 times: Table SNP_STEP_REPORT (ORACLE): Join error (FK_STEP_REPORT)
between the table SNP_STEP_REPORT and the table SNP_SCEN_REPORT.

For details on the erroneous records, see:


"../diag_tools/logs/Diags<YYYYMMDD>
/diag_<WORKREPO_NAME>_err_SNP_STEP_REPORT.log".
>>> Please contact the Oracle Data Integrator (ODI) support.

Such issues will prevent you from upgrading your Repositories to version ODI 10.1.3.6 or above.

You should open a Service Request and provide Oracle support with a database dump of your
Repositories.

2. When running the analysis of the Repository data, and RCC does not show which internal IDs
have been used.

3. When running the analysis of the Repository data, and RCC signals internal IDs that conflict with
the current Repository ID.

Example (log file sample):

[I n f o] 3 Repository IDs used by objects in the current Repository:


2
546, Timestamp <TIMESTAMPM> - which is the current
Repository ID
601

[I n f o] 2 Repository IDs declared by ODI:


2, Timestamp <TIMESTAMPW1>
546, Timestamp <TIMESTAMPW2>

[S e v e r e] Several object IDs conflict with the current Repository


ID and will result
in violations of the table Primary Key during a subsequent INSERT
operation.

For details on these IDs, see "../diag_tools/logs/Diags<YYYYMMDD>


/diag_Master_Threshold_Internal_IDs.log".> Please contact the Oracle
Data Integrator (ODI) support.

12 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

As this results in Primary Key violations and potential data damage, you must halt all ODI
developments and executions until you are provided with the problem resolution. Open a Service
Request and provide Oracle support with a database dump of your ODI Repositories.

As such issues are often due to incorrect ODI export-import operations, please also consult the
following documents:

Document 577891.1 - Best Practices For Setting Up ODI Architectures Using Multiple
Distinct Master Repositories
Document 549318.1 - ODI - Export Import Best Practices (Between Work Repositories)
Document 1315470.1 - "Several object IDs conflict with the current Repository ID"
Signaled From RCC Execution

4. When running the analysis of the Repository data, and RCC signals damages on text records,
such as:

▪ Duplicate text entries referred by distinct Objects


▪ Object instances referring to missing text values
▪ Text entries with a wrong Object flag, or
▪ Orphan text entries
Example (log file sample):

[S e v e r e] You have 371 duplicate text entries referred by


distinct Objects.
[S e v e r e] You have 4 Object instances referring to missing text
values.
[W a r n i n g] You have 395 text entries with a wrong Object flag.
[I n f o] You have 36 orphan text entries.
>>> Please consult the following document from the Oracle Knowledge
Base:
Document 1061732.1 <How To Analyze The Damaged Text Entries
Detected By The ODI Repository Consistency Checker (RCC) Utility>

To resolve the corrupted text entries, see "../logs/Diags<YYYYMMDD>


/diag_<WORKREPO_NAME>_Incorrect_TXT.csv", or
"../logs/Diags<YYYYMMDD>
/diag_<WORKREPO_NAME>_Incorrect_TXT_WithoutTheValuesOfText.csv" (same
objects, without the values of text)

From the four types above, the "duplicate records" error requires immediate resolution, as it may be
accompanied by Primary Key violations and data corruptions.

If duplicate text entries are detected:

▪ Halt your developments


▪ Halt your executions
▪ Immediately contact the Oracle Support, or apply the recommendations from:

Document 1061732.1 - How To Analyze The Damaged Text Entries Detected By


The ODI Repository Consistency Checker (RCC) Utility

Note that such problems are more likely to occur on Microsoft SQLServer technology. Please see:

Document 947912.1 - Issues Related To Object ID Values Do Require An Upgrade of


ODI To Version 10.1.3.6.

5. When running the analysis of the Repository data, and RCC signals corrupted execution-related
messages (SNP_EXP_TXT, and SNP_EXP_TXT_HEADER).

Example (log file sample):

[W a r n i n g] 1 corrupted records have been found in the


SNP_EXP_TXT table.

13 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

For details on the corrupted records, see "../diag_tools


/logs/Diags<YYYYMMDD>
/diag_<WORKREPO_NAME>_SNP_EXP_TXT_Corrupted_Records.log". Please
consult the following document from the Oracle Knowledge Base:
Document 751142.1 <Identifying Corrupted Objects Related To Non-
existing Records In The ODI SNP_EXP_TXT Work Repository>

[I n f o] 3 orphan records have been found in the SNP_EXP_TXT_HEADER


table.
For details on the orphan records, see "../logs/Diags<YYYYMMDD>
/diag_<WORKREPO_NAME>_SNP_EXP_TXT_Orphan_Records.log.
>>> Please consult the following document from the Oracle Knowledge
Base:
Document 749487.1 <How To Determine Orphan Records From The ODI
SNP_EXP_TXT Work Repository Table

This type of issue is not blocking and will not impact your Production executions.

Please consult the following document, or contact Oracle Support to determine how to fix it:

Document 603109.1 - Overflow On ODI SNP_EXP_TXT Work Repository Table

6. When running the analysis of the Repository data, and RCC signals inconsistent and erroneous
Integration Interfaces.

Example (log file sample):

[W a r n i n g] 4 inconsistent and erroneous Integration Interfaces.


For details on the inconsistent and erroneous Integration Interfaces,
see "../logs/Diags<YYYYMMDD>
/diag_<WORKREPO_NAME>_Integration_Interface_Inconsistency.log.
>>> Please consult the following document from the Oracle Knowledge
Base:
Document 423930.1 <An "inconsistency" Message Is Signaled When
Opening An ODI Integration Interface

This type of issue is not blocking and will not impact your Production executions.

Please consult the following document, or contact Oracle Support to determine how to fix it:

Document 423930.1 - An "inconsistency" Message Is Signaled When Opening An ODI


Integration Interface

7. When running the analysis of the Repository data, and RCC signals interactions between design
objects.

Example (log file sample):

[W a r n i n g] 37 interactions between ODI Objects in Projects


and/or Models require your attention.
For details on the interactions, see "../logs/Diags<YYYYMMDD>
/diag_<WORKREPO_NAME>_Incorrect_Drag_Drop_Between_Projects_Or_Models.log.
>>> Please contact the Oracle Data Integrator (ODI) support.

This type of issue is not blocking, and will not impact your executions.

Eventually contact Oracle Support to determine how to fix it.

Generally speaking, always contact the Oracle Support when the RCC .log file shows the following message:

> Please contact the Oracle Data Integrator (ODI) support.

Whenever you are invited to contact Oracle Support, please prepare and attach the following files to your Service

14 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

Request:

• A copy of the Repository Consistency Checker console window that shows:


◦ all your input values and choices,
◦ the RCC parameters, and
◦ messages.

• A ZIP of the Repository Consistency Checker output, log, and data files hold in:

"/diag_tools/logs" folder and


"/diag_tools/logs/DiagsYYYYMMDD" sub-folder

• A dump of the database hosting the Repository (export, backup... - depending on the technology). Please do not
send an ODI export, as this would not allow the ODI support engineer to fully analyze the erroneous behavior.

Use the RCC utility!

1. Configure a .properties file in the RCC "/config" folder for connecting to the ODI Master Repository that should be
analyzed.

Note the "sample.properties" present in the mentioned folder contains a Master Repository connection configuration
template for all technologies certified to hold ODI Repositories. You can extract from this file a sample connection
setting for your Repositories.

2. Launch the Repository Consistency Checker (RCC) environment:

diag_tools/bin/start_diag.bat

3. Run the Repository Consistency Checker (RCC) utility:

◦ Open a command line prompt and go to the "/diag_tools/bin" directory.


◦ Run the RCC script:
rcc.bat
◦ Follow the step-by-step instructions, and monitor the execution from the command line window.
◦ Get a summary of the execution from the diagnostics .log file, and if appropriate, send a .zip of the
diagnostics report and related files to the ODI support team.

4. Stop the Repository Consistency Checker (RCC) environment:

diag_tools/bin/stop_diag.bat

Troubleshooting the RCC utility

• "Out of Memory" received when executing the RCC

When running the RCC utility, the following message is signaled:

Out of Memory

Edit the "<RCC HOME>\bin\rccparams.bat" file to increase the Java Heap size.

For example:

set RCC_INIT_HEAP=1024m
set RCC_MAX_HEAP=4068m

15 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

• Failed to connect to the RCC Master Repository. Verify that the ODI Repository Consistency Checker
environment is up and running

When running the RCC utility, the following message is signaled:

>>> Failed to connect to the RCC Master Repository. Verify that the ODI Repository Consistency
Checker environment is up and running

The above message indicates that the RCC environment is not started. Please thoroughly read and apply the
steps mentioned in section "Use the RCC utility!" above.

• Can not access a member of class oracle.jdbc.driver.OraclePreparedStatementWrapper with modifiers


"public"

When running the RCC utility, the following message is signaled:

java.lang.IllegalAccessException: Class org.python.core.PyReflectedFunction


can not access a member of class oracle.jdbc.driver.OraclePreparedStatementWrapper with
modifiers "public"

According to the Oracle Data Integrator Release Notes available here or at:

https://download.oracle.com/docs/cd/E15985_01/doc.10136/release/ODIRN.pdf

The behavior may be resolved as follows:

- In the ODI installation where RCC has been deployed, create a file named registry in the "/lib/scripting"
directory.

- In this file, insert the following line:

python.security.respectJavaAccessibility=false

• The connection to one of the analyzed Repositories fails with, for example, TNS-12505 or "I/O Exception"
error messages

When running the RCC utility, the connection to one of the analyzed Repositories fails with, for example,
TNS-12505 or "I/O Exception" error messages...

In this case, run the RCC on a machine that definitely has no connection issues with the database/schema
hosting the analyzed Repositories (that doesn't give software abort the connection error), or load the
Repositories to a database running locally on the machine to run RCC.

Also consult the following documents:

Document 423752.1 - 'TNS-12505'or 'I/O Exception' Error Messages Signaled When Launching Processing
With ODI

Document 423902.1 - Best Practices For Network Operational And Security Policies In ODI Configurations

• The connection to the analyzed Repositories fails if the URL refers to a Port setup as **dynamic**

The following message is received when running the RCC utility to analyze ODI Repositories on Microsoft
SQLServer technology, and the SQLServer IP Ports were setup as **dynamic** and not **static**:

Connection Parameters of the Master Repository to be analyzed:


JDBC Driver > com.microsoft.sqlserver.jdbc.SQLServerDriver
JDBC Url > jdbc:sqlserver://<HOST>:<PORT>;selectMethod=cursor;databaseName=<DATABASE
NAME>

16 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

Database User > <USER>


Catalog/Database > <CATALOG NAME>
Schema/Owner/Library > <SCHEMA NAME>

Enter the Password for User '<USER>'


XXXXX

>>> Connecting to the ODI Repository Consistency Checker environment...

>>> Connecting to the Master Repository...

The TCP/IP connection to the host has failed. java.net.ConnectException: Connection


refused: connect

>>> Failed to connect to the ODI Master Repository to be analyzed

Note the connection via ODI Studio to above Repository does function properly.

If the test of host, and port via telnet succeeds, then the RCC would be able to use the same. If a "Could not
open connection to the host" message is received instead, then this is a Network / SqlServer configuration
problem:

For resolving the above, the SQLServer ports must be set as **static** in the Microsoft SQLServer >
Configuration Tools > SQL Server Configuration Manager > SQL Server 2005 Network Configuration > Right Click
TCP/IP > Properties > All.

Following is the default setting of Microsoft SQLServer Ports:

• What to do if the RCC utility has been running for several hours

17 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

◦ Check the last updated timestamp on logs written.

◦ Check any errors on database (on Oracle for example, check the alert log) for Undo or other Tablespace
freespace issues.

◦ Request the DBA to check for locking issues and check user specified during RCC connection parameters is
still connected to database (on Oracle for example, check the v$sesion).

• The execution of "start_diag.bat" fails

The execution of "start_diag.bat" fails, and following alternative messages might be observed in the console
window:

OracleDI: Start the Diagnostic Tools Repository Server...


Exception in thread "Main Thread" java.lang.NoClassDefFoundError: org/hsqldb/Server
Caused by: java.lang.ClassNotFoundException: org.hsqldb.Server
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.hsqldb.Server. Program will exit.

or:

The system cannot find the path specified.


OracleDI: Start the Diagnostic Tools Repository Server...
'org.hsqldb.Server' is not recognized as an internal or external command,
operable program or batch file.

The behavior is due to an incorrect or incomplete installation of the RCC files.

Note both the .zip files downloaded from the present note must be unzipped in a same, common directory
(generally named "diag_tools").

• The .properties configuration file does not contain a valid Master Repository connection

The execution of RCC fails, and following message might be observed in the console window:

> 'myODI.properties' does not contain a valid Master Repository connection

Traceback (innermost last):


File "../bin/ODI_consistency_check.py", line 3206, in ?
File "../bin/ODI_consistency_check.py", line 376, in get_test_case
File "../bin/ODI_consistency_check.py", line 213, in __init__

The behavior is due to the use of an incorrect "myODI.properties" file.

Please do not delete any of the parameters in the .properties file, even if the technology of your Master
Repository does not make any usage of some of the parameters. In this case, simply left them to a blank value.

For example, if the Master Repository is hosted on Oracle, then set the .properties file as follows:

MRepoDriver = oracle.jdbc.driver.OracleDriver
MRepoURL = jdbc:oracle:thin:@<HOST>:<PORT>:<SID>
MRepoUser = <USER>
MRepoCatalog =
MRepoSchema = <USER>

• The RCC on Windows 2008 R2 fails to execute command ([\'sh\', \'-c\', \'rccencode.bat myPassword

18 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

The execution of RCC on Windows 2008 R2 fails, and following message might be observed in the console
window:

Traceback (innermost last):


File "../bin/ODI_consistency_check.py", line 3211, in ?
File "../bin/ODI_consistency_check.py", line 376, in get_test_case
File "../bin/ODI_consistency_check.py", line 235, in __init__
File "../bin/ODI_consistency_check.py", line 346, in encode_password
File "D:\ORACLEDI\diag_tools\bin\..\lib\scripting\Lib\javaos.py",
line 198, in
system
File "D:\ORACLEDI\diag_tools\bin\..\lib\scripting\Lib\javaos.py",
line 224, in
execute
OSError: (0, 'Failed to execute command ([\'sh\', \'-c\', \'rccencode.bat
myPassword > ../logs/diag_RCC_encode.tmp\']): java.io.IOException: Cannot run
program "
sh": CreateProcess error=2, The system cannot find the file specified')
D:\Software\ODI_RCC_Install\diag_tools\bin>

This is due to a defect of Jython version embedded with the RCC, and which doesn’t recognize Windows 2008
R2. For a deeper insight, see:

https://stackoverflow.com/questions/245787/jython-javaos-getenv-gives-failed-to-get-environment-environ-
will-be-empty

Resolved in version 6.0.05 and more recent of the RCC.

• On Unicode Oracle database, the size of CHAR2 and VARCHAR2 columns is four times larger than the
expected

The RCC .log file shows messages such as:

[I n f o] Compared to ODI 11.1.1.7 expected Repository structure,


305 incorrect or missing Table Columns have been found on the analyzed Repository.
For details on these Columns, see "../logs/Diags<YYYYMMDD>
/diag_Master_Incorrect_Table_Columns.log"

and in the related "/logs/Diags<YYYYMMDD>/diag_Master_Incorrect_Table_Columns.log" file, all the CHAR2 and


VARCHAR2 columns are rejected:

SNP_ACTION.LAST_USER must be of datatype VARCHAR2(35,0) null


SNP_ACTION.FIRST_USER must be of datatype VARCHAR2(35,0) null
SNP_ACTION.ACTION_NAME must be of datatype VARCHAR2(35,0) not null
SNP_AGENT.LAST_USER must be of datatype VARCHAR2(35,0) null
SNP_AGENT.IND_CHANGE must be of datatype VARCHAR2(1,0) null
SNP_AGENT.HOST_NAME must be of datatype VARCHAR2(35,0) null
SNP_AGENT.FIRST_USER must be of datatype VARCHAR2(35,0) null
SNP_AGENT.EXT_VERSION must be of datatype VARCHAR2(35,0) null
SNP_AGENT.AGENT_NAME2 must be of datatype VARCHAR2(35,0) null
SNP_AGENT.AGENT_NAME must be of datatype VARCHAR2(35,0) not null
SNP_CONNECT.WS_DEPLOY_MODE must be of datatype VARCHAR2(1,0) null
...

The behavior, as documented in:

Document 423733.1 - Best Practices For Oracle JDBC Drivers To Be Used With ODI

appears to be a defect of the Oracle JDBC driver, and is resolved starting with version 10.2.0.4:

Bug 4485954 - COLUMN_SIZE FROM DBMSMETADATA RETURNS BYTE-LENGTH INSTEAD OF CHAR-


LENGTH

From the RCC utility point of view, either:

19 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

- Ignore the warnings, or

- Use a version 10.2.0.4 (or more recent) of the Oracle JDBC driver.

• Before re-executing the RCC a same day, please ensure all the previously generated .csv files are closed

If a .csv is still open in Microsoft Excel and/or text editor, when the RCC comes to re-create a file with same
name, you would receive the below message, and the file wouldn't be regenerated, hence containing
deprecated/inaccurate data:

>>> DEVWORK - RUN___VERIFY_SNP_TXT failed.


DEVWORK - Verify_SNP_TXT
org.apache.bsf.BSFException: exception from Jython:
Traceback (innermost last):
File "<string>", line 213, in ?
IOError: File not found - ..\logs\Diags<YYYYMMDD>
\diag_<WORKREPO_NAME>_Incorrect_TXT.csv (The process cannot access the file because it
is being
used by another process)
at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
at com.sunopsis.dwg.codeinterpretor.k.a(k.java)

• Error received if running the RCC to prepare an upgrade to ODI 12c, with Repositories on a technology
other then Oracle

Following message would be signaled if running the RCC to prepare an upgrade to ODI 12c, with Repositories on
a technology other then Oracle, and RCC option "2 - I am planning to upgrade to ODI 12.1.2.0" is used:

Error while expanding ..\lib\scripts\05.01.01.16\MOD_MYTECHNOLOGY-Reference


Master.zip\u000d\u000a\u0009at
org.apache.tools.ant.taskdefs.Expand.expandFile(Expand.java:147)\u000d\u000a\u0009at".

This is a referenced limitation of the RCC, which only provides ODI 12.1.2 *reference* structure for Oracle. Only
the three Oracle-related files are present in the RCC "diag_tools\lib\scripts\05.xx.xx.xx" directory.

The goal of this analyze being to validate the structure and data in your actual Repository version, prior to the
upgrade, please work around the behavior by running the RCC with option "1 - I am not preparing any upgrade".

Help us to improve the RCC utility!

Your comments and suggestions are welcome. We will not hesitate to take them into consideration for the
coming versions of the Repository Consistency Checker.

Please be aware that following enhancements will be implemented in version 7.0 of the RCC:

• To prevent the upgrade issue referenced unpublished Bug 13604288 - PROCEDURE OPTION VALUE
OF NULL CORRUPTED DURING UPGRADE FROM 10G...
... the RCC will investigate the Repository table which holds the KM/Procedure option values, and raise
a warning for those records having a NULL value.
(Note the actual versions of RCC only search for NULL values in the SNP_TXT table.)

• Implement a control between Topology changes and KMs/Procs. Even for Models and Datastores.

• The detection of objects internal IDs requiring the creation of Views, the RCC will signal a warning if
the "create view" privilege was not granted.

REFERENCES

Didn't find what you are looking for?

20 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...

21 of 21 10/16/2022, 11:34 AM

You might also like