Siebel Database Upgrade Guide for DB2 for z/OS > Performing the Siebel Repository Merge >
Performing a Siebel Repository Merge
Upgrades: All upgrades. Environments: Development environment only. This topic is part of an upgrade process. See How to Perform a Siebel Database Upgrade. During the repository merge, objects from the Prior Siebel Repository, Prior Customer Repository, and New Siebel Repository are compared by name to identify the total set of object differences. The process also determines how conflicts between repository changes are resolved as they are merged into the New Customer Repository. There are three basic categories of object differences:
The repository merge executes the following processing steps to identify object differences:
- New or deleted objects. Identify objects that the customer has added by comparing their names in the Prior Customer Repository with the Prior Siebel Repository.
All new customer objects are carried over from the Prior Customer Repository to the New Customer Repository. The repository merge typically avoids deletion of objects. Most of the objects that are deleted in the Prior Customer Repository reappear after the merge. The merge does this to avoid accidental deletion of objects which might be required. It does, however, allow deletion of specific types of objects. Such objects are deleted from the New Customer Repository during the merge.
Objects of the following types are deleted from the New Customer Repository:
- Objects with altered attributes. Identifies objects that exist in both the Prior Customer Repository and the New Siebel Repository, and compares the attributes of each object to determine if they have been modified. Attribute comparisons are of interest only for those attributes which were changed by the customer.
If an object attribute was altered in the Prior Customer Repository, but not in the New Siebel Repository, the customer's attribute value is merged into the New Customer Repository.
A conflict occurs, however, if an object attribute was altered in both the Prior Customer Repository and the New Siebel Repository, in which case the values in all three repositories would be different. In this event, the repository merge process uses the setting of the object attribute's StandardWins flag to determine how to resolve the conflict. If this is set to Y, the attribute value from the New Siebel Repository is used; if this is set to N, the attribute value from the Prior Customer Repository is used. Conflict resolutions can be overridden for each object attribute in the New Customer Repository. For additional information, see the topic about reviewing Siebel repository object property conflicts in the chapter in Siebel Database Upgrade Guide that describes how to perform the Siebel Repository merge.
About the Repository Merge
The configuration utility that you ran while upgrading your development environment loaded two version 8.1 standard repositories. You must now use Siebel Tools to merge your existing custom configuration into one of these new repositories, creating a version 8.1 custom configuration that includes all of your previous configuration changes. The four repositories that currently exist in your development database are listed in Table 12.
Table 12. Repositories in the Development Database
|
|
Prior V7.x Siebel Repository or prior V8 Siebel Repository |
Standard version 7.x or 8.0 repository, depending on the version from which you are upgrading. |
Prior Customer Repository |
Customized version 7.x or 8.0 repository, depending on the version from which you are upgrading. |
New Siebel Repository |
Newly loaded version 8.1 standard repository. |
New Customer Repository |
Newly loaded version 8.1 repository into which your custom configuration is merged. |
Follow the guidelines provided in Optimizing Performance of the Repository Merge and Optimizing Foreground Performance of the Repository Merge to improve performance of the repository merge. The repository merge is a memory-intensive process that fails if insufficient memory is available on the Siebel Tools workstation. Before beginning a repository merge, make sure that the following preparations have been completed on the developer workstation. Make sure that the developer workstation on which Siebel Tools is running has been upgraded to the newest available version. The method you use to perform a repository merge depends on whether your database uses an ASCII or EBCDIC encoding scheme:
Optimizing Performance of the Repository Merge
There are several ways in which you can reduce the time required to complete the repository merge.
Optimizing Foreground Performance of the Repository Merge
To improve the foreground performance of the repository merge, use the following procedure. To increase the foreground performance of the repository merge
- From the Start menu, choose Control Panel, and then the System menu option.
- Select the Advanced tab.
- Select the Performance Options button.
- In the Application Response box, click the Applications radio button and click OK.
- While the repository merge process is running, click on the title bar of the Siebel Tools application to verify that the Siebel Tools application is the foreground application on the computer.
NOTE: After the repository merge process has finished, set the Performance setting back to its former value.
Merging the Repositories for an ASCII Database
Perform the following task to merge the development repositories for an ASCII database. CAUTION: This procedure does not support EBCDIC databases. If you are upgrading a DB2 database that uses an EBCDIC encoding scheme, see Merging Repositories for an EBCDIC Database.
To merge the repository for an ASCII database
- Log in to Siebel Tools.
- From the Tools menu, choose View, Options, and then the Language Settings menu option.
- Verify that the language mode setting is set as desired.
This is the user interface language for SRF files compiled from the New Customer Repository. It will also be the language used by the postmerge utilities.
- Choose File, and then Open Repository to open the Prior Customer Repository.
NOTE: Open the Prior Customer Repository, not another repository. Later steps in the repository merge process fail if you open the wrong repository.
- Choose Tools, Upgrade, and then Upgrade Application.
The Merge Repositories dialog box appears.
The Merge Repositories dialog box provides the following options:
- Merge. This button merges the repositories you specify to produce a New Customer Repository.
- Cancel. This button cancels the repository merge and exits the Merge Repositories dialog box.
- Advanced. This button opens the Merge Options dialog box described in Step 8.
- In the Merge Repositories dialog box, choose the appropriate repository name from each picklist, using the repository names listed in the following table.
|
|
Prior Standard Repository |
Prior 7.x or 8.0 Siebel Repository, as appropriate for the version from which you are upgrading |
Prior Customized Repository |
Prior Customer Repository |
New Standard Repository |
New Siebel Repository |
New Customized Repository |
New Customer Repository |
- Review the settings in the Merge Repositories dialog box, then click Advanced.
The Merge Options dialog box appears.
- In the Merge Options dialog box, click the following check boxes as appropriate:
- Abort merge if more than n errors occur.
This option aborts the repository merge automatically if more than a designated number of errors occur.
NOTE: The typical repository merge generates many benign errors. If you select this option, set the number of errors to a large value. This will help prevent the repository merge from aborting due to benign errors.
- Incorporate Custom Layout.
Activate this option to help preserve field and button placement on prior custom or modified forms, views, and screens. Select a prior release and style for label placement.
The Prior Release is the release you are upgrading from. The Placement of Labels controls where labels are placed in forms. As of Siebel CRM version 7.7, label alignment of fields changed. Label vertical alignment changed from top to middle, font weight changed from bold to normal, and text alignment changed from left to right. Select Labels on Top and Labels on Left to preserve the look and feel of releases prior to Siebel CRM version 7.7.
- To continue, click OK.
- Click Merge on the Merge Repositories dialog box.
The Upgrade Check List dialog box appears.
- In the Upgrade Check List dialog box, you must confirm that your environment meets the requirements for a successful repository merge. Review each requirement and select the check box if your configuration meets or exceeds the requirement.
- To continue, click Continue. The merge process begins.
The repository merge process can take eight hours or more to complete. Timings can vary greatly depending on the kind of computer, the hardware configuration, virtual memory allocation, the use of the upgrade inheritance feature, and the level of customizations in the customer repository, such as new records or changed attributes. In addition to merging the base repository, all locales are merged. Additional time must be planned for each language, including the base language.
Customizations are moved to the New Customer Repository, which results in a large number of database operations (inserts and updates). For each of these operations, logging records are created, and these log records also affect performance. If the repository is large, or the database setup is not optimal, this might take much longer.
- After the merge completes, a dialog displays requesting that you make a backup of the New Customer Repository. Back up the New Customer Repository, then click OK in the dialog box.
To determine if the repository merge was successful, review the merge log files. You can then run the Siebel Postmerge Utilities. For information on both of these tasks, see the chapter in Siebel Database Upgrade Guide that describes how to perform a Siebel Repository merge. Merging Repositories for an EBCDIC Database
Perform the following task to complete a repository merge for an EBCDIC database. To perform a repository merge for an EBCDIC database
- Use the Import/Export Repository option in the Database Configuration Wizard to export the following repositories from your prior EBCDIC database:
- Prepare a new Siebel CRM 8.1 ASCII database on which you will perform the repository merge. In the storage control file, the following tables must be defined with CLOBS set to Yes:
S_SCHMST_DBSCPT
S_BITMAP_DATA
S_SERVICE_SCRPT
- Use the Import/Export Repository option in the Database Configuration Wizard to import the repositories exported from the EBCDIC database in Step 1 into the ASCII database prepared in Step 2.
NOTE: Make sure you select the Import Custom Repository option to import all languages used.
See Using Siebel Tools for information on importing repositories using the Database Configuration Wizard.
- Launch Siebel Tools against the ASCII database.
- Run the repository merge using the procedure, Merging the Repositories for an ASCII Database.
- Generate Siebel EIM temporary columns. This task is described in the chapter in Siebel Database Upgrade Guide that describes how to perform the Siebel Repository merge.
- Review the repository merge results to determine if the merge was successful. This task is described in the chapter in Siebel Database Upgrade Guide that describes how to perform the Siebel Repository merge. Verify that the repository merge was successful, and that all reported validation messages are either acceptable or fixed.
- Use the Database Configuration Wizard to export the merged repository (the New Customer Repository) from the ASCII database.
- Rename the existing New Customer Repository in the EBCDIC database.
- Use the Database Configuration Wizard to import the merged New Customer Repository back into the EBCDIC database.
- From the Tools application, pointing to the ASCII database, click Repository in the Object Explorer and copy the value against the Comments column for the New Customer Repository.
- Connect to the EBCDIC database through the DB2 command line and update the Comments column with the copied value on the table
S_REPOSITORY for the following value:
name= "New Customer Repository "
For example, if you copied a Comments value of:
APPLIED_PATCHES:Grid,UINavUpgrade,MVGUpgPatch77,UINavUpgrade,PCLWebTemplSwap,WFD,PM8.1;UpgEimCol,
Then, execute the following command against the EBCDIC database:
Update s_repository set comments
='APPLIED_PATCHES:Grid, UINavUpgrade,MVGUpgPatch77,UINavUpgrade,PCLWebTemplSwap,WFD,PM8.1;UpgEimCol'
Where name=New Customer Repository'
|