You are on page 1of 7

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

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.

Posted in Oracle BI Suite EE | 9 Comments »


1. Raghu Says:

July 24th, 2010 at 6:47 am

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:

July 24th, 2010 at 6:05 pm


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:

July 25th, 2010 at 4:10 pm


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.


4. Mark Rittman Says:

July 25th, 2010 at 9:25 pm


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:

July 26th, 2010 at 6:09 am

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:

July 26th, 2010 at 6:10 am

using version Beta2

7. Venkatakrishnan J Says:

July 26th, 2010 at 2:43 pm

@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:

July 29th, 2010 at 7:24 am

@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:

July 30th, 2010 at 12:28 am

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?