OBIEE 11gR1 : Incremental Patches to the RPD

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:


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.


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.


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.


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.


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.


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.