5 Replies Latest reply on Aug 26, 2016 8:36 AM by rmoff

    OBIEE 12c Default-diff.xml



      We recently upgraded from OBIEE11g to OBIEE12c. We noticed that the way RPD is managed in 12c is significantly different than how it was in 11g.

      Uploading and downloading the RPD has to be done by command line scripts in the bitools/bin folder. The script for is datamodel.sh.


      Initially we were on and Whenever we upload an RPD we notice 4 changes.

      1. a new version is created in the customiztions folder in the service instance folder by the name "liverpd.rpd_n"

      2. Inside the default folder within the customizations foler stated above the "default-diff.xml" file was getting updated (change in size, last modified date etc.)

      3. Liverpd.rpd in the above mentioned default folder was also getting updated(only the last modified date)

      4. some older versions of the rpd in the customizations folders were getting cleaned up (deleted)


      Because of some bugs we were advised to move to and ever since we moved to the new version we had an issue wherein any changes that we did in the RPD were not reflecting even when we were successfully uploading the RPD from the command line.

      we raised an SR and were advised to add a "-D" at the end of the usual uploadrpd command



      ./datamodel.sh uploadrpd -I example.rpd -SI ssi -U weblogic -P password -D


      using the above command we were able to see our changes in the answers but we noticed that this deleted the default folder from within the customizations folder in the service instance folder.


      So now basically we have a few concerns,

      1. what is the Basic use of default-diff.xml in OBIEE12c?

      2. why is it missing after executing the upload command with -D option?

      3. How is it going to affect and what functionalities can be affected?

      4. Any other information that might be helpful understanding the XML.



      Customizations - <obiee_home>/user_projects/domains/bi/bidata/service_instances/ssi/metadata/datamodel/

      Default-               service_instances/ssi/metadata/datamodel/customizations

      bitools-                <obiee_home>/user_projects/domains/bi/bitools


      Any information is appreciated.



        • 1. Re: OBIEE 12c Default-diff.xml

          1. what is the Basic use of default-diff.xml in OBIEE12c?

          4. Any other information that might be helpful understanding the XML.


          The way the RPD works once deployed to the BI Server in 12c is, as you say, completely different from 11g. There is no such thing as "the RPD", more a collection of files that are compiled at runtime to produce the currently executed version. This is not documented anywhere - it is not "user servicable". From an end-user/developer point of view "it just works" and is blackbox interacted with solely through data-model-cmd or admintool online (or documented API). From an 'under the covers' point of view, no-one (to my knowledge) has reverse-engineered it and blogged it yet (and reverse engineering is against licence conditions so you'd have to tread carefully_.


          2. why is it missing after executing the upload command with -D option?

          3. How is it going to affect and what functionalities can be affected?

          That's a question for Oracle Support.

          1 person found this helpful
          • 2. Re: OBIEE 12c Default-diff.xml

            Hey Robin!

            Thank you for the information! I follow a lot of your blogs and must tell you they are very interesting. Its great to hear from you.


            From some oracle slides where they talk about Pluggable BI and Multitenant Architecture and BI moving to the cloud premise, Has all of it got to do with the change in the way we operated/serviced the OBIEE application?


            If my understanding is correct the BI12c by default gets installed as a single service instance installation, is there any option now for multiple instance setup?


            In case someone has a multiple instance setup, so from the way the Security, Webcat & RPD files are being managed right now, will there be a different set of these files for each instance?


            Is the Default-diff.xml maintaining the "live" RPD metadata? the "Live" rpd seems to be a myth now has the default-diff.xml got to do anything with the Pluggable BI concept?


            Can you provide any references to understand Layered Customizations in RPD(which I hope is not same as the layers of RPD), is this layering the reason for multiple versions of RPD being present and getting cleaning up at times when we upload a RPD?

            I actually have a lot of questions on the operation and the features in OBIEE12c, but not sure if all of them makes sense in this same thread as I started with default-diff.xml so I will probably start a different thread.

            • 3. Re: OBIEE 12c Default-diff.xml

              I think you've answered your own question ... yes the default-diff.xml, liverpd, etc are all to do with pluggable BI - which isn't here yet but presumably these are some of the changes that are necessary to support it in the future releases when it does come.


              Regarding multiple service instances, no, only single service instance is available currently.


              Beyond this, you'll struggle to find out more information I think -- what's not out there already in the documentation or conference presentations is either known only to Oracle, or known outside of Oracle but under NDA I would imagine.

              • 4. Re: OBIEE 12c Default-diff.xml
                Stewart Bryson

                The default-diff.xml file is now the source of truth for metadata. The liverpd.rpd file (the one that's 1KB) is a "kick-starter" RPD. It's empty, but it's consistent... and it's used to start up the BI Server. After startup, the default-diff.xml file is applied as a patch in online mode. This is how pluggable BI would work (if it still gets delivered)... several layers of modules and service instances could be loaded with several different patch files... each one representing a layer of differentiation from another.


                It's not documented as Robin says... but this is how it works.The liverpd.rpd_n is the last uploaded RPD when using datamodel.sh, but upon upload, it's immediately converted to XML and stored in the default-diff.xml.


                The -D option you are having to pass in is indeed a workaround for a bug in the new release. They are using accidentally exposed functionality (called configuration groups... who knows what that will be) as a workaround to correct an accidentally exposed bug. So enjoy that.

                • 5. Re: OBIEE 12c Default-diff.xml


                  Damn ... that's me told, thanks Stewart Bryson

                  Good info, thanks.