As promised in my last post, here are some more insights into the new Incremental Repository Merge (IRM) feature of Siebel CRM 8.1.1.10.
As you can read in Oracle's data sheet on IRM, "Incremental Repository Merge is a set of features within Siebel Tools that makes it easier and faster to import Siebel Innovation Packs from Oracle and customer-authored innovations." So it is a vital part of Oracle's Innovation Pack initiative for Siebel CRM, following a tight drumbeat schedule of delivering one pack of major innovations for the latest release(s) of Siebel CRM, namely 8.1.1. or 8.2.2.
According to the data sheet, IRM and other features such as Object Tagging, Siebel Delta Files (SDF) and visual workflow comparison ensure a more agile development environment.
Today, we are going to look at IRM itself and try to find out the differences between this new way of merging repositories and the traditional way.
3. Check-in and unlock all projects
5. Run statistics on the database
6. Merge repositories
7. Review log files
8. Apply schema changes and import seed data
9. Review merge conflicts
10. Run post-merge utilities
11. Full compile
12. Delete unneeded repositories
Before we start, let's get a copy of the latest Siebel Database Upgrade Guide, which has a new chapter on IRM.
The Upgrade Guide also explains how to set up Siebel Tools for the IRM, as described in my last post. Now we'll focus on the IRM process itself. Here is the cookbook:
- Edit the tools.cfg file
- Rename the repository
- Check-in and unlock all projects
- Generate repositories
- Run statistics on the database
- Merge repositories
- Review log files
- Apply schema changes and import seed data
- Review merge conflicts
- Run post-merge utilities
- Full compile
- Delete unneeded repositories
1. Edit the tools.cfg file
Before we start, we should ensure that we have the proper version of Siebel Tools (8.1.1.10 that is, enabled for iPack mode as described in the last post) on a decent Windows workstation (or server) with the appropriate amount of free memory (2 GB to be on the safe side).
Ensure that the tools.cfg file is set up correctly, especially with the following parameters:
EnableToolsConstrain = FALSE
SymStrPrefix = SBL_
Also, ensure that you add the /iPackMode switch to the shortcut you use to launch Siebel Tools. IRM and the other features are only available when Siebel Tools is run in "Innovation Pack Mode".
2. Rename the repository
If you are a member of the "lucky team", you might have contributed to a Siebel upgrade project from one major release (e.g. 7.8) to a newer one (e.g. 8.1). Then you probably remember the task of renaming the existing development repository from "Siebel Repository" to "Prior Customer Repository". Well, that hasn't changed with IRM.
So we log on to Siebel Tools against the development server database and rename the repository accordingly.
3. Check-in and unlock all projects
Ensuring that all developers have checked in their latest changes and all projects are unlocked in the development server database will save us a lot of trouble.
4. Generate repositories
Now the process can start. Open the Prior Customer Repository if needed and from the Tools menu, choose Upgrade | iPack Deployment Wizard.
This will launch the new wizard which will guide us through the IRM process. The first part of the process is all about generating (or importing) three additional repositories which are required for the merge. The Database Upgrade Guide gives us instructions how to apply an Oracle delivered innovation pack using the wizard.
- Click the Browse button and locate the \INNOVATION_PACK folder in the Siebel Tools installation directory. This folder is created when you install the Siebel Tools patch (e.g. 8.1.1.10).
- In the next dialog (Database Platform), select the appropriate database platform
- The next dialog (Choose ACRs) is obviously intended to allow a selection of ACRs (Advanced Customer Requests, sub-packages of a maintenance release). As of 8.1.1.10 we can only select Siebel Repository.
- Next, select the required language packs.
- Then comes the Select Repository(s) dialog where we choose the repositories according to the instructions.
This dialog has a striking resemblance to the merge dialog used during a full upgrade. The big difference here is that - at this point in time - we only have a single repository (Prior Customer Repository) in the database. The dropdown box for the prior standard repository allows us to select a Create option and the new standard and new customer options are read only. This is because the iPack Deployment Wizard will create (import) three repositories in the next step.
- In the Create Repositories and Merge dialog, we can now click the Start button (keeping fingers crossed as usual for quite a while).
You might ask yourself, where the repository data comes from. In a fashion quite similar to a full upgrade, the Siebel Tools patch installer places the flat files for the prior standard and new standard repositories into the /INNOVATION_PACK folder. For the 8.1.1.10 maintenance release, this is an 8.1.1.0 ("base") repository and an 8.1.1.10 repository which contains all ACRs delivered by Oracle between the base release and 8.1.1.10.
The import itself is accomplished by invoking the good ol' repimexp command line utility and you can expect this to take as long as it takes to import three repositories into your server database.
Once the wizard displays that the import process was completed successfully, we are instructed to hit the Pause button. To improve the performance of the upcoming merge, the Database Upgrade Guide explains how to execute the runstats command against the development server database.
6. Merge repositories
Once the database completes collecting statistics, we can continue (or restart) the Innovation Pack Deployment Wizard and launch the merge process itself.
Again, this is technically the same thing that happens during a full upgrade. Siebel Tools executes a three-way repository merge. This usually takes a few hours, so you can read the documentation now and keep your fingers crossed as usual.
7. Review log files
Once the merge process is complete, we should inspect the IRM_Merge#.log file (with # being a number, usually zero) in the Siebel Tools /log directory and verify that it doesn't show up with any errors or difficulties.
8. Apply schema changes and import seed data
Experienced Siebel upgraders might remember that the full upgrade always includes the Database Upgrade Wizard which takes care of the database-related stuff such as importing repositories and applying schema changes. Well, here's another difference: The IRM wizard takes care of the schema and also triggers the necessary command line utilities to import the new seed data which comes along with the innovation pack.
This is the final step in the IRM wizard.
9. Review merge conflicts
The merge process produces very detailed data (at the property level) about every single difference between the four repositories. We can use the traditional Siebel Tools view (Applications Upgrade Object List - accessible from the Screens menu) to look for conflicts as usual or use the new Hierarchical Merge Report which is part of the new IRM functionality.
As with a full upgrade, a full inspection (involving some SQL select statements directly against the S_MERGE% tables) filtering out unecessary data and diligent analysis of the merge results is the key to a successful upgrade. The outcome of this step (which can take some time) is a list of developer tasks to "repair" objects (hopefully only a handful or none at all) which the merge process has rendered unusable.
10. Run post-merge utilities
The Database Upgrade Guide now instructs us to run the post-merge utilities which are also part of a full upgrade. It might seem an unnecessary step but you would have to decide for or against this step on a project-by-project basis, depending on the customization of standard objects.
11. Full compile
The new Siebel Repository now contains all customizations and the ACRs delivered by Oracle as part of the innovation pack. Once the developers have finished their "repair" duties, we must run a full compile to produce a brand-new SRF file. Ensure that your project plan allots enough time for testing!
12. Delete unneeded repositories
This is the final step in any upgrade, be it "incremental" or "full". To reduce the burden of the database, we (export and archive) and delete the three unused repositories using Siebel Tools.
Summary
The new Incremental Repository Merge bears much similarity to a full version upgrade. The biggest difference is that there is a single wizard which runs in Siebel Tools and takes care of all technical steps as opposed to a multi-utility approach in a "big" upgrade. Nonetheless, the same lengthy import and merge process are executed against the database so there is much room for errors or difficulties. In addition, project teams must be aware that the Oracle delivered repository data might be in conflict with existing customizations, so the same level of scrutiny and diligence must be adhered to as in a "big" upgrade project.
have a nice day
@lex