16-4 Metadata Repository Builders Guide for Oracle Business Intelligence Enterprise Edition
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 have 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 is hard to tell that this action occurred, because the Administration Tool typically shows only the object name
and properties, not the underlying upgrade ID.
It is very useful run the equalizerpds utility on your repositories before merging them to equalize your changes. Equalizing any opposing changes such as a column that has
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. In other words, intentional renames you did
in the repository might be changed to different upgrade IDs, so subsequent merges erroneously treat the renamed object as a new object. To avoid this 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.
Using the Equalize Objects Dialog
The Equalize Objects dialog gives you a preview of what your repository will look 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 does not persist any of the changes. Note that using the Equalize Objects dialog can be
a very slow process for larger repositories.
To view and use the Equalize Objects dialog: 1.
In the Administration Tool, open your 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 typically the original repository.
4. In the Open Offline dialog, enter the repository password and click OK. The
Compare repositories dialog is displayed.
5. Click Equalize to display the Equalize Objects dialog.
Tip: You can view the upgrade ID for repository objects using the
Query Repository dialog. To do this, follow these steps:
1.
Select Tools, then select Query Repository.
2.
Run a query. See Querying and Managing Repository Metadata
for details.
3.
Click Columns.
4.
Select Upgrade ID from the list. You can use the Find button to help locate the Upgrade ID.
5.
Click OK. A new column showing the upgrade IDs appears in the Results list.
Managing Oracle BI Repository Files 16-5
6.
The Equalize Objects dialog shows a list of changes where you may want to consider objects with different upgrade IDs to be the same object. You can use the
following options to model how the changes might get equalized:
■
Click Automatic to automatically equalize changes related to objects that have the same name. The changes appear in the Equated table.
If no changes can be automatically equalized, nothing appears in the table, and the OK button remains disabled.
■
Select an object in the Deleted list, then select the equivalent object in the Created list and click Add or Add Plus to equate the objects. Add Plus adds
the object along with its child objects to the Equated table, while Add simply adds the selected object. For example, if you select a Subject Area and click
Add Plus
, the underlying Presentation Tables and Presentation Columns are added as well.
After you make a manual selection, the Automatic button is disabled.
■
Select a row in the Equated table and select Remove or Remove All to remove objects from the Equated table. Remove All removes the object along with its
child objects, while Remove simply removes the selected object
The Automatic button is enabled after all manual selections are removed. 7.
When you are finished modeling the changes, click OK. The changes appear in the Compare Repositories dialog, but the changes do not persist after you close the
dialog.
Figure 16–2 Equalize Objects Dialog
Using 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 are considered to be
the same object. The utility compares upgrade IDs from the first repository typically the original repository with upgrade IDs from the second repository typically the
modified repository. Then, the utility equalizes the upgrade IDs of objects with the same name, using the upgrade ID from the original repository.
Before running equalizerpds, you must first run bi-init.cmd or bi-init.sh on UNIX systems to launch a command prompt that is initialized to your Oracle instance. You
can find this utility in:
ORACLE_INSTANCEbifoundationOracleBIApplicationcoreapplicationsetup
16-6 Metadata Repository Builders Guide for Oracle Business Intelligence Enterprise Edition
Then, run equalizerpds from the resulting command prompt with the desired options. You can run the utility from this directory with no arguments or parameters to see
usage information.
The utility takes the following parameters: equalizerpds [-B original_repository_password] -C original_repository_name
[-E modified_repository_password] -F modified_repository_name [-J rename_map_file] [-O output_repository_name] [-Y equalStringSet]
Where: 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
Do not 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
for more information about valid TypeName values. equalStringSet is a set of characters that you want to treat as equal.
Note that the original_repository_password and modified_repository_ password
arguments are optional. If you do not provide these password arguments, you are prompted to enter the passwords when you run the command password1
and password2. To minimize the risk of security breaches, Oracle recommends that you do not provide password arguments either on the command line or in scripts.
Note that the password arguments are supported for backward compatibility only, and will be removed in a future release.
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
Table 16–3 shows the available object types and their corresponding values for
TypeName.
Note: Be sure to provide the full pathnames to your repository files,
both the input files and the output file, if they are located in a different directory.
Table 16–3 TypeName Values
Object Type Value for TypeName
Database DATABASE
Managing Oracle BI Repository Files 16-7
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
Table 16–3 Cont. TypeName Values
Object Type Value for TypeName
16-8 Metadata Repository Builders Guide for Oracle Business Intelligence Enterprise Edition
Merging Repositories
You can use the Merge Repository Wizard in the Administration Tool to merge repositories RPD files. There are three types of merges:
■
Full merges are typically used during development processes, when there are two different repositories that need to be merged. The Administration Tool provides a
three-way merge feature that lets you merge two repositories that have both been derived from a third, original repository. Full merges can also be used to import
objects from one repository into another.
■
Patch merges are used when you are applying the differential between two versions of the same repository. For example, you might want to use a patch
merge to apply changes from the development version of a repository to your production repository, or to upgrade your Oracle BI Applications repository.
■
Multiuser development merges are used when you are checking in projects using a multiuser development environment. See
About the Multiuser Development Merge Process
for more information. See also
Appendix D, Merge Rules for additional information about how repository
objects are merged. This section contains the following topics:
■
Performing Full Repository Merges
■
Performing Patch Merges
Performing Full Repository Merges
You can use the Administration Tool to merge different repositories. This section describes how to use the full standard repository merge feature in the
Administration Tool.
This section contains the following topics:
■
About Full Repository Merges
■
Performing Full Repository Merges With a Common Parent
■
Performing Full Repository Merges Without a Common Parent
About Full Repository Merges
The merge process typically involves three versions of an Oracle BI repository: the original
repository, modified repository, and current repository. The original
repository is the original unedited file the parent repository, while the modified and Target Level
CUSTOMER TYPE List Catalog
LIST CATALOG Qualified Item
QUALIFIED ITEM Qualifying Key
QUALIFYING KEY Sampling Table
SAMPLING TABLE Segmentation Catalog
SEGMENTATION CATALOG
Table 16–3 Cont. TypeName Values
Object Type Value for TypeName
Managing Oracle BI Repository Files 16-9
current repository are the two changed files you want to merge. The current repository is the one currently open in the Administration Tool.
During the merge process, the Administration Tool compares the original repository with the modified repository and the original repository with the current repository.
Conflicts occur when there are conflicting changes resulting from the two comparisons. For example, a conflict occurs if you rename object A to B in the
modified repository, but you rename object A to C in the current repository.
The Merge Repository feature lets you decide on an object-by-object basis which changes you want to keep in the final merged repository. If there are no conflicts,
merging is automatic.
There are two types of full merge:
■
Common Parent. This merge, also called a three-way merge, is useful when you
have a common parent repository and two derived repositories see Figure 16–3
. There is a parent original RPD, and two derived RPDs file version 1 and file
version 2. After the merge, a fourth merged repository file is created.
Figure 16–3 Full Merge With a Common Parent
■
No Common Parent. This merge, also called a two-way merge, is useful when you
want to import objects from one repository to another. In this case, objects are merged from two different repositories with no common parent. To accomplish
this, you perform a three-way merge in the Administration Tool with a completely blank repository as the original file see
Figure 16–4 . This functionality replaces
the Import from Repository feature that was deprecated in an earlier release.
16-10 Metadata Repository Builders Guide for Oracle Business Intelligence Enterprise Edition
Figure 16–4 Full Merge Without a Common Parent
Performing Full Repository Merges With a Common Parent
This section explains how to use the Administration Tool to perform a full repository merge with a common parent. Typically, this approach is used when you have an
original
parent repository and would like to merge the changes made to objects in two
modified repository versions current and modified. Objects that do not exist in the current repository are created as new objects.
To merge two versions of an Oracle BI repository file with a common parent: 1.
In the Administration Tool, open the current repository in offline mode. 2.
From the Administration Tool menu, select File, then select Merge. The Merge Repository Wizard appears.
Figure 16–5 shows the Merge Repository Wizard.
Managing Oracle BI Repository Files 16-11
Figure 16–5 Merge Repository Wizard: Select Input Files Screen Full Merge
3. In the Select Input Files screen, for Merge Type, select Full Repository Merge.