Friday, December 28, 2012

Merging/Importing Objects from Different Repositories using Oracle BI Administration Tool


Purpose

This tutorial covers how to merge/import objects from different repositories using the BI Administration tool. The three-way merge technique is discussed in various scenarios — such as three way with common parent (also called standard three-way merge), three-way merge with no common parent (sometimes called as two-way merge).


Overview

This tutorial covers how to merge/import objects from different repositories using the BI Administration tool. You will be guided to merge/import the objects in different scenarios — such as three way with common parent (also called standard three-way merge), three-way merge with no common parent (sometimes called as two-way merge). This tutorial also covers the concepts of Web Catalog migration for archiving and unarchiving repository objects with an example.

You should be familiar with the functionality of the BI Administration tool. This tutorial uses Sales History repository (SH.rpd), and the rpd file along with the instructions to set up the same are provided in the Prerequisites section.
So, to continue with the steps listed in the topics, you should have installed the required software, and performed the setup for SH.rpd repository, and other steps as mentioned in the Prerequisites section.

Prerequisites

Before starting this tutorial, you should:
1.
Have access to or have installed Oracle Database 10g (preferably version 10.2)
2.
Have access to or have installed the sample schemas (specifically SH)


3.Have installed Oracle BI Enterprise Edition 10.1.3.3.
4.Have completed the tutorial"Creating a Repository using Oracle Business Intelligence Administration Tool." It is also recommended that you complete the tutorial "Setting Up Multi-User Development Environment using Oracle BI Administration Tool."

5.Have set up the Sales History (SH.rpd) repository following the instructions given here:
  1. Click Start > All Programs > Administrative Tools > Services.
  2. In the Services dialog box, select the Oracle BI Presentation Server and select Action > Stop to stop the service. Also, stop the Oracle BI Server. These services can be stopped in any order.
  3. Create a directory named SetupFiles under <InstallDrive>. Download and extract the SH.zip file from hereto this directory named SetupFiles.
  4. Using Windows Explorer, navigate to the SetupFiles folder and copy the sh folder and its contents to<InstallDrive>:\OracleBIData\web\catalog. This is a backup of the Presentation Catalog corresponding to the Sales History content.
  5. Open <InstallDrive>:\OracleBIData\web\config\instanceconfig.xml in Notepad and edit the CatalogPath section to point to the directory you just copied (as shown in the screen below). The path should be:<InstallDrive>:/OracleBIData/web/catalog/sh

  6. Navigate to the SetupFiles folder and Copy sh.rpd to <InstallDrive>:\OracleBI\server\Repository.
  7. Open <InstallDrive>:\OracleBI\server\Config\NQSConfig.ini in Notepad and edit the repository name to point to the sh.rpd repository you just copied. In the Repository section, enter before "Star" to comment out any other repository name entry. Then, below that entry, create a new line and enter Star = sh.rpd, DEFAULT; to point to your repository (as shown in screen below):



    Note: NQSConfig.ini is the initialization file read by the Business Intelligence Server when it starts up. It contains a number of parameters that control server settings and behavior. In this step, you have set up the parameter that tells the server to read sh.rpd metadata repository.
  8. Now go back to the Services dialog box, and start the Oracle BI Server, and the Oracle BI Presentation Server services.
Note: Screen captures for this tutorial were taken in a Windows XP environment. Therefore, the Start menu options may vary slightly if you are using any other Windows environment.

Overview of Three-Way Merge: Scenarios
You can set up and work in a multiuser development environment (MUDE) and finally merge the changes made by multiple developers/users into a repository using the BI Administration tool. The Oracle BI repository development process adheres to the classic Software Configuration Management (SCM) process, which utilizes a three-way merge to manage concurrent development. Changes are managed by merge and reconciliation. Most of the merging process is automatic, and changes do not conflict. In case of any conflicts, developers can resolve them. This is covered in the OBE "Setting Up Multi-User Development Environment (MUDE) using Oracle BI Administration Tool."
However, as an administrator you may want to manually merge the changes from multiple repositories or import objects from different repositories outside of MUDE. Oracle BI Enterprise Edition offers inherent support for the classic 3 Way merge in both the multiuser development (MUD) and outside the MUD environments. The two main scenarios (outside of MUDE) are discussed in this tutorial:

The Standard 3 Way Merge (3 Way Merge with Common Parent) : This merge is useful when you have a common parent repository and two derived repositories. For example, you may have a development and a production repository, both derived from a common parent repository. You may want to import/merge the changes from the development repository to the production repository. The three-way merge process in this case is indicated in the diagram on the left where there is a Parent RPD, and two derived RPDs — RPD A, and RPD B. After the merge, a 4th merged repository file (Merged RPD in the diagram) is created. (Modified or new objects are listed with asterisk '*' beside them ). In RPD A, the object Obj1 is modified, and a new object NewObjX is created. Similarly, a new object NewObjB is created in RPD B. When these two repositories are merged, note that the merged repository contains the obj1 (inherited from parent, and modified in RPD A), and also contains the new objects (NewObjX , NewObjB ) from both the repositories.



3 Way Merge with No Common Parent: This is a special case of merge where you are merging objects from two different repositories with no common parent (sometimes referred to as 2 way merge). For example, as an administrator, you may want to import objects (such as subject areas, folders) from a different repository into your current or working repository. In this case the repositories to be merged do not have a common parent. This scenario is depicted in the diagram (on the right). In this case both the repositories are treated as different and conflicting object names are duplicated (with a suffix #N, N- number) while merging or importing. The diagram indicates this scenario of no common parent, where RPD A and RPD B are treated as separate repositories and are compared to a blank repository. The merging process in this case will not overwrite Obj1; instead both copies of Obj1 (Obj1, Obj1#1*) from RPD A and RPD B are retained in the merged repository. Also, note that new objects from both the repositories (NewObjB*, NewObjX*) are created in the merged repository .

In this tutorial you are guided through the steps to perform the 3 way merge with and also without a common parent repository. Web Catalog migration concepts are also covered. The base repository that you will be using in this tutorial is SH.rpd (which you have installed by performing the steps in the Prerequisites section).


Merging the Objects from Different Repositories With a Common Parent (The Standard 3- Way Merge)

In this topic a simple scenario of standard 3 way merge is discussed. For example, you may have a development or current repository that you are working on, and also a modified repository in which the changes are made (both repositories derived from the same parent). Now you can compare these two repositories with an original repository and merge changes to create a fourth merged repository file. This scenario is simulated in this topic.
Follow the steps listed below:
1.Navigate to <Install Drive>:\OracleBI\server\Repository. (Close any instances of the BI Administration tool.)
Make three copies of sh.rpd and rename them as sh_original.rpdsh_current.rpd, and sh_modified.rpd. The folder now should look like the screen below:


Note: All the three repository copies are identical as of now, but you will make modifications and merge the changes later.
2.Now open the sh_modified.rpd offline in the BI Administration tool.
From the Windows All Programs menu, select Oracle Business Intelligence > Administration.
In BI Administration tool select File > Open > Offline. Select the sh_modified.rpd file to open this repository in offline mode. (Note that you will be making the changes to this repository).


Log in as Administrator (password Administrator).
3.Now you'll make modifications to the repository.
Expand the SH node in the Presentation layer of the BI Administration tool.
Make the following changes:
Expand the Products node.
4.Double-click Prod Category to change the properties. The Presentation Column- Prod Category dialog appears. Click Edit.

Enter Product Category in the Name field to change the display name of the column. Click OK.

Click OK again to close the dialog.
Similarly, change the names of the columns Prod Subcategory and Prod Name to Product Subcategory, andProduct Name respectively in the Products table of the Presentation Layer.


5.Also make some more changes to the repository as follows:
Delete the Promotions table from the Presentation layer. Right-click Promotions and select Delete.

Click Yes in the confirmation dialog to delete this object.


6.Now save this modified repository. Select File > Save to save the changes to the repository file.
When prompted to check for global consistency, click No.

Note that we are simulating a scenario of a modified repository. In the real-time scenario it may be advisable to check the global consistency, as this would validate the consistency of the metadata repository.
For example, if you click Yes in the above case to check the Global Consistency, the following warnings are displayed in the Consistency Check Manager.

Select File > Close to close the sh_modified repository.
7.Now open the sh_current.rpd in offline mode as Administrator in BI Administration tool.

Note that none of the changes you made before to the other repository are reflected in this, as you haven't merged the changes from the modified repository.
8.Now, make the following changes in the current repository:
Right-click Demographics in the Presentation layer and select Delete to delete this object.

Click Yes to confirm the deletion.
9.Now you have a current /working repository (sh_current. rpd), and you have a modified repository (sh_modified.rpd) derived from the same parent repository (sh_original.rpd). The next step is to merge the changes.
Select File > Merge in BI Administration window where you have the sh_current repository open.
10.The Select Original Repository dialog appears, select sh_original.rpd as the original repository for the merge. Click Open.
When prompted for the password for Administrator, enter Administrator as the password, and click OK.


11The Merge Repositories window appears. Note that the sh_orginal.rpd repository is reflected in the Original repository field. Also, note that the changes made to the current repository are listed.

Click the Select button beside the Modified repository field to select the modified rpd file.

Select sh_modified.rpd file and click Open.

When prompted to enter the password for Administrator, enter Administrator as the password.
12.Now click the Select button beside the Save merged repository as field, to give a different name than the default name for the merged repository which will be created as a result of this merge process.
Enter sh_merged.rpd as the file name and click Save.

13.This takes you back to the Merge Repositories window. Select the Show Qualified Names check box, and click the record in the log that is displayed below this option. All the three repositories are displayed with the changes made reflected. Observe the highlighted portions of the screen below:
Click Stats to see the statistics:

Also click the  button to see the details:
14.Now you have to make the decision to select the changes in the current repository or modified repository. Select the record that shows the deletion of the Demographics table in the current repository. Scroll to the right to see theDecision column, and select Modified (A) from the drop down list.

Note: This option retains the changes in the modified repository over the current repository with reference to theDemographics table. You can also select Current option from the drop-down list, and that will retain the changes in the current repository over the modified repository with reference to Demographics.
15.After the decision options are selected, you can see that the Merge option is enabled. Click Merge.

When prompted to check the global consistency , click No.
16.The sh_merged repository is opened in the BI Administration tool. Note that the changes made to the modified repository are reflected in the merged repository. That is, the Promotions table does not exist in the merged repository Presentation layer, and also the names of the columns are changed in the Products table. However, note that the Demographics table still appears in the merged repository because you have selected Modified (A) option over the Current option in the Decision drop-down list when merging the repositories.


Also note that a simple example is discussed here, and there can be many scenarios for the Standard 3 Way Merge.

Merging/Importing the Objects from Different Repositories With No Common Parent

There can be various scenarios for this technique. In this topic, a simple scenario of importing new objects from different repositories is discussed. That is, the objects in both the repositories don't conflict. This scenario is simulated here. First you create a blank repository, and then merge the objects from two different repositories — SH.rpd, and UsageTracking .rpd.
Follow the steps listed below:
1.First you need to create a blank rpd in the BI Administration tool. (This is a one-time process and can be used for future imports too if required).
From the Windows All Programs menu, select Oracle Business Intelligence> Administration.
In the BI Administration tool select File> New (or click New icon).


Enter Blank. rpd as the name of this new repository and click Save.

You can see that a blank repository is opened in the BI Administration tool. Select File > Close and close the
Blank. rpd.



2.Now open the sh.rpd in offline mode as Administrator. (This will be the source repository.)

In the BI Administration tool select File > Open > Offline. Select the sh.rpd file to open this repository in offline mode. (Note that you will be making the changes to this repository).


Log in as Administrator (password Administrator).


3.Select File > Merge.
This opens the Select Original Repository dialog. Select Blank.rpd as the original repository, and click Open.


If prompted for the Administrator's password, do not enter any password, and click OK.
4.The Merge Repositories window opens with the Blank.rpd selected as the Original Repository.
Click the Select button next to the Modified Repository field to select a different repository to merge the objects from.

Select the Modified Repository dialog that appears.
Navigate to the path <Install Drive>:\OracleBI\server\Sample\usagetracking, select UsageTracking.rpd.
Click Open.

If prompted to enter the password for Administrator user, do not enter any password and click OK.


5.Now, click the Select button beside the Save the merged repository as field to give a different name than the default one. Enter a suitable name such as sh_merged_no_CP.rpd (to indicate that this is the destination/merged repository when there is no common parent).



6.Now you have to make the decision to select the changes in the current repository or modified repository.
Select the record that shows SH.rpd. Scroll to the right to see the Decision column, and select Modified (D) from the drop-down list. Now click Merge to merge the two repositories:

When prompted to check for global consistency, click No.

Note that we are simulating a scenario of a merge with no common parent. In the real-time scenario it may be advisable to check the global consistency, as this would validate the consistency of the metadata repository.
7.The sh_merged_no_CP.rpd is opened in the BI Administration tool after the merge. Observe that the Usage Tracking subject area is imported into this merged repository which was not originally present in the sh. rpd.

Observe the new objects that are imported into the Presentation, Business Model and Mapping, and also the Physical layer as a result of this merge.
Note: However, there can potentially be another scenario of importing the objects with no common parent when a repository has modified or conflicting objects too. This approach is slightly different as you are merging the changes into the same repository that you are working on, and if an object being imported already exists in the repository, it is compared to the existing object and the one with the latest modifications is kept in the merged repository.

Summary

In this tutorial, you learned how to: