24 Exporting and Importing

This chapter describes how to manage export and import operations in Oracle Data Integrator. An introduction to the import and export concepts is provided.

This chapter includes the following sections:

Import and Export Concepts

This section introduces you to the fundamental concepts of export and import operations in Oracle Data Integrator.

All export and import operations require a clear understanding of the concepts introduced in this section:

Global Identifiers (GUIDs)

Oracle Data Integrator 12c introduces the use of globally-unique object identifiers. Unlike previous versions of ODI, in ODI 12c, object uniqueness across multiple work repositories is guaranteed by assigning GUIDs to all objects. In order to provide backward compatibility, Internal Identifiers are still available; however, they are only maintained across repositories when using ODI in 11g compatibility mode.

For more information about 11g compatibility mode, see: Using Compatibility Mode.

When creating an ODI entity, a GUID is automatically assigned to the object using the Java random UUID implementation. The only exception is when importing export files from releases previous to 12c. In order to ensure that ODI 11g objects when imported have reproducible, universally unique IDs, a Global Upgrade Key is required during the repository upgrade process. The upgrade key allows ODI to consistently calculate the same GUID for an 11g object. This key identifies uniquely the set of repositories that were working together before an upgrade. An "Import Upgrade Key" must be specified when importing a pre-12c export file. This import upgrade key may be the same as the Global Upgrade Key (it usually should be), but is not required to be the same.

For more information, see the Selecting the ODI Upgrade Key section in Upgrading Oracle Data Integrator guide.

Export Keys

Oracle Data Integrator 12c (12.1.3) introduces the use of an Export Key whenever exporting ODI objects which could contain sensitive data which should not be stored in plaintext. All ODI export dialogues will prompt you to enter an Export Key, which is used to encrypt sensitive (cipher) data using AES symmetric block two-way encryption. If you choose not to supply an Export Key, sensitive data will be stripped from the export file as it is saved.

The AES KEY for any sensitive data encryption needed during the export must be at least 8 characters and no more than 100 characters long. It should have at least one special character (@#$%+/=) or digit, and at least one alphabetic lower or upper case character.

Dialogues which prompt for an Export Key also provide an option to "Save export key." If you select this prompt, ODI will remember (but never display) the Export Key you have just used, by saving it (obfuscated) in the current repository. This may be convenient when you want to use the same key for many subsequent export operations. As soon as you start typing new content into the Export Key field, however, this option is automatically deselected and any previously-remembered Export Key is lost, unless you cancel the export.

When importing objects, ODI presents a dialogue prompting you to either enter an Export Key, or import the file without cipher data. You must provide the identical Export Key that was used when the object was exported, or, you can opt to import the file without any sensitive data that is encrypted in the file.

When performing an import of multiple files, you will be prompted as needed for Export Keys for each file if they were exported with different Export Keys.

By default, ODI uses AES-128 encryption. You can select AES-128 or AES-256 (where available) during master repository creation/import, and you can specify the version used by ODI Studio in the odi.conf file.

Relationships between Objects

Oracle Data Integrator stores all objects in a relational database schema (the Repository) with dependencies between objects. Repository tables that store these objects maintain these dependencies as references using the Internal IDs and GUIDs. When you drag and drop a target datastore into a mapping, the reference to the GUID of this datastore is stored in the mapping object, along with the Internal ID and the fully-qualified name of the referenced object.

If you want to export this mapping, and import it in Synonym mode into another work repository, a datastore with the same GUID must already exist in this other work repository; otherwise, the mapping will have an unresolved reference. The unresolved references can be resolved either by fixing the imported object directly or by importing the missing object.

Therefore, the Model or Sub-model holding this datastore needs to be exported and imported in Synonym mode prior to importing the mapping.

You can use the Smart export and import feature or solutions to export and import sets of dependent objects.

  • Use solutions in combination with versioning to maintain the dependencies when doing export/import. See Using Version Control (Legacy Mode).

  • It is recommended to use the Smart export and import feature because the dependencies are determined automatically.

There are also dependencies between work repository objects and master repository objects. Most references from work repository objects to master repository objects are made using Codes or Names. This means that only the Code of the objects (for example ORACLE is the code of the Oracle technology in the master) of the master repository objects are referenced in the work repository. There are some exceptions in the Mapping framework, such as in SnpMapRef, that also use Internal ID and GUID.

Dependencies within a work repository are ID-based.

It is important to import objects in the appropriate order. You can also use the Smart export and import feature to preserve these dependencies. Table 24-1 lists the dependencies of a mapping to other objects when importing the mapping in synonym mode. Note that a Smart export automatically includes these dependent objects when exporting a mapping.

Table 24-1 Dependencies of a mapping in the work and Master Repository

Dependencies on other objects of Work Repository when importing in Synonym Mode Dependencies on objects of the Master Repository
  • (Parent/Child) Folder: Folder holding this mapping needs to be imported first.

  • (Reference) Model/Sub-Model: all Models/Sub-Models holding Datastore definitions referenced by the mapping need to be imported first. Datastore definitions including Attributes, Data Types, Primary Keys, Foreign Keys (references), Conditions must be exactly the same as the ones used by the exported mapping

  • (Reference) Global Variables, Sequences and Functions used within the mapping need to imported first

  • (Reference) Local Variables, Sequences and Function used within the mapping need to imported first

  • (Reference) Knowledge Modules referenced within the mapping need to be imported first

  • (Reference) Any mapping used as source in the current mapping needs to be imported first

  • Technology Codes

  • Context Codes

  • Logical Schema Names

  • Data Type Codes

  • Physical Server Names of the Optimization Contexts of Mappings

Import Modes

Oracle Data Integrator can import objects, the topology or repositories using several modes.

Read carefully this section in order to determine the import type you need.

Table 24-2 Import Types

Import Type Description

Duplication

This mode creates a new object (with a new GUID and internal ID) in the target Repository, and inserts all the elements of the export file.

In Repositories in legacy compatible mode, 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). This does not apply to normal 12c Repositories.

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 type 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 GUID) into the target repository. The original object GUID 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.

Note that sessions can only be imported in this mode.

Synonym Mode UPDATE

Tries to modify the same object (with the same GUID) in the repository.

This import type 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. This applies to child objects also. So if new child objects are added in the source, and the parent object is exported and imported into the target using Synonym Mode UPDATE, then the new child objects will not be added in the target.

Note that this import type does NOT delete child objects that exist in the repository but are not in the export file. For example, if the target repository contains a project with some variables and you want to replace it with one that contains no variables, this mode will update for example the project name but will not delete the variables under this project. The Synonym Mode INSERT_UPDATE should be used for this purpose.

Example 1

Example 1: (Scenario for a package)

The same scenario exists in the source and target repositories.

Source Repository:

SCENARIO_1 (096bb382-5413-442f-97c5-aedbc3aa8caf)

- ODIBEEP_SCEN_STEP_1 (579c3271-ab52-45e8-bad2-826d9ba3c056)

- ODIBEEP_SCEN_TASK_1 (4a0e1924-dfbc-49e6-a91b-e7fe8698de42)

Target Repository:

SCENARIO_1 (096bb382-5413-442f-97c5-aedbc3aa8caf)

- ODIBEEP_SCEN_STEP_1 (579c3271-ab52-45e8-bad2-826d9ba3c056)

- ODIBEEP_SCEN_TASK_1 (4a0e1924-dfbc-49e6-a91b-e7fe8698de42)

In the source repository, another step is added to the package and the scenario is regenerated.

Source Repository:

SCENARIO_1 (096bb382-5413-442f-97c5-aedbc3aa8caf)

- ODIBEEP_SCEN_STEP_1 (26da9aa1-f213-4c38-964e-5ea0d5c3d744)

Note: A new GUID is assigned by regeneration.

- ODIBEEP_SCEN_TASK_1 (a3621fa7-ebb5-46ed-928d-3f4bafcf47a3)

Note: A new GUID is assigned by regeneration.

- ODIDELETESCEN_SCEN_STEP_2 (5c356613-ea73-4b39-8269-890af79c944c)

- ODIDELETESCEN_SCEN_TASK_2 (6d2fbb37-4498-40aa-80f6-829a86c8d70a)

Result if source exported and imported into target using Synonym Mode UPDATE.

SCENARIO_1 (096bb382-5413-442f-97c5-aedbc3aa8caf)

- ODIBEEP_SCEN_STEP_1 (579c3271-ab52-45e8-bad2-826d9ba3c056)

- ODIBEEP_SCEN_TASK_1 (4a0e1924-dfbc-49e6-a91b-e7fe8698de42)

The existing step and task are not updated since they were assigned a new global id during scenario regeneration. The new steps and tasks are not added since new objects are not inserted when using Synonym Mode UPDATE. So we can see that when adding steps / tasks and regenerating a scenario, that using Synonym Mode UPDATE to import into the target will not give desirable results. Due to the nature of Scenarios, Synonym Mode INSERT_UPDATE should be used to move Scenarios between repositories.

Example 2

Example 2:

Source Repository:

TABLE_1 (863b3cc1-3a3c-4011-b3bc-0ce236e41f22)

- COL_1_RENAMED (210a73ef-4919-4eab-9e39-a3153300f8b0)

- COL_NEW (0cca9009-cb11-4e4d-892e-01014b0a1592)

Target Repository:

TABLE_1 (863b3cc1-3a3c-4011-b3bc-0ce236e41f22)

- COL_1 (210a73ef-4919-4eab-9e39-a3153300f8b0)

- COL_DEL (0cca9009-cb11-4e4d-892e-01014b0a1592)

Result if source is exported and imported into the target using Synonym Mode UPDATE:

TABLE_1 (863b3cc1-3a3c-4011-b3bc-0ce236e41f22)

- COL_1_RENAMED (210a73ef-4919-4eab-9e39-a3153300f8b0)

- COL_DEL (0cca9009-cb11-4e4d-892e-01014b0a1592)

Note the following:

  • COL_1 is updated to COL_1_RENAMED.

  • COL_DEL remains as it was before the import as objects are not deleted when using Synonym Mode Update.

  • COL_NEW is not added as new objects are not inserted when using Synonym Mode Update.

Synonym Mode INSERT_UPDATE

If no ODI object exists in the target Repository with an identical GUID, this import type will create a new object with the content of the export file. Already existing objects (with an identical GUID) 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 type 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 type replaces an already existing object in the target repository by one object of the same object type specified in the import file.

This import type 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 a mapping, this relationship will not be impacted by the import, the mappings 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 mappings.

  • Replacing a KM by another one may lead to issues if the KMs are radically different. It is advised to check the mapping's design and execution with the new KM.

Tips for Import/Export

This section provides tips for the import and export operations.

Repository IDs

When importing ODI 11g objects, use an Upgrade Key to compute a GUID that is based on the legacy Internal ID. When importing from ODI Studio, an Upgrade Key is prompted for when the import is started and it is determined that the import file is from before 12c. When import is not interactive (that is, run from a command line), then an error is thrown if the import needs an Upgrade Key and one has not been specified. For more information, see Using Compatibility Mode.

When importing, objects are matched by GUID. If a match is found, then that object will use the Internal ID of the matching object from the target repository. If a match is not found, then the behavior is as follows:

  • If the target repository is not legacy ID compatible, then a new ID is assigned.

  • If the target repository is legacy ID compatible, then the ID of the source object from the import file is used.

  • If the import is in DUPLICATION mode, then a new Internal ID is always assigned.

Export/Import Reports

A report is displayed after every export or import operation. It is advised to read it carefully in order to determine eventual errors of the import process.

Depending on the export or import operation performed, this report gives you details on, for example, the:

  • Import type

  • Imported Objects. For every imported object the object type, the original object name, the object name used for the import, the original ID, and the new, recalculated ID/GUID after the import is given.

  • Deleted Objects. For every deleted object the object type, the object name, and the original ID/GUID is given.

  • Created Missing References lists the missing references detected after the import.

  • Fixed Missing References lists the missing references fixed during the import.

  • Default sub-models that are created for every model that you create, can be viewed in Import Summary Report.

The reports displayed after a smart export or smart import operation contain additional details to describe what happened to the objects during the export or import, for example which objects have been ignored, merged, overwritten and so forth.

You can save the import report as an.xml or .html file. Click Save... to save the import report.

Note:

For every model that you create in ODI, a default sub-model is created. You cannot view this sub-model as it is not visible in the tree node of the designer tab, but you can view it in the Import Summary Report and Add ODI objects to VCS(Git/SVN) window.

Missing References

In order to avoid missing references, use either the Smart Export and Import feature or solutions to manage dependencies. For more information, see Smart Export and Importand Working with Labels.

Import Type

Choose the import type carefully. See Import Modesfor more information.

Exporting and Importing Objects

Exporting and importing Oracle Data Integrator objects means transferring objects between different repositories.

When exporting an Oracle Data Integrator object, an XML export file is created. ODI objects have dependencies, as described in Relationships between Objects. These dependencies will be exported in the XML export file.

The content of this XML file will depend on the export method you will use:

The choice will depend on your goal, if you need to do a partial export then the Export Without Child Components is the one to use.

The Export Multiple ODI Objects feature is useful when you need to regularly export the same set of Objects.

Once the export has been performed, it is very important to choose the import strategy to suite your requirements.

The Smart Export and Import feature is a lightweight and consistent export and import mechanism. It supports the export and import of one or multiple ODI objects. It is recommended to use this feature to avoid most of the common issues that are encountered during an export or import.

This section contains the following topics:

Exporting an Object with its Child Components

This option is the most common when you want to export an object. It allows you to export all subcomponents of the current object along with the object itself.

When an Object is exported with its child components, all container-dependent Objects – those which possess a direct parent/child relationship - are also exported. Referenced Objects are not exported.

For example, when you choose to export a Project with its child components, the export will contain the Project definition as well as all objects included in the Project, such as Folders, Mappings, Procedures, Packages, Knowledge Modules, Variables, Sequences, Functions, etc. However, this export will not contain dependent objects referenced which are outside of the Project itself, such as Datastores and Attributes, as defined previously in Relationships between Objects. The numeric Internal ID references of these Objects will be exported. Additionally, the GUID of the referenced object is also exported, using a special SnpFKXRef object in the export file.

Exporting an Object without its Child Components

This option can be useful in some particular situations where you would want to take control of the import process. It allows you to export only the top-level definition of an object without any of its sub-objects.

For example, if you choose to export a Model without its children, it will only contain the Model definition but not the underlying Sub-models and Datastores when you import this model to a new repository.

Partial Export/Import

If you have a very large project that contains thousands of mappings and you only want to export a subset of these to another work repository, you can either export the entire Project and then import it, or choose to do a partial manual export/import as follows:

  1. Export all Models referenced by the sub-items of your project and import them in Synonym mode in the new repository to preserve their GUIDs
  2. Export the Project without its children and import it in Synonym mode. This will simply create the empty Project in the new repository (with the same GUIDs as in the source).
  3. Export every first level Folder you want, without its children, and import them in Synonym mode. The empty Folders will be created in the new repository.
  4. Export and Import all Markers, Knowledge Modules, Variables, Sequences, and so forth that are referenced by every object you plan to export, and import them in Synonym mode. See Import Modesfor more information on the Synonym or Duplication mode and the impact on Object GUIDs and Internal IDs for special caution regarding the import of Knowledge Modules in Synonym mode.
  5. Finally, export the mappings you are interested in and import them in Synonym mode in the new repository.

Exporting one ODI Object

Exporting one Oracle Data Integrator Object means export one single ODI object in order to transfer it from one repository to another.

To export an object from Oracle Data Integrator:

  1. Select the object to be exported in the appropriate Oracle Data Integrator Navigator.
  2. Right-click the object, and select Export...

    If this menu item does not appear, then this type of object does not have the export feature.

  3. In the Export dialog, set the Export parameters as indicated in Table 24-3.

    Table 24-3 Object Export Parameters

    Properties Description

    Export Directory

    Directory in which the export file will be created.

    Export Name

    Name given to the export

    Child Components Export

    If this option is checked, the objects linked to the object to be exported will be also exported. These objects are those visible under the exported object in the tree. It is recommended to leave this option checked. Refer to Exporting an Object with its Child Componentsfor more details.

    Note that when you are exporting a Load Plan, scenarios will not be exported even if you check this option.

    Replace exiting files without warning

    If this option is checked, the existing file will be replaced by the ones of the export. If a file with the same name as the export file already exists, it will be overwritten by the export file.

    Encryption

    These fields allow you to provide an Export Key, used to encrypt any sensitive data that is contained in the exported object. See:Export Keys for details.

    Export Key

    Specifies the AES KEY for any sensitive data encryption needed during the export.

    The export key string is minimum 8 characters long and maximum 100 characters long. It should have at least one special character (@#$%+/=) or digit, and at least one alphabetic lower or upper case character.

    Confirm Export Key

    Enter your Export Key again.

    Save Export Key

    If checked, your Export Key is saved for all future exports.

    Advanced options

    This set of options allow to parameterize the XML output file format. It is recommended that you leave the default values.

    XML Version

    XML Version specified in the export file. Parameter .xml version in the XML file header.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    Character Set

    Encoding specified in the export file. Parameter encoding in the XML file header.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    Java Character Set

    Java character set used to generate the file

    You must at least specify the Export Name.

  4. Click OK.

The object is exported as an XML file in the specified location.

Export Multiple ODI Objects

You can export one or more objects at once, using the Export Multiple Objects action. This lets yo export ODI objects to a zip file or a directory, and lets you re-use an existing list of objects to export.

More powerful mechanisms for doing this are Solutions and also the Smart Export and Import. For more information, see Working with Labelsor Smart Export and Import.

To export multiple objects at once:

  1. Select Export... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Export Selection dialog, select Export Multiple Objects.

  3. Click OK.

  4. In the Export Multiple Objects dialog, specify the export parameters as indicated in Table 24-3.

    The objects are either exported as .xml files directly into the directory, or as a zip file containing .xml files. If you want to generate a zip file, you need to select Export as zip file and enter the name of the zip file in the Zip file name field.

  5. Specify the list of objects to export:

    1. Drag and drop the objects from the Oracle Data Integrator Navigators into the Export list. Note that you can export objects from different Navigators at once.

    2. Click Load a list of objects... to load a previously saved list of objects. This is useful if you regularly export the same list of objects.

    3. To save the current list of objects, click Save Export List and specify a file name. If the file already exists, it will be overwritten without any warning.

  6. Click OK to start the export.

To import multiple objects at once, you must use a Label or the Smart Import. See Working with Labelsand Smart Export and Importfor more information.

Importing Objects

Importing and exporting allows you to transfer objects (Mappings, Knowledge Modules, Models, and so on) from one repository to another.

When importing Knowledge Modules choose carefully your import strategy which may depend on the knowledge module's scope. See Project and Global Knowledge Modulesfor more information.

This section includes the following topics:

Importing an ODI object

To import an object in Oracle Data Integrator:

  1. In the Navigator, select the object or object node under which you want to import the object.

  2. Right-click the object, and select Import, then the type of the object you wish to import.

  3. In the Import dialog:

    1. Select the Import Type. See Import Modesfor more information.

    2. Enter the File Import Directory.

    3. Select the file(s) to import from the list.

  4. Click OK.

The XML-formatted files are imported into the work repository, and the imported objects appear in the Oracle Data Integrator Navigators.

Note that the parent or node under which objects are imported is dependent on the import type used. When using DUPLICATION mode, the objects will be imported into where the Import option was selected. For Synonym imports, the objects will be imported under the parent specified by the objects parent ID in the import file.

Importing an ODI object in case of GUID conflict

Currently, scenario deletion and ODI object deletion are not detected in patch deployment archives created from VCS or from ODI. This causes issues where developers have deleted objects and patch deployment archives cannot be imported if an object with the same name has been created. In order to resolve this issue, there is an option to provide a new flag when importing the deployment archive (DA). If set, the flag allows users to specify to "overwrite" any existing objects that have the same name but not the same GUID with the new name and GUID. To enable this flag, create a file "ffdefinition.json" in the following location: (ODI Install)\odi\common\odi-ff\ON-PREM\ffdefinition.json. The contents of the "ffdefinition.json" file should be as follows:

{
   "ODI" : [
      {
         "Enabled" : true,
         "FeatureName" : "import-overwrite-guid-conflict"
      }
    ]
}

Importing 11g Objects into a 12c Environment

Any versionable 11gobject can be imported into a 12c ODI environment.

The following objects can be checked in as versions and can be imported:

  • Project, Folder

  • Package, Scenario

  • Interface, Procedure, Knowledge Module

  • Sequence, User Function, Variable

  • Model, Model Folder

  • Label

  • Load Plan

When importing objects, you must define an Upgrade Key. ODI uses this key to generate a unique GUID for the objects.

Note:

11g interfaces can only be imported into a 12c repository in either SYNONYM INSERT mode or DUPLICATION mode. That is because of the complex transformation taking place when interfaces are converted into mappings.

See Also:

For more information, see the Selecting the ODI Upgrade Key section in Upgrading Oracle Data Integrator guide.

Importing a Project KM

To import a Knowledge Module into an Oracle Data Integrator project:

  1. In Designer Navigator, select the project into which you want to import the KM.

  2. Right-click the project, and select Import > Import Knowledge Modules....

  3. In the Import dialog:

    1. The Import Type is set to Duplication. Refer to Import Modesfor more information.

    2. Enter the File Import Directory.

    3. Select the Knowledge Module file(s) to import from the list.

  4. Click OK.

The Knowledge Modules are imported into the work repository and appear in your project under the Knowledge Modules node.

Importing a KM in Replace Mode

Knowledge modules are usually imported into new projects in Duplication mode. See Import Modesfor more information.

When you want to replace a global KM or a KM in a project by another one and have all mappings automatically use the new KM, you must use the Import Replace mode. See Import Modesfor more information.

To import a Knowledge Module in Replace mode:

  1. Select the Knowledge Module you wish to replace.

  2. Right-click the Knowledge Module and select Import Replace...

  3. In the Replace Object dialog, specify the Knowledge Module export file.

  4. Click OK.

The Knowledge Module is now replaced by the new one.

WARNING:

Replacing a Knowledge module by another one in Oracle Data Integrator sets the options in the new module using the option name similarities 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 mappings as well as the mappings' design and execution with the new KM.

Refer to the Import Replace mode description in Import Modesfor more information.

Importing a Global Knowledge Module

To import a global knowledge module in Oracle Data Integrator:

  1. In the Navigator, select the Global Knowledge Modules node in the Global Objects accordion.

  2. Right-click and select Import Knowledge Modules.

  3. In the Import dialog:

    1. Select the Import Type. See Import Modesfor more information.

    2. Enter the File Import Directory.

    3. Select the file(s) to import from the list.

  4. Click OK.

  5. If prompted, enter the Export Key used when this object was exported. If you do not enter an Export Key, any encrypted sensitive (cipher) data will be stripped from the imported object. For more information about the Export Key, see: Export Keys.

The global KM is now available in all your projects.

Smart Export and Import

It is recommended to use the Smart Export and Import feature to avoid most of the common issues that are encountered during an export or import such as broken links or ID conflicts. The Smart Export and Import feature is a lightweight and consistent export and import mechanism providing several smart features.

The Smart Export automatically exports an object with all its object dependencies. It is particularly useful when you want to move a consistent lightweight set of objects from one repository to another and when you want to include only a set of modified objects, for example in a patching use case, because Oracle Data Integrator manages all object dependencies automatically while creating a consistent sub-set of the repository.

The Smart Import provides:

  • Automatic and customizable object matching rules between the objects to import and the objects already present in the repository

  • A set of actions that can be applied to the object to import when a matching object has been found in the repository

  • Proactive issue detection and resolution that suggests a default working label for every broken link or conflict detected during the Smart Import

Performing a Smart Export

To perform a Smart Export:

  1. Select Export... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Export Selection dialog, select Smart Export.

    Note:

    This option is only available if you are connected to a Work repository.

  3. Click OK.

  4. In the Smart Export dialog, specify the export parameters as follows:

    • In the Export Name field, enter the name given to the export (mandatory). Default is SmartExport.xml.

    • The objects are either exported into a single .xml file directly in the directory, or as a zip file containing a single .xml file. If you want to generate a zip file, you need to select Export as zip file and enter the name of the zip file in the Zip file name field.

    • Optionally, enter an Export key used to encrypt sensitive data. For more information about the Export Key, see: Export Keys.

    • Optionally, customize the XML output file format in the Encoding Options section. It is recommended that you leave the default values.

      Properties Description

      XML Character Set

      Encoding specified in the export file. Parameter encoding in the XML file header.

      <?xml version="1.0" encoding="ISO-8859-1"?>

      Java Character Set

      Java character set used to generate the file

    • In the Dependencies section, drag and drop the objects you want to add to the Smart Export from the Oracle Data Integrator Navigators into the Selected Objects list on the left. Note that you can export objects from different Navigators at once.

      The object to export appears in a tree with all its related parent and child objects that are required to support.

      Repeat this step according to your needs.

      Note:

      • If your export contains shortcuts, you will be asked if you want to materialize the shortcuts. If you select No, both the shortcuts and the base objects will be exported.

      • A bold object name indicates that this object has been specifically added to the Smart Export. Only objects that appear in bold can be removed. Removing an object also removes its child objects and the dependent objects of the removed object. Note that child objects of a specifically added object also appear in bold and can be removed. To remove an object from the export tree, right-click the object and select Remove Object. If the removed object is dependent of another object, it will remain in the tree but will be shown in normal (non-bold) typeface.

      • A grayed out object name indicates that this object is an dependent object that will not be exported, as for example a technology.

    • Optionally, modify the list of objects to export. You can perform the following actions: Remove one object, remove all objects, add objects by release tag, and add shortcuts. See Change the List of Objects to Exportfor more information.

    • If there are any cross reference objects, including shortcuts, they are displayed in the Dependencies list on the right. Parent objects will not be shown under the Uses node and child objects will not be shown under Used By node.

  5. Click Export to start the export process.

The Smart export generates a single file containing all the objects of the Selected Objects list. You can use this export file as the input file for the Smart Import. See Performing a Smart Importfor more information.

You can review the results of the Smart Export in the Smart Export report.

The Smart Export Toolbar

The Smart Export toolbar provides tools for managing the objects to export and for viewing dependencies. Table 24-4 details the different toolbar components.

Table 24-4 Smart Export Toolbar

Icon Name Description
Search box icon

Search

Searches for a object in the Selected Objects or Dependencies list.

Expand All icon

Expand All

Expands all tree nodes in the Selected Objects or Dependencies list.

Collapse All

Collapse All

Collapses all tree nodes in the Selected Objects or Dependencies list.

Clear All icon

Clear All

Deletes all objects from the list. Warning: This also deletes Release Tags and Materialization selections.

Add Objects by Release Tag icon

Add Objects by Release Tag

Adds all objects that have the same release tag as the object already in the Selected Objects list.

Change the List of Objects to Export

You can perform the following actions to change the list of objects to export:

  • Remove one object from the list

    Only objects that have been explicitly added to the Smart Export (objects in bold) can be removed from the Selected Objects list.

    To remove one object:

    1. In the Selected Objects list, select the object you wish to remove.

    2. Right-click and select Remove Object.

    The object and its dependencies are removed from the Selected Objects list and will not be included in the Smart Export.

    Note:

    If the object you wish to remove is a dependent object of another object to export, it remains in the list but becomes un-bold.

  • Remove all objects from the list

    To delete all objects from the Selected Objects list, select Clear All in the Smart Export Toolbar.

    Caution:

    This also deletes Release Tags and Materialization selections.

  • Add objects by release tag

    To add a folder or model folder of a certain release:

    1. Select Add Objects by Release Tag in the Smart Export Toolbar.

      This opens the Release Tag Selection dialog.

    2. In the Release Tag Selection dialog, select a release tag from the Release Tag list. All objects of this release tag will be added to the Smart Export. You don't need to add them individually to the Smart Export.

      The Release Tag Selection dialog displays the list of release tags that have been already added to the Smart Export.

    3. Click OK to add the objects of the selected release tag to the Smart Export.

    The release tag name is displayed in the Selected object list after the object name.

    Note:

    When you add a folder or model folder to the Selected Objects list that has a release tag, you can choose to automatically add all objects of the given release to the Smart Export by clicking OK in the Confirmation dialog.

  • Add shortcuts

    If you add shortcuts to the Smart Export, you can choose to materialize the shortcut. If you choose not to materialize a shortcut added to the Smart Export, then the shortcut is exported with all its dependent objects, including the base object. If you choose to materialize the shortcut, the shortcut is materialized and the base object referenced through the shortcut is not included.

Performing a Smart Import

Note:

When performing a Smart Import of ODI 11g objects, you must specify an Upgrade Key to be used to generate a new GUID for the object. ODI Studio will prompt you for this Upgrade Key if it detects that you are importing a pre-12c export file. For more information, see: Using Compatibility Mode.

To perform a Smart Import:

  1. Select Import... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Import Selection dialog, select Smart Import.

  3. Click OK.

    The Smart Import wizard opens.

  4. On the first screen, Step 1 - File Selection, specify the import settings as follows:

    1. In the File Selection field, enter the location of the Smart Export file to import.

    2. Optionally, select a response file to replay a previous Smart Import wizard execution by presetting all fields from the Response File field.

      Note:

      Actions from the Response File are used only when Oracle Data Integrator detects a conflict during the import. If there is no conflict, the default action is used.

    3. Click Next to move to the next step of the Smart Import Wizard.

      If an exported file has sensitive (cipher) data and was exported with an Export Key, then after clicking Next, the Enter Export Key dialog is shown. Provide an Export Key in order to include the encrypted cipher data in your import. Alternatively, enable Import File without cipher data and leave the field for the Export Key empty, to import only non-cipher data. For more information about the Export Key, see: Export Keys.

      Oracle Data Integrator launches a matching process that verifies whether the repository contains matching objects for each of the potential objects to import.

  5. On the second screen, Step 2 - Import Actions, verify the result of the matching process and fix eventual issues. The number of detected issues is displayed in the first line of this screen.

    Note that the Smart Import wizard suggests default values for every field.

    1. In the Object Match Details section, expand the nodes in the Import Object column to navigate to the objects available to import during this Smart Import.

    2. In the Action column, select the action to perform on the object during the import operation. Possible values are listed in Table 24-5.

      Table 24-5 Actions during Import

      Action Description

      Merge

      For containers, this means overwrite the target container with the source container, and then loop over the children for merging. Each child may have a different action. Child FCOs that are not in the import file will not be deleted. The Merge action may also be used for Datastores, which will be merged at the SCO level.

      Overwrite

      Overwrite target object with source object. Any child objects remaining after import come from the source object. Note that this applies to all the child objects (If a project overwrites another, all the folders in this project will be replaced and any extra folders will be removed).

      Create Copy

      Create source object including renaming or modifying any fields needed to avoid conflict with existing objects of same name/id/code. This action preserves the consistency and relations from and to the imported objects.

      Reuse

      Do not import the object, yet preserve the ability import all objects related to it and link them to the target object. Basically, this corresponds to overwriting the source object with the matched target object.

      Ignore

      Do not process the source object.

    3. In the Repository Object column, select the required repository object. This is the repository object that matches the best the import object.

    4. If an issue, such as a broken link or a code conflict, has been detected during the matching process, a warning icon is displayed in the Issues column. View the Issue Details section for more details on the issue.

      Note:

      The Next button is disabled until all critical issues are fixed.

    5. The table in the Issue Details section lists the issues that have been detected during the matching process. To fix an issue, select the action to perform in the Action column. Table 24-6 describes the possible actions.

      Table 24-6 Possible actions to fix an issue

      Action Description

      Ignore

      Not possible on critical issues

      Change

      If a name or code collision is detected, specify the new value in the Fix field.

      Note: If ODI displays a Different Context is already set as the default context message, set the Fix value to 0.

      Do not change

      For value changed issues, the value in the matching target object will be kept.

      Fix Link

      For broken links, click Search in the Fix field.

      Note:

      Oracle Data Integrator provides a default working label for every issue. However, missing references may still result during the actual import process depending on the choices you made for the import actions.

    6. In the Fix column, specify the fix. For example, for broken links, click Search and select the target object in the Broken Link Target Object Selection dialog.

      Note:

    7. Click Next to move to the next step of the Smart Import Wizard.

  6. On the third screen, Step 3 - Summary, review the import file name and eventual issues.

    1. In the File Selection field, verify the import file name.

    2. If the Smart Import still contains unresolved warnings, they are displayed on this screen. Note that critical issues are not displayed here. To fix them, click Back.

    3. Optionally, select Save Response File to create a response file that you can reuse in another import to replay this Smart Import wizard execution by presetting all fields.

    4. Click Finish to launch the Smart Import and to finalize of the Smart Import Wizard.

You can review the results of the Smart Import in the Smart Import report.

Repository-Level Export/Import

At repository level you can export and import the master repository and the work repositories.

Exporting and Importing the Master Repository

The master repository export/import procedure allows you to transfer the whole repository (Topology and Security domains included) from one repository to another.

It can be performed in Topology Navigator, to import the exported objects in an existing repository, or while creating a new master repository.

Exporting the Master Repository in Topology Navigator

The objects that are exported when exporting the master repository are objects, methods, profiles, users, languages, versions (if option selected), solutions (if option selected), open tools, password policies, entities, links, fields, lookups, technologies, datatypes, datatypes conversions, logical agents, contexts and the child objects.

To export a master repository:

  1. Select Export... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Export Selection dialog, select Export the Master Repository.

  3. Click OK.

  4. In the Export Master Repository dialog, set the Export parameters as indicated in Table 24-3.

    The master repository and its topology and security settings are either exported as .xml files directly into the directory, or as a zip file containing .xml files. If you want to generate a zip file, you need to select Export to zip file and enter the name of the zip file in the Zip File Name field.

  5. Select Export versions, if you want to export all stored versions of objects that are stored in the repository. You may wish to unselect this option in order to reduce the size of the exported repository, and to avoid transferring irrelevant project work.

  6. Select Export solutions, if you want to export all stored solutions that are stored in the repository. You may wish to unselect this option for similar reasons.

  7. Click OK.

The export files are created in the specified export directory.

Importing the Master Repository

To import the exported master repository objects into an existing master repository:

  1. Select Import... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Import Selection dialog, select Import the Master Repository.

  3. Click OK.

  4. In the Import dialog:

    1. Select the Import Mode. Refer toImport Modes for more information.

    2. Select whether you want to import the files From a Folder or From a ZIP file.

    3. Enter the file import folder or zip file.

  5. Click OK.

  6. If prompted, enter the Export Key used when this object was exported. If you do not enter an Export Key, any encrypted sensitive (cipher) data will be stripped from the imported object. For more information about the Export Key, see: Export Keys.

The master repository contains now the objects you have imported.

Note:

The import is not allowed if the source and target repositories have the same Internal ID and have different repository timestamps. This can only happen with 11g-compatible repositories, because 12c repositories have a unique Global ID.

If the target 11g-compatible repository has the same Internal ID as the source repository, you can renumber the repository. This operation should be performed with caution. SeeAbout Internal Identifiers (IDs) for more information on the risks, and how to renumber a repository is described in Renumbering Repositories.

Creating a new Master Repository using a previous Master export

To create a new master repository using an export of another master repository:

  1. Open the New Gallery by choosing File > New.

  2. In the New Gallery, in the Categories tree, select ODI.

  3. Select from the Items list the Master Repository Import Wizard.

  4. Click OK.

    The Master Repository Import Wizard appears.

  5. Specify the Database Connection parameters as follows:

    • Login: User ID/login of the owner of the tables you have created for the master repository

    • JDBC Driver: The driver used to access the technology, which will host the repository.

    • JDBC URL: The complete path for the data server to host the repository.

      Note that the parameters JDBC Driver and URL are synchronized and the default values are technology dependent.

    • User: The user id/login of the owner of the tables.

    • Password: This user's password.

    • DBA User: The database administrator's username

    • DBA Password: This user's password

  6. Specify the Repository Configuration parameters as follows:

    • Id (Importing legacy ID-compatible repositories only): When importing an ODI 11g repository, you must specify the ID of the repository. You do not need to specify an ID when importing repositories that are not legacy ID-compatible.

    • Use a Zip File: If using a compressed export file, check the Use a Zip File box and select in the Export Zip File field the file containing your master repository export.

    • Export Path: If using an uncompressed export, select the directory containing the export in the Export Path field.

    • Technology: From the list, select the technology your repository will be based on.

  7. Click Test Connection to test the connection to your master repository.

    The Information dialog opens and informs you whether the connection has been established.

  8. Click Next.

  9. Specify the password storage details:

    • Select Use Password Storage Configuration specified in Export if you want to use the configuration defined in the export.

    • Select Use New Password Storage Configuration if you do not want to use the configuration defined in the export and select

      • Internal Password Storage if you want to store passwords in the Oracle Data Integrator repository

      • External Password Storage if you want use JPS Credential Store Framework (CSF) to store the data server and context passwords. Indicate the MBean Server Parameters to access the credential store as described in the MBean Server Parameters table in Administering Oracle Data Integrator.

    Refer to Setting Up External Password Storage in Administering Oracle Data Integrator for more information on password storage details.

  10. In the Master Repository Import Wizard click Finish to validate your entries.

    If an exported file for the Master Repository has sensitive (cipher) data and was exported with an Export Key, then after clicking Next, the Enter Export Key dialog is shown. Provide an Export Key in order to include the encrypted cipher data in your import.

    If a file for the Master Repository import was exported without cipher data, or if you enable Import File without cipher data and leave the field for the Export Key empty, another dialog for creating a new password for the ODI SUPERVISOR user will be displayed. You will need to create a new password.

    For more information about the Export Key, see: Export Keys.

A new repository is created and the exported components are imported in this master repository.

Export/Import Topology and Security Settings

Exporting and then importing the topology or security settings allows you to transfer a domain from one master repository to another.

Exporting the Topology and Security Settings

The domains that can be exported are given below:

  • Topology: the full topology (logical and physical architectures including the local repository, data servers, hosts, agents, generic actions, technologies, datatypes, logical schemas, and contexts).

  • Logical Topology: technologies (connection, datatype or language information), logical agents, logical schemas, actions and action groups.

  • Security: objects, methods, users, profiles, privileges, password policies and hosts.

  • Execution Environment: technologies, data servers, contexts, generic actions, load balanced agents, physical schemas and agents.

To export the topology/security:

  1. Select Export... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Export Selection dialog, select one of the following:

    • Export the Topology

    • Export the Logical Topology

    • Export the Security Settings

    • Export the Execution Environment

  3. Click OK.

  4. In the Export dialog, specify the export parameters as indicated in Table 24-3.

    The topology and security settings are either exported as .xml files directly into the directory, or as a zip file containing .xml files. If you want to generate a zip file, you need to select Export to zip file and enter the name of the zip file in the Zip File Name field.

  5. Click OK.

The export files are created in the specified export directory.

Importing the Topology and Security Settings

To import a topology export:

  1. Select Import... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Import Selection dialog, select one of the following:

    • Import the Topology

    • Import the Logical Topology

    • Import Security Settings

    • Import the Execution Environment

  3. Click OK.

  4. In the Import dialog:

    1. Select the Import Mode. Refer toImport Modes for more information.

    2. Select whether to import the topology export from a Folder or a Zip File.

    3. Enter the file import directory.

  5. Click OK.

  6. If prompted, enter the Export Key used when this object was exported. If you do not enter an Export Key, any encrypted sensitive (cipher) data will be stripped from the imported object. For more information about the Export Key, see: Export Keys.

The specified files are imported into the master repository.

Exporting and Importing a Work Repository

Importing or exporting a work repository allows you to transfer all work repository objects from one repository to another.

Exporting a Work Repository

To export a work repository:

  1. Select Export... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Export Selection dialog, select Export the Work Repository.

  3. Click OK.

  4. In the Export dialog, set the Export parameters as indicated inTable 24-3.

    The work repository with its models and projects are either exported as .xml files directly into the directory, or as a zip file containing .xml files. If you want to generate a zip file, you need to select Export to zip file and enter the name of the zip file in the Zip File Name field

  5. Click OK.

The export files are created in the specified export directory.

Importing a Work Repository

To import a work repository:

  1. Select Import... from the Designer, Topology, Security or Operator Navigator toolbar menu.

  2. In the Import Selection dialog, select Import the Work Repository.

  3. Click OK.

  4. In the Import dialog:

    1. Select the Import mode. Refer to Import Modesfor more information.

    2. Select whether to import the work repository from a Folder or a Zip File.

    3. Enter the file import directory.

  5. Click OK.

  6. If prompted, enter the Export Key used when this object was exported. If you do not enter an Export Key, any encrypted sensitive (cipher) data will be stripped from the imported object. For more information about the Export Key, see: Export Keys.

The specified files are imported into the work repository.

Exporting the Technical Environment

This feature produces a comma separated (.csv) file in the directory of your choice, containing the details of the technical environment.

The export includes a description of your work environment. It contains info about the ODI version being used, master and work repositories, and information about agents and technologies. This export may be required for troubleshooting or support issues.

You can customize the format of this file.

To produce the technical environment file:

  1. Select Export... from the Designer, Topology, Security or Operator Navigator toolbar menu.
  2. In the Export Selection dialog, select Export the Technical Environment.
  3. Click OK.
  4. In the Technical environment dialog, specify the export parameters as indicated in Table 24-7:

    Table 24-7 Technical Environment Export Parameters

    Properties Description

    Export Directory

    Directory in which the export file will be created.

    File Name

    Name of the .cvs export file

    Advanced options

    This set of options allow to parameterize the XML output file format. It is recommended that you leave the default values.

    Character Set

    Encoding specified in the export file. Parameter encoding in the XML file header.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    Field codes

    The first field of each record produced contains a code identifying the kind of information present on the row. You can customize these codes as necessary.

    • Oracle Data Integrator Information Record Code: Code used to identify rows that describe the current version of Oracle Data Integrator and the current user. This code is used in the first field of the record.

    • Master, Work, Agent, and Technology Record Code: Code for rows containing information about the master repository, the work repositories, the running agents, or the the data servers, their version, etc.

    Record Separator and Field Separator

    These separators define the characters used to separate records (lines) in the file, and fields within one record.

  5. Click OK.

Exporting and Importing the Log

You can export and import log data for archiving purposes.

See the Exporting and Importing Log Data section in Administering Oracle Data Integrator for more information.