Business Intelligence – Oracle

Oracle BI EE – Merging Repositories

Posted by Venkatakrishnan J on November 22, 2007

Update: Based on the comments below, i have created a new blog post which would work in all the scenarios. You can find it here. 

One of the features of BI EE is that one can merge repositories.So if you have 2 repositories each having its own set of Physical, BM and Presentation layers then you can use the Merge option to merge both of them into a single repository. Before going ahead, lets try to understand 3 important terms that would be used while merging. The definitions are specific to the example that we would be seeing later. But this should give you an idea.

      Current Repository   –   This is the repository that you would be merging the changes into. This is the repository that would be open while merging.

      Original Repository   –   This is the repository which is the pivot for Merge. This is just a dummy repository ( for our discussion alone. This is generally used in BI Applications when you are merging objects from an older repository)

      Modified Repository   –   This is the repository whose objects you would like to copy to the Current Repository.

What merging would do is, it would merge the difference of the repository objects that you would find between Original and the Current Repository and also the Original and the Modified Repository. Lets try to understand this with a simple example. In our example, we will be using 2 repositories. One is the default Paint Repository and the other is the Usage Tracking repository that is bundled along with BI EE. Our aim is to get the contents of the Usage Tracking Repository into the Paint repository. Lets look at the contents of both the repositories. Paint.rpd would be located under {OracleBI}/Server/Repository and the Usage Tracking.rpd would be located under {OracleBI}/Server/Samples/usagetracking



Now lets click on Merge under the File menu (assuming you already have the paint.rpd opened in offline mode). As soon as you click on Merge, you would get a dialog box asking you to choose the Original Repository. In our case, we would have to choose a dummy repository(copy the paint repository to create a new one and then include that here). Enter the password for the dummy repository and click ok. As soon as you enter that you would get a message like the one below that the repositories are identical.


Once this is done select the modified repository. In our case select the usagetracking.rpd and then click on merge.


Now you would see that the usagetracking repository objects have been merged into the paint.rpd. The Original dummy repository acts as a pivot. What BI EE basically does is that it first finds the difference between the dummy and the Current Repository. It would not find any since both are copies of each other. As soon as we include the modified repository(usage tracking), the merge operation would find the differences between the original and the modified(paintdummy and usagetracking) and then merge the differences into paint repository and would produce a new repository.

This can be very useful in quite a lot of scenarios. I have just used a simple example here. But this should give you an idea.

16 Responses to “Oracle BI EE – Merging Repositories”

  1. Raymond de Vries said

    I have tried merging two repositories for sometime now but have not found a simple method yet. I followed your steps but unfortunately it does not work (using My end result has no Paint repository objects. The solution that I use is to open the usagetracking.rpd, then selects the paint repository and finally selects the paint dummy repository. A list will be displayed of merge conflicts. You will need to set Decisions for the Paint objects to Modified (A) and the usagetracking.rpd repository objects to Current. It is a lot of extra work but the end result is that it works. Hopefully Oracle will introduce a possibility to merge two repositories without the third dummy repository. Unfortunately the repository Import function is deprecated.

    Raymond de Vries

  2. Venkatakrishnan J said


    I just checked. The steps work fine.

    1. Open the main paint.rpd in offline mode.
    2. Click on merge.
    3. In the original repository open the paintdummy.rpd.
    4. In the Modified repository open the usagetracking.rpd.
    5. Click on merge.


  3. Raymond de Vries said

    Hi Venkat,

    I just retried it but still it does not work. I have the paint reposuitory, copy of the paint repository and a newly created repository based on another physical layer. When I follow your steps I end up with only the newly created repository and no Paint objects in it. It most probably works in your situation because you are using the same physiacl layer objects for both repositories? Are you also using


  4. Venkatakrishnan J said

    I am on though it should not make a difference. Did you start the merge after opening the paint repository in offline mode. Based on what you have (no paint objects in your final repository) looks like you started with the newly created one instead of paint. If you are starting from the newly created one then you need to create a dummy of that and then follow the same procedure.


  5. Raymond de Vries said

    I tried it once again to ensure I am doing it as you have stated but still the pait objects are not in the end result repository. Starnge that it does work with you. Are there any others that have tried this with success?

  6. Gaurav Nankar said

    Hi Raymond and Venkat,

    I too tried out on this. I m getting the same results as Raymond. The contents of the modified repository are overwritten on that of the current repository, removing the current repository contents totally.


  7. Burt Gardner said

    I am having the same issue.

    1. I have a repository – call it MergeExample
    2. I have a dummy file which is a copy of #1.
    Oracle calls it originalMergeExample
    3. a. I select Merge, select originalMergeExample for original
    b. When I put any other repository in the Merge section, it
    is ignored.
    It is as though the Merge only compares the original dummy copy and the repository that is opened.

    Has anyone found a resolution ?

  8. suresh said

    Hi Venky,
    I tried and I am able to make your step working only when both the current and mofidied repository has has XML as data source.

    As expereiced by other user I will lose paint repository objects if try merging it with repository whose data source is oracle

  9. Rajeev said

    I followed the procedure mentioned above.Basically to copy the current rpd and reopen it for Merge as Original and then select the changed rpd as Modified. It opens up fine , only it does not show the changed object ( in my case a changed password ) in the main box. If i click on STats i can see 1 object as Hidden . Plus , the merge button is enabled , but if i click merge then it will overwrite the passwordin the current rpd. The reason i need t get merge working is that , i need to move metdata changes from dev to Prod. But if a user changed his password in Production , then that is saved in the Prod rpd. But id the dev rpd has a different , defualt password , then when i copy the rpd from dev to Prod , the user’s change gets overwritten. Can you pls help me show up the hidden changes while doing the merge?

  10. […] by Venkatakrishnan J on March 24, 2008 If you look at the comments section of my blog entry here, there are quite a few users who have mentioned that the procedure did not work on their setup. One […]

  11. Venkatakrishnan J said

    Hi Everyone,

    I have added a new blog post here This should work in your case.


  12. Soumya said

    Thanks Venkat
    I am running and the procedure above works fine for with out of box .
    I haven’t tried with out of box repository and the merge fnctionality works fine.

  13. Barbara said

    The steps below appear to work for me, but the .rpd file doesn’t get saved anywhere. I’ve tried ‘save as’,’copy as’, but it seems to just disappear. Any suggestions?
    What am I missing?

    1. Open the main paint.rpd in offline mode.
    2. Click on merge.
    3. In the original repository open the paintdummy.rpd.
    4. In the Modified repository open the usagetracking.rpd.
    5. Click on merge.

  14. Barbara said

    I may have found what’s causing the problem, though not sure why it happens. Upon completing the ‘merge’, there was an error msg. ‘ Failed to delete some objects’. This ‘seems’ to then prevent the .RPD from being saved. I don’t know what caused the problem, but since have merged and saved other changes.

  15. Nataraj said


    1. The merge process does not recognize any content changes in BMM layer. Suppose we add a filter condition in the content tab for a patricular dimension / fact or change the aggregation from count to count distinct, the megre algorithm does not list this as a change.

    2. Change in LTS is also not recognized. Suppose you change the LTS source for a Fact from F1 to F2, it does not recognize F2 if it is an exisiting object in the Physical layer.

    Are these known issues?

  16. […] Oracle BI EE – Merging Repositories […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: