OBIEE 11gR1 : Incremental Patches to the RPD

July 23rd, 2010 by

Here’s a quick one before the weekend comes along: one of the limitations in OBIEE 10g around software configuration management was that you couldn’t apply incremental patches to an RPD, applying for example a set of changes made in development to the production repository. The only thing you could do was take the whole development repository, test it and then copy it in it’s entirety into production, which wasn’t ideal.

In OBIEE 11gR1, you can create XML patch files based on the differences between two repositories, and then apply this to a third to incrementally update it (using the XUDML feature first introduced in 10g with the Content Accelerator Framework) To take an example, I have a development repository that contains a subject are with two tables:

Sshot-1-18

I copy this RPD into production and make it my production version. Then, I carry on development and add a new logical table, and presentation table, to the development RPD.

Sshot-2-18

What I’d like to do now, is generate a patch file that I can then apply to my production RPD, so that just these extra tables are added to it. I do this by selecting File > Compare from the BI Administration menu, and then I select the original RPD that I copied into production as the comparison RPD. The Compare Repository dialog tells me that I’ve got a bunch of new tables and columns in the modified RPD.

Sshot-3-18

I then press the Create Patch… button to create the patch file. This creates an XML file that describes the new RPD objects that the patch file will create when applied.

Sshot-4-17

To apply the patch, I open up the production RPD using the BI Administration tool, select File > Merge, and then select the original RPD and the patch file I want to apply. There’s also a command-line version of this utility, patchrpd, that you can use in a scripting environment to automate the process.

Sshot-5-16

Once the patch merge completes, you’re left with a new copy of the production RPD, with the new columns and tables applied. Not bad.

Sshot-6-15

The rest of the SCM process looks much the same in 11g as it was in 10g, though if you’re interested in scripted patching of the web catalog, Venkat’s posting the other day on the command-line interface to the 10g Catalog Manager looks an interesting option.

Comments

  1. Raghu Says:

    Say, i have many modifications on the DEV RPD.
    What if i want to generate the patch file for only few particular ones..
    Do we have any option as such?

  2. Mark Rittman Says:

    @Raghu

    I’m not sure you can do this. The only way I can see that you can generate a patch file is to compare two repositories; if you restricted each change to its own individual repository copy, then this would work, but I don’t think you can just highlight individual tables, measures etc and create patches for them.

    regards, Mark

  3. Christian Turri Says:

    Mark,

    In your merge repository screen shot the Modified Reposotory has the path selected. I presume this is just a bug in the tool right? For a patch merge I should only need to specify the Original RPD, the patch file and the final merged repository.

    Thanks,
    Christian

  4. Mark Rittman Says:

    @Christian

    When you open up the production repository offline and select File > Merge, and then select the “Patch Repository Merge” Merge Type, the repository you have open (the production one, in this case) is then listed as the Modified Repository. You then have to select the Original Repository, and the Patch File that contains the XUDML. Then you can proceed to apply the patch file to the modified repository (i.e the production repository).

    So from what I can see, you do need a modified repository, and it’s the one you opened up when you started the BI Administration tool in offline mode. I’m not sure if this is a bug, it seems more to me a way of noting which RPD is the one that we want to apply the patch file to.

    regards, Mark

  5. Raghav Venkat Says:

    Great post Mark!

    I have been repeatedly getting errors in this process.. When I apply the patch, My RPD terminates with a memory error!

  6. Raghav Venkat Says:

    using version Beta2

  7. Venkatakrishnan J Says:

    @Christian – Patching is based on the 3-way repository merge. All Oracle has done is to split that into 2 parts to make deployments easier. The other repository is needed as a 3-way merge requires 3 repositories, or rather 2 diff’s to be applied on the Modified (prod) repository.

  8. Christian Turri Says:

    @Mark @Venkat I still don’t get it. If a patch file contains everything that I need to upgrade my Prod RPD then I don’t see why do I need my original RPD as there is no compare going on, just deltas being applied. Also I seem to remember from the 11g launch an OEM admin screen where you could apply the patch directly to the BI Server. There will be no original RPD in that case either.

  9. Gert Says:

    Is it possible to generate patches based on MUD projects ?

    The goal would be to release more often different projects without impacting other projects and to decide upon go-live which projects will be released and release unfinished projects afterwards.

    Is it only the difference between the master and dev rpd or could it be the difference between projects in the master and projects in the dev rpd?

  10. John Lilley Says:

    Just tried this in 11.1.1.5. Tried to patch my upgraded Samplesales with the 11g SampleAppLite. Seemed to generate all the right changes in the patch, they came up correctly in the conflict panel when applying the patch. I selected ‘current’ for all the deleted items (to save what was in SampleApps. However the patch merge then failed with multiple errors and wiped out all the Presentation layer in the merged RPD. Disappointing.

  11. VK Says:

    When a patch merge is done, for some reason, the LTS – Source folder is not visible on the admin tool for the newly added logical tables, in the merged RPd. But the merged RPD works fine, without any issues, when deployed.
    The other issue is, when we try to added (drag and drop the original source) the tool breaks. Did any one encountered this – this is observed on 11.1.1.5

  12. Stephanie Heard Says:

    @VK
    We are experiencing the same issue you describe after a patch merge where the LTS source folder is missing. Altough you say the merged RPD works fine did you raise this with Oracle? Have you amended the new dimensions/facts since without issues? Thanks

  13. Gustavo Erthal Says:

    I tested the compare option and its work only in Offline mode.
    So, I need to have two .RPD files to compare and create the patches from the differences between then.
    Is it correct?

  14. Gustavo Says:

    The process to promote changes in dev to prod environments used in Discoverer could be succeded in OBIEE?
    Export only the changes applied in dev and import then in prod.

Website Design & Build: tymedia.co.uk