Comparing Repositories

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

If you are 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 Merging Repositories.

This section contains the following topics:

Comparing Repositories Using the Compare Dialog

Use this task to compare repositories in the Oracle BI Administration Tool.

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

  1. In the 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 RPD 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.

Comparing Repositories Using comparerpd

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

This feature is especially useful when you want to compare repositories or generate patches on Linux and UNIX systems where the Administration Tool is not available. The compare utility is available on both Windows and UNIX systems.

When you run the comparerpd utility, the system also 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 is not 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. Note that 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 cannot 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 is different from the repository password for the original repository.

-A is an optional argument that ensures the XML patch file does not 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 is not specified, strings are used.

-8 specifies UTF-8 encoding.

Note:

The arguments for the modified_rpd_password and original_rpd_password are optional. If you do not provide password arguments, you are prompted to enter any required passwords when you run the command. To minimize the risk of security breaches, Oracle recommends that you do not 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.

Turning 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 have clicked Mark during the Compare action. If no repository object is marked, this option is not available.

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