Siebel Database Upgrade Guide for DB2 UDB 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 may 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. See the chapter of the Siebel Database Upgrade Guide that describes how to perform the Siebel Repository merge for further information on conflict resolution.
About the Repository Merge
The configuration utility that you ran while upgrading your development environment loaded two version 8.0 standard repositories. You must now use Siebel Tools to merge your existing custom configuration into one of these new repositories, creating a version 8.0 custom configuration that includes all of your previous configuration changes. The four repositories that currently exist in your development database are listed in Table 13.
Table 13. Development Environment Repositories
|
|
Prior V6.2.1 Siebel Repository or Prior V7.x Siebel Repository |
Standard version 6.2.1 or 7.x repository, depending on the version from which you are upgrading. |
Prior Customer Repository |
Customized version 6.2.1 or 7.x repository, depending on the version from which you are upgrading. |
New Customer Repository |
Newly loaded version 8.0 repository into which your custom configuration is merged. |
Follow the guidelines provided in Optimizing 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.
- Optimize the machine on which you are running the repository merge as follows:
- Optimize your database, because database performance can cause the repository merge to slow down considerably. Check the following:
To increase the foreground performance of the repository merge
- Navigate to Start > Control Panel > System.
- 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 machine.
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 and navigate to View > Options > Language Settings.
- 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.
- Use the File > Open Repository command to open the Prior Customer Repository.
CAUTION: 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 > Upgrade Application.
The Merge Repositories dialog box appears.
The Merge Repositories dialog box provides four options:
- 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 6.2.1 Siebel Repository or Prior 7.x 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, and then click Advanced.
The Merge Options dialog box appears.
- In the Merge Options dialog box, click Abort merge if more than x errors occur, as desired. This option aborts the repository merge automatically if more than a designated number of errors occur.
CAUTION: 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.
- 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.
A warning screen prompts you to prepare the Prior Customer Repository for the merge if you are upgrading from Release 6.2.1.
- In the Warning screen, choose the option for your upgrade path:
- For upgrades from Release 6.2.1, click Yes to execute Prior Customer Repository preparation steps.
- For upgrades from Release 7.x, click No to skip the Prior Customer Repository preparation steps. You completed these steps during a prior upgrade to Siebel 7.
The merge process begins. The repository merge process can take, on average, five to seven hours to complete. Timings can vary greatly depending on the kind of machine, the hardware configuration, virtual memory allocation, the use of the upgrade inheritance feature, and 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. Plan additional time 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 may 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 and click OK in the dialog box.
This launches the postmerge utilities. The postmerge utilities resolve common, merge-related user interface issues. For more information about the postmerge utilities, see Creating a New SRF File.
- After the postmerge utilities complete, do the following:
- Click OK in the Postmerge Utilities dialog box.
- Close the Merge Options dialog box.
CAUTION: Do not click Merge in the Merge Options dialog box. This will restart the merge.
When the postmerge utilities start, the Postmerge Utilities dialog box displays the log entries from the utilities. The steps for reviewing the log are part of evaluating the UI and are covered in a later process. The postmerge utilities can require several hours to complete.
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 8.0 ASCII database on which you will perform the repository merge. In the storage control file, the following tables must be defined with
CLOBS = 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 of the 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 of the 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 on 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 name= "New Customer Repository".
For example, if you copied a Comments value of:
APPLIED_PATCHES:Grid,UINavUpgrade,MVGUpgPatch77,UINavUpgrade,PCLWebTemplSwap,WFD,PM8.0;UpgEimCol,
Then, you need to execute the following command against the EBCDIC database:
Update s_repository set comments
='APPLIED_PATCHES:Grid, UINavUpgrade,MVGUpgPatch77,UINavUpgrade,PCLWebTemplSwap,WFD,PM8.0;UpgEimCol'
Where name=New Customer Repository'
|