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