Repository Backup in ODI

Repository Backup in ODI:

Today we will discuss about the basic things needs to be done to take the repository backup. Normally we can take the backup in two ways that is either from Odi Studio or from the database where the repository lies. Refer this post for taking backup in database level.

Many newbies wont feel confident while taking backup in  Odi Studio.  Below screenshots will help you to take the backup for future references. In this case I have only taken the minimum things for initial stage but you can take the backup of logs, security settings , technical env etc.




Always export to zip file so that all components will be bundled together. Thats the better way I believe.


Click Ok.


Now here you can take the backup of master repository which normally keeps all topology and security components. If you want to take backup of only topology then just export it.


Logical topology is  very important as it will keep all logical connection/logical schema across multiple contexts.




Now you can import them in same manner. Its better to import the topology, logical topology and work repository respectively.

Keep in mind that its better to have different id for the target repository. You may get some pop-ups like the id is not declared in the target repository. If you see this then click on yes to declare the id in the new repository. You may get this multiple times.  So keep on clicking yes till you dont see the popup.







Similarly you can import topology and logical topology. Thats all. Let me know if you face any issue.

About Bhabani 86 Articles
Bhabani has 12 plus years of experience in Data warehousing and Analytics projects that has span across multiple domains like Travel, Banking and Financial, Betting and Gaming Industries. Solution areas he focuses on designing the data warehouse and integrating it with cloud platforms like AWS or GCP. He is also a Elite level contributor at OTN forum more than 9 years. He loves to do experiment and POC on different integration tools and services. Some of his favorite skills are Redshift, Big Query, Python, Apache Airflow, Kafka, HDFS, Map Reduce ,HIVE, Habse, Sqoop, Drill, Impala.


  1. HI Babani,

    I have a question, what is the difference between synonym mode insert, synonym mode update and synonym mode insert_update, when to use these options?

    • In short
      synonym insert : objects will be inserted. If the object already exist in the repository, the import will fail.
      synonym update : Objects will be updated if they already exist in the repository. Some objects can be deleted in this type of import.
      synonym insert-update : Objects will be inserted. If the object already exists in the repository, they will be updated. Some objects can be deleted in this type of import.
      duplication : new objects (id) will be created.

      you can refer below link for better understanding.

      • Hi Bhabani,

        what is smart export/import option in ODI? and what is the difference b/w export and smart export.

        can u please explain me?


        • In earlier case when you had to export a package, you had to find the dependancy objects such as interface, temporary interface, variables, datastores etc etc manually. Again during import you have import them based on their dependancy order to get rid of missing reference. This was quite tedious job. But after the intoduction of smart export/import you need not to bother about this dependancy. ODI will automatically detect the dependancy of the top level object and export them in one xml file. Similarly during smart import you can also have the options like Merge, Overwrite, Create Copy etc.

          more on this you can refer

  2. thank you for u replay, sir i send a xml file to regarding the problem in reverse engineering in a model,u told me to send an xml file, but i didn’t get any replay sir.


    • Sorry for the delayed response on that. I will definitely try this weekend and will get back to you.
      Thanks for your patience.

  3. Hi Bhabani,
    I have two ODI server(suppose ODI_Serv1 and ODI_Serv2)and
    ODI_Serv2 will be decommissioned soon.
    1)So what’ll I do?
    2)Which contents of ODI_Serv2(Mster & Work Rep,Topology etc.) needs to be imported in ODI_Serv1?
    3)which import mode is appropriate?As I need to use all the projects of both the servers.

    I have just tried to import Projects,models etc.but get reference missing error after the projects are imported in ODI_Serv1.
    Here is the problem:-

    • If its 11g, go for smart export and import. Other wise you can export/import in projectwise. For example there is project named as pro_demo. Before importing the pro_demo,
      1st create the physical/logical schema used in the project in server1.
      Then import the models/datastores.
      Next the import complete project

      Always select the zip format. Right now you better delete the projects which is giving missing reference and proceed from the scratch as I said. Otherwise you have to manually correct those interfaces.


  4. Dear Mr. Bhabani,

    Need your help :
    Below is the scenario.

    I have to 2 different OBIApps running environments. Each environment is having separate ODI master repository.
    I want to migrate ODI complete code from DEV to TEST.
    I understood that in OBI Apps environment : ODI have only one schema in Database for Master and Work repository (DEV_ODI_REPO)

    What I tried:
    1. Moved only Topology from DEV to TEST through ODI Studio Export / Import – Done
    I have not moved complete master repository as it moves security tab/files also and create issue during ODI studio login in Test.
    2. When trying to move complete work repository from Export /Import, Import take more then days and still running.
    I tried this import approach 2-3 times and it didn’t work.

    1. Can I move complete Master repository schema from DEV DB to TEST DB by renaming the DEV_ODI_REPO to TEST_ODI_REPO.(Here i will rename the existing TEST – TEST_ODI_REPO_BKP schema from TEST)
    Will it move the work repository also all together ?
    What will be impact on other schema as TEST_BICOMP and TEST_BICMP_IO.
    Will synchronization will happen automatically between schema or application
    2. How to bring this new schema in main stream, will services restart will help as I will give the same name of Master schema in TEST(TEST_ODI_REPO).
    3. How to handle Studio login details as now new security files are from DEV.


    • Hello Deepsa,
      Sorry for catching you late. please refer Doc ID 1587872.1 for all the details on this. Download the word document given there.
      Also I will not prefer your second approach rather getting root cause of 1st approach.

  5. Hi bhabani,
    i want to merge 2 different work Repositories who have different Master repositories too. For example
    master Repo -A ,work repo of A is A1
    master Repo -B ,Work Rep of B is B1

    I want to merge B1 to A1,so that all work repositories data’s are stored combiningly in SNP_* tables.
    all data in same repo db is required.

    Can you please suggest ,is it possible or not.If yes then please provide steps.

      • Thanks bhabani for Reply.Can you please guide me with correct sequence and steps to achieve my Requirement of Merging to 2 odi work repo under 1 Master repo.

        • Just do one smart export and import. When you start the smart export drag all the project into the canvas which will evaluate all linked object and export it. In the other repository do the smart import. Before performing this make sure you have backup of both repositories.

          If you are not happy with above, you can list out what are the project you have to export then export below objects.
          1.Export complete project
          2.Export complete Model folder
          3.Export topology contents like Data Server, Logical schema, Context ( Remember there is no option to export logical schema and context. You have to export the complete topology which will create individual file for each dataserver, logical schema and conetxts) In this case follow the sequence to import. Topology components->Model folder->Projects

          The second approach is bit lengthy and time consuming if you have 100s of project.

  6. Hi,
    i’m following your guide but when i import the work repository into an existing one, i have the error:

    at com.sunopsis.dwg.DwgDuplicationTools.processGlobalIdBatchQuery(
    at com.sunopsis.dwg.DwgDuplicationTools.batchCheckGlobalIdsInRepository(
    at com.sunopsis.dwg.DwgDuplicationTools.importOtherObjects(
    at com.sunopsis.dwg.DwgDuplicationTools.synonymImport(
    at com.sunopsis.dwg.DwgObject.importFromObjectLst(
    at com.sunopsis.dwg.DwgObject.internalImportObjectList(
    at com.sunopsis.dwg.DwgObject.doImport(

  7. Hello,

    I have an issue,
    I developped a solution in Dev environment and I want to import my work into 16 different environment.

    I want a script that allows me to import work repository from dev environmnt to the 16 production env without using the ODI client

    For export I used this command: OdiExportWork -TODIR=/opt/oracle/ofa/app/oracle/product/fmw2/Oracle_ODI1/Export_Scenario –ZIPFILE_NAME=Tes-werk_export.xml

    Is there a command or a groovy script for import work rep ?

  8. Hi Bhabani,

    while generating the scenario for mapping/interface in ODI 12.1.3,we are getting below errors.

    Main error: ODI-20088 : Error while generating scenario.

    sub_errors below:
    ODI-10182: Uncategorized exception during repository access.
    ODI-10143: Error while accessing the ODI repository.
    ORA-01438: value larger than specified precision allowed for this column .

    Please suggest on this.


  9. Hi Bhabani;

    I have an error importing the work repository, after a few hours it displays the following message:

    java.sql.SQLException: The statement is closed: The statement is closed
    at oracle.ucp.util.UCPErrorHandler.newSQLException(
    at oracle.ucp.util.UCPErrorHandler.newSQLException(
    at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(
    at com.sun.proxy.$Proxy23.executeQuery(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor89.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at com.sun.proxy.$Proxy24.executeQuery(Unknown Source)
    at oracle.odi.core.persistence.OdiChangeNotificationManager.getDatabaseTime(
    at oracle.odi.core.persistence.OdiChangeNotificationManager$MonitorClass.processSubscriber(
    at oracle.odi.core.persistence.OdiChangeNotificationManager$MonitorClass.runMonitorLoop(
    at oracle.odi.core.persistence.OdiChangeNotificationManager$

    I’m importing from a version 12.1.3 to 12.1.3

    • Hi Daniel,
      As you said its after few hours. It looks like the timeout is happening at database level. Can you check it once with DBA?

  10. Hi Bhabani,

    Good Day !

    One of the env is decommissioned. I’ve expored, Master and Work Repositories and kept as the Back up.
    Those two exports are enough to replicate the old env in the new env right?
    What is the procedure to import then back to new env. ?
    First to import the Master and then the Work? Please guide.


    • Thats correct. As long as you have the repository backup you are safe.
      I am not sure if you are restoring to the same version. If it is then nothing to worry.

  11. Hi Bhabani

    I am trying to migrate OBIA from aix on premise to oci cloud. I have done a complete installation of OBIA 11g in oci cloud and now wish to migrate my source odi reposities to target. What is the best approach for it?

    1) database exp/imp
    2) master and work exp from odi studio?

    I had come across a note that repository id mismatch can cause issue with odi objects. My source and target has diff repo ids. So will that be an issue for exp/imp? Should I do renumbering of target odi to match that of source and then do import? Plz suggest.

Comments are closed.