Compare Repositories

Learn how to compare all repository objects in two different repositories.

If you're using an Oracle BI Applications repository and have customized its content, you can use this feature to compare your customized repository to a new version of the repository received with Oracle BI Applications.

See Merge Repositories.

This section contains the following topics:

Compare Repositories Using the Compare Dialog

Use this task to compare repositories in the Model Administration Tool.

The repository that you open is referred to as the current repository. See Use Online and Offline Repository Modes for instructions on opening a repository.

  1. In the Model Administration Tool, open a repository in offline mode.
  2. From the File menu, select Compare.
  3. In the Select Original Repository dialog, select the repository you want to compare to the open repository. Select Repository from the submenu to select a binary repository file in Oracle BI repository file format, or select XML to select a set of MDS XML documents.
  4. In the Open Offline dialog, enter the repository password and click OK.
  5. Use the Compare repositories dialog to review the differences between repositories.

Compare Repositories Using comparerpd

You can compare repositories and create patch files using the comparerpd utility.

Use comparerpd on Linux systems when the Model Administration Tool isn't available.

When you run the comparerpd utility, the system equalizes the repository objects. The equalizing process outputs the my_current_rpd_equalized.rpd file, an informational file containing the output of the equalization done between the compared repositories. Equalizing ensures that objects with the same qualified names have the same unique identifiers (UIDs). Objects with the same name but different UIDs are automatically updated to use the same UID or equalized. Including when equalization isn't needed, the my_current_rpd_equalized.rpd file is generated. The my_current_rpd_equalized.rpd file is saved to the original repository's location.

The location of the comparerpd utility is:

BI_DOMAIN/bitools/bin

Syntax

The comparerpd utility takes the following parameters:

comparerpd [-P modified_rpd_password] -C modified_rpd_pathname 
[-W original_rpd_password] -G original_rpd_pathname {-O output_csv_file_name | 
-D output_patch_file_name | -M output_mds_xml_directory_name} -A -E -8

Where:

-P modified_rpd_password is the repository password for the modified repository, also called the customer or customized repository.

-C modified_rpd_pathname is the name and location of the modified repository.

-W original_rpd_password is the repository password for the original repository.

-G original_rpd_pathname is the name and location of the original repository.

-O output_csv_file_name is the name and location of a csv file where you want to store the repository object comparison output.

-D output_patch_file_name is the name and location of an XML patch file where you want to store the differences between the two repositories.

-M output_mds_xml_directory_name is the top-level directory where you want to store diff information in MDS XML format. A list of removed XML files is stored in the directory tree under the top-level directory at:

oracle\bi\server\base\DeletedFiles.txt

You can specify an output CSV file using -O, an XML patch file using -D, or an MDS XML directory tree using -M. You can't specify more than one output type at the same time.

If the patch contains passwords, such as connection pool passwords, the patch file is encrypted using the repository password from the current repository. The current repository password effectively becomes the patch file password. You might need to supply this patch file password when applying the patch, if it's different from the repository password for the original repository.

-A is an optional argument that ensures the XML patch file doesn't contain encrypted passwords for the connection pools. This parameter is used in conjunction with the -D parameter.

-E is an optional argument that causes UIDs to be used to compare expression text. Using this parameter ensures objects that have the same name but different UIDs are given the same UID. This action makes sure that objects are compared as modified instead of being reported as created and deleted. If -E isn't specified, strings are used.

-8 specifies UTF-8 encoding.

The arguments for the modified_rpd_password and original_rpd_password are optional. If you don't provide password arguments, you're prompted to enter any required passwords when you run the command. To minimize the risk of security breaches, Oracle recommends that you don't provide password arguments either on the command line or in scripts. The password arguments are supported for backward compatibility only. For scripting purposes, you can pass the password through standard input.

For example:

comparerpd -C customer.rpd -G original.rpd -O diff.csv
Give password for customer repository: my_cust_password
Give password for original repository: my_orig_password

This example generates a comparison diff file in CSV format called diff.csv from the customer.rpd and original.rpd repositories.

comparerpd -C customer.rpd -G original.rpd -D my_patch.xml
Give password for customer repository: my_cust_password
Give password for original repository: my_orig_password

This example generates an XML patch file called my_patch.xml from the customer.rpd and original.rpd repositories.

Turn Off Compare Mode

You can remove marks applied to objects while using the Compare Repositories and Merge Repositories options.

The Turn off Compare Mode option is only available after you've clicked Mark during the Compare action. If no repository object is marked, this option isn' available.

  • In the Model Administration Tool, select File, then select Turn off Compare Mode.