ODI – Import(ANT) Modes

Oracle introduce in Data Integrator 12c an spectacular way to avoid object duplication (10g/11g users will bad remember)

With “Global ID”, ODI repository will generate special HASH to each object created on the repository (sometimes it will be updated).

This internal ID should be available on “Version” tab as below:important_modes

So, why this global id makes sense?

According oracle docs, “read carefully this section in order to determine the import mode you need.”

Changing ODI import modes, will be able to import/customize duplicated objects, generated by devops scripts.

Let’s understand the Import Modes:

Import Mode Description
Duplication This mode creates a new object (with a new internal ID) in the target Repository, and inserts all the elements of the export file. The ID of this new object will be based on the ID of the Repository in which it is to be created (the target Repository).Dependencies between objects which are included into the export such as parent/child relationships are recalculated to match the new parent IDs. References to objects which are not included into the export are not recalculated.

Note that this mode is designed to insert only ‘new’ elements.

The Duplication mode is used to duplicate an object into the target repository. To transfer objects from one repository to another, with the possibility to ship new versions of these objects, or to make updates, it is better to use the three Synonym modes.

This import mode is not available for importing master repositories. Creating a new master repository using the export of an existing one is performed using the master repository Import wizard.

Synonym Mode INSERT Tries to insert the same object (with the same internal ID) into the target repository. The original object ID is preserved.If an object of the same type with the same internal ID already exists then nothing is inserted.

Dependencies between objects which are included into the export such as parent/child relationships are preserved. References to objects which are not included into the export are not recalculated.

If any of the incoming attributes violates any referential constraints, the import operation is aborted and an error message is thrown.

Synonym Mode UPDATE Tries to modify the same object (with the same internal ID) in the repository.This import mode updates the objects already existing in the target Repository with the content of the export file.

If the object does not exist, the object is not imported.

Note that this mode is able to delete information in the target object if this information does not exist in the export file.

This import mode does NOT create objects that do not exist in the target. It only updates existing objects. For example, if the target repository contains a project with no variables and you want to replace it with one that contains variables, this mode will update the project name for example but will not create the variables under this project. The Synonym Mode INSERT_UPDATE should be used for this purpose.

Synonym Mode INSERT_UPDATE If no ODI object exists in the target Repository with an identical ID, this import mode will create a new object with the content of the export file. Already existing objects (with an identical ID) will be updated; the new ones, inserted.Existing child objects will be updated, non-existing child objects will be inserted, and child objects existing in the repository but not in the export file will be deleted.

Dependencies between objects which are included into the export such as parent/child relationships are preserved. References to objects which are not included into the export are not recalculated.

This import mode is not recommended when the export was done without the child components. This will delete all sub-components of the existing object.

Import Replace This import mode replaces an already existing object in the target repository by one object of the same object type specified in the import file.This import mode is only supported for scenarios, Knowledge Modules, actions, and action groups and replaces all children objects with the children objects from the imported object.

Note the following when using the Import Replace mode:

If your object was currently used by another ODI component like for example a KM used by an integration interface, this relationship will not be impacted by the import, the interfaces will automatically use this new KM in the project.

Warnings:

  • When replacing a Knowledge module by another one, Oracle Data Integrator sets the options in the new module using option name matching with the old module’s options. New options are set to the default value. It is advised to check the values of these options in the interfaces.
  • Replacing a KM by another one may lead to issues if the KMs are radically different. It is advised to check the interface’s design and execution with the new KM.

Se you!
Maiquel.

One comment

  1. Nice post Maiquel, but I have a question… If I understood right it applies to temporary tables created during the processes, right?
    In this regarding, what happens when a process finishes ungracefully? You might remember that, for older versions (10, 11), when it happens the tables are not deleted and may cause a fail in next execution… Is there any process to cleanup those ‘trash’ tables? Or the only way is the old fashioned “go to database and make a drop table”?
    In case my assumption be wrong, please disregard. 🙂

    Congrats for the post!
    All the best.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.