Equalize Objects
If you've objects in two repositories that have the same name but different Upgrade IDs, you may want to treat them as the same object.
Use the equalizerpds
utility to give the objects in the repositories the same Upgrade ID. You can equalize objects as part of the merge process.
You can also use the Equalize Objects dialog, available from the Compare repositories dialog, to preview the repository after you run the equalizerpds
utility.
This section contains the following topics:
About Equalizing Objects
You might need to equalize objects because Administration Tool tracks the history of each repository object using the Upgrade ID of the object.
The Upgrade ID is a unique identifier for each object.
Sometimes, the Upgrade ID can change because of user actions or during merge. When this occurs, and a subsequent comparison is done, the Administration Tool treats the new Upgrade ID as a new object, and the missing original Upgrade ID as a deleted object.
For example, assume you've two identical repositories. In one repository, delete a presentation column, then re-create it again. When you compare the two repositories using the Compare repositories dialog, there are two entries for the presentation column: one that shows the old object as deleted, and one that shows the new object as created. Without using the Compare repositories dialog, it's hard to tell that this action occurred, because the Administration Tool typically shows only the object name and properties, not the underlying Upgrade ID.
The Upgrade IDs aren't unique, in rare cases the repositories that you want to merge might contain the same Upgrade ID. Running the equalizerpds
utility on the repositories corrects the duplicate Upgrade ID issue and prevents an error while performing the merge.
Run the equalizerpds
utility on your repositories before merging them to equalize your changes. Equalizing any opposing changes such as a column that's been duplicated and then renamed, cleans up the underlying Upgrade IDs, and prevents unintended renaming during the merge.
When you equalize objects, you can lose track of object renames because legitimate object renames become different objects. Intentional renames you did in the repository might change to different Upgrade IDs, so subsequent merges erroneously treat the renamed object as a new object. To avoid the renaming and new object situation, enter the before and after names of intentionally renamed objects in a rename map file that you then pass to the utility. The equalizerpds
utility uses the information in the file to ensure that the original IDs are used in the renamed current objects.
You can view the Upgrade ID for repository objects using the Query Repository dialog. See View the Upgrade ID for Repository Objects.
View the Upgrade ID for Repository Objects
You can view the Upgrade ID for repository objects using the Query Repository dialog. When you use this task, a new column showing the Upgrade IDs displays in the Results list.
The Upgrade ID isn' available as a column option unless you've selected Show Upgrade ID in Query Repository in the General tab of the Options dialog. See Set Administration Tool Options.
- In the Administration Tool, open a repository in offline mode.
- Select Tools, then select Query Repository.
- In Query Repository, click Columns.
- In Select columns, select Upgrade ID from the list or use Find to help locate the Upgrade ID.
- Click Query.
Use the Equalize Objects Dialog
The Equalize Objects dialog provides a preview of what your repository looks like if you run the equalizerpds
utility on it.
The Equalize Objects dialog provides a convenient way to compare changes related to objects that have the same name, but it doesn't persist any of the changes.
Using the Equalize Objects dialog can be a very slow process for larger repositories.
Use the equalizerpds Utility
You can use the equalizerpds
utility to equalize the Upgrade ID of objects in two separate repositories. If objects have the same Upgrade ID, they're considered to be the same object. The utility compares Upgrade IDs from the first repository (the original repository) with Upgrade IDs from the second repository (the modified repository). Then, the utility equalizes the Upgrade IDs of objects with the same name, using the Upgrade ID from the original repository.
The equalizerpds
utility is available on both Windows and Linux systems. You can only use equalizerpds
with binary repositories in Oracle BI repository file format.
Provide the full path names to your repository files, both the input files and the output file, if they're located in a different directory.
The location of the equalizerpds
utility is:
BI_DOMAIN/bitools/bin
Syntax
The equalizerpds
utility takes the following parameters:
equalizerpds [-B original_repository_password] -C original_repository_name
{-E modified_repository_password]|-G} -F modified_repository_name [-I input_UDML_script_name][-J rename_map_file]
[-O output_repository_name] [-R output_apply_result_file] [-U output_id_map_file][-Y equalStringSet]
Where:
G
specifies to use the original repository password for the modified repository password.
rename_map_file is a text file containing a list of objects that were renamed and that you want to equalize. The format is a tab-separated file with the following columns:
TypeName Name1 Name2
For example, to include a logical column in the map file that was renamed from Name1 to Name2, provide the following:
ATTRIBUTE "BusinessModel"."Table"."Name1" "BusinessModel"."Table"."Name2"
Don't cut and paste this example as the foundation for your own file, because the tab separators might not get copied properly. Create a new file with proper tabs.
See About Values for TypeName.
equalStringSet
is a set of characters that you want to treat as equal.
The original_repository_password and modified_repository_password arguments are optional. If you don't provide these password arguments, you're prompted to enter the passwords when you run the command (password1 and password2). To minimize the risk of security breaches, Oracle recommends that you don't provide password arguments 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:
equalizedrpds -C original.rpd -F modified.rpd -O modified_equalized.rpd
password1: my_original_rpd_password
password2: my_modified_rpd_password
In this example, original.rpd is compared with modified.rpd, the Upgrade IDs are equalized using the Upgrade IDs from original.rpd, and the final result is written to modified_equalized.rpd.
About Values for TypeName
Learn about the available object types and their corresponding values for TypeName.
The table shows the available object types and their corresponding values for TypeName
.
Object Type | Value for TypeName |
---|---|
Database |
DATABASE |
Connection Pool |
CONNECTION POOL |
Physical Catalog |
CATALOG |
Physical Schema |
SCHEMA |
Physical Display Folder |
PHYSICAL DISPLAY FOLDER |
Physical Table |
TABLE |
Physical Key |
TABLE KEY |
Physical Foreign Key |
FOREIGN KEY |
Physical Column |
COLUMN |
Physical Complex Join |
JOIN |
Physical Hierarchy |
HIERARCHY |
Physical Level |
PHYSICAL LEVEL |
Cube Column |
COLUMN |
Cube Table |
CUBE TABLE |
LDAP Server |
LDAP SERVER |
Custom Authenticator |
CUSTOM AUTHENTICATOR |
Variable |
VARIABLE |
Application Role |
SECURITY ROLE |
User |
USER |
User Database Signon |
USER DATABASE SIGNON |
Project |
PROJECT |
Business Model |
SUBJECT AREA |
Logical Dimension |
DIMENSION |
Logical Level |
LEVEL |
Logical Display Folder |
LOGICAL DISPLAY FOLDER |
Logical Table |
LOGICAL TABLE |
Logical Source Folder |
LOGICAL SOURCE FOLDER |
Logical Table Source |
LOGICAL TABLE SOURCE |
Logical Column |
ATTRIBUTE |
Logical Join |
ROLE RELATIONSHIP |
Logical Key |
LOGICAL KEY |
Logical Foreign Key |
LOGICAL FOREIGN KEY |
Presentation Catalog |
CATALOG FOLDER |
Presentation Table |
ENTITY FOLDER |
Presentation Column |
FOLDER ATTRIBUTE |
Presentation Hierarchy |
PRESENTATION HIERARCHY |
Presentation Level |
PRESENTATION LEVEL |
Catalog Link |
CATALOG LINK |
Target Level |
CUSTOMER TYPE |
List Catalog |
LIST CATALOG |
Qualified Item |
QUALIFIED ITEM |
Qualifying Key |
QUALIFYING KEY |
Sampling Table |
SAMPLING TABLE |
Segmentation Catalog |
SEGMENTATION CATALOG |