Upgrade Guide for DB2 UDB for z/OS and OS/390 > Performing the Siebel Tools Repository Merge >

Performing a Repository Merge


Upgrades: All upgrades.

Environments: Development environment only.

This topic is part of an upgrade process. See How to Perform the 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:

  • New
  • Deleted
  • Modified

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:

    • Control
    • Chart
    • List Column
    • Applet Web Template Item
    • Page Tab
    • View Web Template Item
  • 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 Reviewing Attribute Conflicts in the Repository Merge for examples of conflict resolution.

About the Repository Merge

The configuration utility that you ran while upgrading your development environment loaded two version 7.7 standard repositories. You must now use Siebel Tools to merge your existing custom configuration into one of these new repositories, creating a version 7.7 custom configuration that includes all of your previous configuration changes.

The four repositories that currently exist in your development database are listed in Table 22.

Table 22. Development Database Repositories
Repository Name
Description

Prior V6.x Siebel Repository or Prior V7.x Siebel Repository

Standard version 6.x or 7.x repository, depending on the version from which you are upgrading.

Prior Customer Repository

Customized version 6.x or 7.x repository, depending on the version from which you are upgrading.

New Siebel Repository

Newly loaded version 7.7 standard repository.

New Customer Repository

Newly loaded version 7.7 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.

  • Use a workstation with a minimum of 512 megabytes (MB) of RAM and at least 2 GB of virtual memory or a 2-GB page file. Otherwise, the repository merge does not complete successfully.
  • Close all other applications before performing a repository merge.

    NOTE:  Some repositories may require additional memory, based on level of customizations.

  • If necessary, increase the swap space, using the Control Panel System applet, and then restart the development workstation before proceeding.
  • Make sure you have a high-performing network connection.

    NOTE:  A slow network connection significantly increases the time required for the repository merge.

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.

  1. Optimize the machine on which you are running the repository merge.
    • Use a workstation with a minimum of 512 megabytes (MB) of RAM.
    • Allocate at least 2 GB of virtual memory, and a 2 GB page file. If the amount of virtual memory on the system is too low, performance degrades significantly.
    • Close all other applications.
    • Close all services.
    • Defragment the disk. Fragmentation significantly affects system performance.
    • On the workstation, check that the environment variable SIEBEL_LOG_EVENTS is set to zero. To check, enter the following command at the MS DOS prompt: echo %SIEBEL_LOG_EVENTS% If this variable is not set, no action is required. However, if SIEBEL_LOG_EVENTS is returned with a value other than zero, you must set it to zero by performing the following steps:
      • Close Siebel Tools and any other Siebel client applications.
      • Navigate to Start > Settings > Control Panel > System > Environment.
      • In the Environment dialog box, in the System Variables box, select SIEBEL_LOG_EVENTS. Enter 0 in the Value box, and click Set. Click OK.
      • Relaunch Siebel Tools. The new setting becomes active.

        NOTE:  The steps you need to take to set this variable may vary depending on the operating system you are using.

  2. Optimize your database, because database performance can cause the repository merge to slow down considerably.
    • Make sure that temporary tablespace has enough space allocated.
    • Make sure the database has enough space allocated.
    • Make sure that the top-most logging applet in tools has no extra rows (from previous repository merge runs) when starting the repository merge.
    • Make sure that the database is not loaded with users when repository merge is run (no other users should be connected).
    • Delete extra repositories from the database using Siebel Tools. Running the repository merge on a database with more than the four repositories which are needed for the repository merge degrades repository merge performance. Before deleting extra repositories, make backups.

      NOTE:  Deletion of extra repositories can take a few hours.

  3. Run the repository merge on a different machine than the Siebel Database Server. When you run the repository merge on a different machine, you can increase the foreground performance of the repository merge. To do this, increase the application performance setting on the machine and verify that the Siebel Tools application is the foreground application.

To increase the foreground performance of the repository merge

  1. Navigate to Start > Control Panel > System.
  2. Select the Advanced tab.
  3. Select the Performance Options button.
  4. In the Application Response box, click the Applications radio button and click OK.
  5. While the repository merge process is running, click on the title bar of the Siebel Tools application to ensure 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

  1. Log in to Siebel Tools and navigate to View > Options > Language Settings.
  2. 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.

  3. 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 opened the wrong repository.

  4. Choose Tools > Upgrade > Upgrade Application.

    The Merge Repositories dialog box appears.

    Click for full size image

    The Merge Repositories dialog box provides four options:

    • Merge. This button merges the repositories you specify to produce a New Customer Repository.
    • Reports (for upgrades from Release 6.x only). This button manually launches the postmerge reports for user interface configuration described in Upgrade Guide. For upgrades from Release 7.x, these reports are automatically generated after the repository merge.

      CAUTION:  Do not select Reports unless you are upgrading from Release 6.x and have already completed your repository merge.

    • 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 5.
  5. In the Merge Repositories dialog box, choose the appropriate repository name from each picklist, using the repository names listed in the following table.
    Drop-Down List Item
    Value to Choose

    Prior Standard Repository

    Prior 6.x 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

  6. Review the settings in the Merge Repositories dialog box, and then click Advanced.

    The Merge Options dialog box appears.

  7. 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.

  8. To continue, click OK.

    The Upgrade Check List dialog box appears.

  9. 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.
    Click for full size image
  1. 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.x.

  2. In the Warning screen, choose the option for your upgrade path:
    • For upgrades from Release 6.x, 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.
      Click for full size image

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. Additional time should 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 may take much longer.

  1. 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. See Upgrade Guide for more information about the postmerge utilities.

  2. 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 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

  1. After preparing to run the Database Server configuration utility, use the repimexp utility to export the following repositories from your prior EBCDIC database:
    • Prior Standard Repository
    • Prior Customized Repository
    • New Standard Repository
    • New Customer Repository

      To export a repository, type the following command in the command line:

    repimexp /A E ARGUMENT_LIST

    The following parameter settings are passed as export arguments to repimexp.

    Parameter
    Required
    Meaning

    /U USER_NAME

    Yes

    Siebel administrator user name.

    /P PASSWORD

    Yes

    Siebel password.

     

    /C ODBC_DATASOURCE

    Yes

    ODBC data source. The default is the value in the SIEBEL_DATA_SOURCE environment variable.

     

    /D TABLE_OWNER

    Yes

    Siebel Database tableowner. The default is the value in the SIEBEL_TABLE_OWNER environment variable.

    /W LANGUAGE_CODE

    Yes

    Language mode, such as ENU or JPN. The default is SIEBEL_LANGUAGE. If this is not set, the default is ENU.

    /R REPOSITORY

    Yes

    Repository name. The default is Siebel Repository.

    /1 EXPORT_REPOSITORY_USERNAME

    Yes

    Export repository user name. The default is the same as for /U.

    /2 EXPORT_REPOSITORY_PASSWORD

    Yes

    Export repository password. The default is the same as for /P.

    /3 EXPORT_REPOSITORY_ODBC_DATASOURCE

    Yes

    Export repository ODBC data source. The default is the same as for /C.

    /4 EXPORT_REPOSITORY_TABLE

    Yes

    Export repository tableowner. The default is the same as for /D.

    /5 EXPORT_REPOSITORY

    Yes

    Export repository name. The default is Siebel Repository.

    /B APPLICATION_SERVER_ROOT

    Yes

    Siebel Server installation directory to override SIEBEL_HOME environment variable.

    /F DATA_FILE

    Yes

    Data file, including path, to which to export.

    /T <Y|N>

    No

    Test only, do not export into database.

    • Y=Yes
    • N=No

    /V <Y|N>

    No

    Verify data. The default is N.

    /N <0|1|2>

    No

    Change creation and update information:

    • 0= no change
    • 1= change CREATED_BY, UPDATED_BY
    • 2=change CREATED_BY, UPDATED_BY, dates columns

    The default is 1.

    /M <Y|N>

    No

    Commit changes even if verification fails. The default is N.

    /L LOG_FILE

    No

    Log file for output messages.

  2. Prepare a new Siebel 7.7 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
  3. Use the repimexp utility to import the repositories exported from the EBCDIC database in Step 1 into the ASCII database prepared in Step 2.
    • To import a repository using repimexp, type the following command in the command line:

    repimexp /A I /G LANGUAGE_CODES

    where LANGUAGE_CODES is a list of all languages used, for example, ENU, FRA, JPN.

    NOTE:  If you want to import your repository with locale objects, you must specify at least one language code. Otherwise no locale objects are imported. Therefore, when you compile the imported repository, it will not have any text in the user interface.

  4. Launch Siebel Tools against the ASCII database.
  5. Run the repository merge using the procedure, Merging the Repositories for an ASCII Database.
  6. Perform the taskGenerating EIM Temporary Columns After a Repository Merge.
  7. Perform the task Determining if a Repository Merge was Successful to review the repository merge results. Verify that the repository merge was successful, and that all reported validation messages are either acceptable or fixed.
  8. Use the repimexp utility to export the merged repository (the New Customer Repository) from the ASCII database.
  9. Rename the existing New Customer Repository in the EBCDIC database.
  10. Use the repimexp utility to import the merged New Customer Repository back into the EBCDIC database.
  11. 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.
  12. 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,PM7.7;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,PM7.7;UpgEimCol'

    Where name=New Customer Repository'

Upgrade Guide for DB2 UDB for z/OS and OS/390