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
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:
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:
(*) The maintenance of RCC utility to assess the status of ODI 12.1.3 Repositories has been discontinued.
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).
• 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:
Derby No No Yes
2 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...
PostrgreSQL No No 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 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.
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...
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.
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.
◦ Validate the Objects IDs sequence values and identify broken sequences presenting a risk of
potential data corruption (SNP_ENT_ID/SNP_ID)
◦ Signal the orphaned and damaged Text data in an Execution Work Repository (SNP_EXP_TXT,
and SNP_EXP_TXT_HEADER).
◦ Signal the Integration Interfaces that would show an inconsistency message when edited in the
ODI Designer.
◦ 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...
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.
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
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.
More precisely, for each of the analyzed Repositories, you will find:
◦ 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.
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:
or:
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.
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:
From the four types above, the "duplicate records" error requires immediate resolution, as it may be
accompanied by Primary Key violations and data corruptions.
Note that such problems are more likely to occur on Microsoft SQLServer technology. Please see:
5. When running the analysis of the Repository data, and RCC signals corrupted execution-related
messages (SNP_EXP_TXT, and SNP_EXP_TXT_HEADER).
13 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...
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:
6. When running the analysis of the Repository data, and RCC signals inconsistent and erroneous
Integration Interfaces.
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:
7. When running the analysis of the Repository data, and RCC signals interactions between design
objects.
This type of issue is not blocking, and will not impact your executions.
Generally speaking, always contact the Oracle Support when the RCC .log file shows the following message:
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 ZIP of the Repository Consistency Checker output, log, and data files hold in:
• 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.
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.
diag_tools/bin/start_diag.bat
diag_tools/bin/stop_diag.bat
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
>>> 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.
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
- In the ODI installation where RCC has been deployed, create a file named registry in the "/lib/scripting"
directory.
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.
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**:
16 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...
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.
• 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 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, and following alternative messages might be observed in the console
window:
or:
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:
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:
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
• On Unicode Oracle database, the size of CHAR2 and VARCHAR2 columns is four times larger than the
expected
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:
19 of 21 10/16/2022, 11:34 AM
Document 1058107.1 https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-sta...
- 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:
• 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:
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".
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
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