ODI Resource Configuration
Before you configure the ODI scanner, please make sure you fulfill the prerequisites. Read our guide on ODI integration requirements to double-check.
Filtering
When it is only necessary to extract and analyze certain scenarios, the ODI scanner’s include/exclude mechanism can be used. This mechanism allows users to define which scenarios will be included or excluded when an extraction of the ODI repository
is run. There are two configurable properties that affect this behavior: odi.extractor.extractedScenarios
and odi.extractor.excludedScenarios
. Both of these properties can be set to a comma-separated list of regular expressions.
Extracted scenarios are then precisely those which are included and
not excluded. A scenario is included if its name matches at least one of the regular expressions in odi.extractor.extractedScenarios
. If
odi.extractor.extractedScenarios
is empty, then all scenarios are included. A scenario is excluded if it matches at least one of the regular expressions in odi.extractor.excludedScenarios
. If
odi.extractor.excludedScenarios
is empty, no scenarios are excluded.
For example, if both odi.extractor.extractedScenarios
and
odi.extractor.excludedScenarios
are empty, all scenarios are extracted. If odi.extractor.extractedScenarios
is set to SCEN_.*
and
odi.extractor.excludedScenarios
is set to SCEN_1,SCEN_2,SCEN_3
, then all scenarios with a name starting with SCEN_
are extracted except SCEN_1
, SCEN_2
, and SCEN_3
.
The regular expressions used in these properties are applied to names of scenarios without a version. For example, if you want to exclude scenarios which were extracted into the files SOME_SCENARIO_001.xml
and OTHER_SCENARIO_002.xml
,
you should set
odi.extractor.excludedScenarios
to SOME_SCENARIO,OTHER_SCENARIO
. For the change to take effect, the extraction needs to be rerun or the excluded files need to be deleted manually.
Source System Properties
This configuration can be setup by creating a new connection on Admin UI > Connections tab or editing an existing connection in Admin UI / Connections / Data Integration Tools / ODI / specific connection. New connection can also be created via Manta Orchestration API.
Property name |
Description |
Example |
---|---|---|
odi.extractor.repository |
Name of an ODI repository that will appear in IBM Manta Data Lineage physical repository as identification of this source system. It should also be unique across all technologies, and it is recommended to set this value to match the Connection Name property for easy identification and management. |
template |
odi.extractor.context |
Prior to R40: Name of an ODI context (execution environment) to be extracted and used As of R40: Name of an ODI context (execution environment) to be used during analysis (all contexts are extracted automatically) |
Global |
odi.extractor.driver |
Specific JDBC driver class name for access to your existing ODI repository. This depends on the flavor of database that you use for the ODI repository. In most cases, it is Oracle. See the https://docs.oracle.com/applications/biapps102/etl/GUID-E57BA145-E58B-4750-B0AB-38BE422995B5.htm#BIAET24437 and https://docs.oracle.com/en/cloud/paas/data-integrator-cloud/tutorial-creating-oracle-data-integrator-repository/index.html for more context about ODI repositories. |
oracle.jdbc.OracleDriver |
odi.extractor.url |
JDBC Connection string to the database where the ODI repository is stored. This is dependent on the repository database. In most cases it is Oracle. See the https://docs.oracle.com/en/database/oracle/oracle-database/19/jjdbc/data-sources-and-URLs.html#GUID-C4F2CA86-0F68-400C-95DA-30171C9FB8F0 for more details on the connection string syntax. |
jdbc:oracle:thin:@localhost:1521/pdborcl |
odi.extractor.user |
User for the connection to the ODI repository |
DEV_ODI_REPO |
odi.extractor.password |
Password for the connection to the ODI repository |
password |
odi.extractor.masterRepositorySchema |
Enter a master repository schema (schema containing ODI tables such as SNP_TECHNO) |
odi_repository_master_schema |
odi.extractor.workRepositorySchema |
Enter a work repository schema (schema containing ODI tables such as SNP_SCEN or SNP_PACKAGE) |
odi_repository_work_schema |
odi.extractor.extractedScenarios |
List of scenarios to extract or empty (for all), separated by commas (see the Filtering section above) |
|
odi.extractor.excludedScenarios |
List of scenarios to exclude from extraction or empty, separated by commas (see the Filtering section above) |
|
odi.extractor.ssl.truststorePath |
Path to the truststore containing the ODI server certificate for encrypted exchange or the CA-signed certificate (as of R38 up to R38.1). See Scanner HTTPS Configuration. (As of R40, the truststore configuration has been moved to Common CLI Configuration.) JKS and PKCS12 formats are supported. This must be used in conjunction with proper configuration of the connection string (odi.extractor.url property), namely with:
See https://blogs.oracle.com/developers/post/ssl-connection-to-oracle-db-using-jdbc-tlsv12-jks-or-oracle-wallets-122-and-lower for details on configuring the JDBC connection using the connection string. |
${manta.dir.scenario}/conf/mantaConnectorsTruststore.pkcs12 |
odi.extractor.ssl.truststorePassword |
Password for the truststore at odi.extractor.ssl.truststorePath (as of R38 up to R38.1; as of R39, the truststore configuration has been moved to Common CLI Configuration) |
mantaConnectorsTruststore |
odi.input.encoding |
Encoding of extracted ODI exports. See Encodings for applicable values. |
UTF-8 |
Common Scanner Properties
This configuration is common for all ODI source systems and for all ODI scenarios, and is configure in Admin UI / Configuration / CLI / ODI / ODI Common. It can be overridden on individual connection level.
Property name |
Description |
Example |
---|---|---|
odi.input.dir |
Directory with ODI scenario exports (for the analysis phase); this must contain non-compiled smart exports of mappings/packages to be scanned |
${manta.dir.temp}/odi/${odi.extractor.repository} |
odi.technologies.dir |
Directory with ODI execution environment exports; only technology exports are needed and file names must begin with TECH |
${manta.dir.temp}/odi/${odi.extractor.repository}/technologies |
odi.connection.definition.manual.file |
Path to the manual connection definition settings file |
${manta.dir.input}/odi/${odi.extractor.repository}/odiConnectionDefinition.ini |
odi.connection.definition.manual.encoding |
Encoding of the manual connection definition settings file. See Encodings for applicable values. |
UTF-8 |
As of Manta Flow R40: odi.variable.override.file |
Path to the variable override file |
${manta.dir.input}/odi/${odi.extractor.repository}/variableOverride.ini |
As of Manta Flow R40: odi.variable.override.encoding |
Encoding of the variable override file. See Encodings for applicable values. |
UTF-8 |
As of Manta Flow R40: odi.expression.override.file |
Path to the expression override file |
${manta.dir.input}/odi/${odi.extractor.repository}/expressionOverride.ini |
As of Manta Flow R40: odi.expression.override.encoding |
Encoding of the expression override file. See Encodings for applicable values. |
UTF-8 |
filepath.lowercase |
Whether paths to files should be lowercase (false for case sensitive file systems, true otherwise) |
true |