Best Practices from Oracle Development's A‑Team

Oracle Business Intelligence - MDS XML in RPD


Oracle Business Intelligence (OBIEE) platform is a development framework, where multi-users can create and work on a common object model and store them into a repository (for detailed information about the repository refer to this Blog). These models form the foundation for the Business Users to create Analyses, Dashboards, Key Performance Indicators (KPIs) and Reports. It has an in-built source control mechanism, but until recently, it could not be integrated with a third party SCM software.

Many organizations having multi-user in-house development teams and rely on Source Control Management (SCM) software such as Subversion or Rational Clear Case to manage their code. Instead of depending on the built in multi-user development capability of any given individual development tool, these organizations wish to have an enterprise wide single SCM tool to manage/maintain their code base.

The rest of this article looks into how this issue has been addressed by Oracle with the introduction of saving the Repository as MDS-XML files and provides the details on how to generate them.

Main Article

Traditionally the OBIEE repository has been in a binary format with all the information represented in one single huge file. This limited organizations from integrating their SCM system with OBIEE repository. In OBIEE release, Oracle has provided a new feature of converting the repository into a set of XML files based on MDS-XML format. This facilitates the use of any SCM system to manage the repository. In release, this is expected to gain much user adaption.

MDS-XML is an XML format compatible with Oracle Metadata services and is the supported format of Oracle BI repository. Primarily used for repositories under source control, the XML format is different from the one used by Oracle BI in the previous releases.

In the earlier versions, prior to, Oracle BI, RPD could be generated as a single large XML file based on xudml1.xsd schema, located in ORACLE_HOME/bifoundation/server/bin directory.  As of version, the RPD is generated as MDS-XML which is a set of XML files based on the following schemas: 

  • xudml_mds_admin.xsd and xudml_mds.xsd - These files contain the basic MDS XML grammar for the repository elements.
  • xudml_mds_core.xsd - This file contains the detailed MDS XML grammar for the repository elements and attributes and the relationships between the elements.

How to generate MDS-XML from existing RPD

The MDS-XML from an existing RPD can be generated in two ways.

  • From the admin tool.
  • Using a command line utility called “biserverxmlgen”.

Generating MDS-XML from the admin tool

  1. Open your existing repository file (RPD) in the admin tool (offline) mode. Select File, then Save As, the select MDS XML Documents.
  2. RPD_SaveASMDSresized
  3. Provide the directory/folder location for your MDS XML repository files and select OK.
  1.  RPD_MDSXLM_location
  2. All the objects within RPD are generated under multiple folders as a directory structure.  The output files are located in “user_defined_directory/oracle/bi/server/base” location.


  1.  MDSXMLFileStructureresized
  2. Generating MDS XML from a command line utility.

    Oracle Business intelligence has a command line utility “biserverxmlgen” for generating the MDS-XML format files of repository. (Please note this procedure is limited to the Oracle Business Intelligence Client install location).

    On Windows where you have the admin tool installed, open a command window and navigate to the location

    >Run the bi-init.bat to initialize the Oracle instance on the command window.

  3. At the command prompt execute the command “biserverxmlgen” with desired options

biserverxmlgen -M -R repository_pathname [-P password] -D output_directory [-8] [-N] [-Q|-S]

-M indicates that the output is in MDS-XML format
Repository_pathname : The name and location of the repository file that will be source of the generation of MDS-XML file
-P password : Password of the source Repository.
-D output_directory : the name and location of the directory under which you want to generate the MDS XML files.
-8 : The XML files generated uses UTF-8 encoding.  Note default is ANSI ISO-8859-1 encoding.
-N : Each objects generated has internal identifiers called Upgrade ids (Uids). You can use this option if you wish to create a new repository without the old upgrade ids.
-Q : This is used to generate output without any security objects
-S : This is used to generate output for only security objects.


Organization of the generated xml file.

The generated xml files are organized in individual folders that represent the multiple layers (Physical, Logical and Presentation) of repository (RPD). In addition, Information about objects outside these layers such as Project, Variables, Users and Groups are generated and stored in separate folders. The xml elements thus generated are classified as shown in the note below.

Physical Element - Information of objects in Physical Layer of RPD.
Logical Element -  Information of objects in Business Model Layer of RPD.
Presentation Element - Information of objects in Presentation Layer of RPD.
Security Element - Information about Init Block variables, Users, Groups, Object prvieleges, LDAP server and DB Sign-On.
Other Element - Project and Saved Query object in the repository metadata


Once these MDS XML files are generated, the administration tool of the RPD can be configured to access the Source Control Management tool and communicate changes made to these MDS XML files.


The above post introduces the new feature of generating and saving Oracle Business Intelligence repository as set of XML documents based on MDS-XML format. In the past, customers had to rely on the Mutliuser Development Environment (MUD), Oracle Business Intelligence provides for managing concurrent RPD development. With this new feature, Customers can integrate with any 3rd party source control management (SCM) like subversion for Oracle Bi repository development.

For additional information refer to the following Oracle Documentation.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha