Tuesday 24 June 2014

How to go about Siebel Upgrade - your path to Open UI!

Ok, if you have reached to this post then, it means you have decided to upgrade your Siebel. If still not sure then, review my previous blog on Siebel upgrade Vs moving to cloud and then come back here.

In this part I will be covering all the preparation work that you need to do to go for Siebel upgrade. 

These are the questions you need to first get clarified:
1) What is your current version and is it SEA or SIA?
This will determine, whether you can have one step upgrade or you need to have two step upgrade.

2) What is your current DB version. Is your database Unicode compliant?
Latest Siebel works on Oracle R11g and unicode at best. You may need to plan for DB upgrade along with Unicode conversion.

3) Do you have actuate reports to be migrated to BIP?
If yes, you need to include in your plan to convert all actuate reports into BIP and will increase your upgrade and testing window.

4) Do you have Old Siebel eScript T (typeless) Engine or New ECMA Version 4 ST (Strong Type) Engine?
Siebel 8.*, by default has ST Engine for eScripting. If you have T Engine, you may need to validate most of your eScript code to make it compliant with ST Engine.

5) Do you have CTI telephony integration? 
In Siebel 8.*, the CTI architecture is completely changed. If you have CTI, you need to study more to understand the new system.

Identify your Siebel upgrade path:
You can perform one step upgrade directly from following previous releases to Siebel 8.1.1.11 SIA:
  • Siebel 7.5.3 SIA
  • Siebel 7.7.2 SIA
  • Siebel 7.8.2 SEA and 7.8.2 SIA
  • Siebel 8.0 SEA and 8.0 SIA
  • Siebel 8.1.1 SEA
See below table for full details taken from Oracle bookshelf 
Current Version
Upgrade Approach
Upgrade Tasks
7.5.3 SEA through 7.7.2 SEA * Full database upgrade.
* Two-step repository upgrade.
You must perform a two-step repository upgrade:
* Upgrade 7.5.3 SEA through 7.7.2 SEA to 8.1.1 SEA
* Upgrade 8.1.1 SEA to 8.1.1.11 SIA
7.5.3 SIA * Full database upgrade.
* Single-step upgrade.
Perform a full database upgrade. A Development environment upgrade and a Production environment upgrade is required.
* You can directly upgrade to Siebel CRM version 8.1.1.11. It is a single-step upgrade and post-upgrade process.
* The New Customer repository, generated through a three-way repository merge, contains all the content from the Siebel CRM version 8.1.1.11 Innovation Pack.
7.7.2 SIA
7.8.2 SIA and SEA
8.0 SIA and SEA
8.1.1.0 to 8.1.1.7 SEA
8.1.1.0 to 8.1.1.9 SIA * Maintenance release installation.
* Incremental repository merge.
Run Oracle Universal Installer (OUI) maintenance release installer to apply the Siebel CRM version 8.1.1.11 SIA maintenance release.
NOTE:  Siebel Innovation Pack content is not included in the maintenance release.
If you intend to use Open UI and new features included from the Siebel CRM version 8.1.1.11 Innovation Pack then you must import it using incremental repository merge.


Based on your current Siebel version, above table will guide you to your upgrade path. You will be lucky if you got to do one step upgrade as two step upgrade will take double the effort. If you are upgrading from 7.x versions then there is a change in address model too which you need to consider in your upgrade. 

How long?:
Next question you have in your mind would be how long? Well it is very subjective but to give an idea - below is a break up
1) Dev upgrade - 4 to 6 weeks
2) Test upgrade - 2 weeks
3) Regression testing - 4 to 8 weeks depending on system complexity
4) Production upgrade - 2 weeks

All in all, you are looking around 12 weeks to 18 weeks timeline. 

Planning:
By now, you should have arrived at a conclusion on below items.
1)DB upgrade to 11g along with uni-code
2) Upgrade path - one step or two steps
3) I need Actuate to BIP conversion
4) I need T to ST engine script conversion
5) I need to take care of CTI setup
6) Engage QA team to review all regression tests scripts
7) Plan your system architecture for DEV, TEST and PROD servers - number of app servers and DBs needed. 

It is advisable that you leave your current systems untouched and build brand new Databases and application servers for Siebel 8.1 setup.

Preparation:
1) Build new 11g DB Unicode: <outside the scope of this discussion>
Engage your DBAs to prepare a brand new 11g with unicode database for you.
2) Application server setup:<outside the scope of this discussion>
Engage your infrastructure team to build new Virtual machines for Windows 2008 R2 64 bit or Unix environment for your app servers as needed.

Execution:
1) Database setup:
Copying from current 10g to 11g:
If from non-unicode to unicode then follow below steps, (DBA experts to be engaged here)
a. If you are doing non-unicode to unicode conversion then, do a dataexp from your current Siebel 10g database to create dmp files. 
b. From the dmp files export only the table schema into a file.
c. Edit the table schema file containing SQLs to create tables to Change byte semantics on char and varchar2 columns to char semantics.
d. Ask DBAs to run the edited schema file on the new 11g db to create tables.
e. Now, using dataimp util import the data from dmp files into your 11g unicode database.

If you are already having unicode DB then it's a straight dataexp from your current DB and dataimp onto your new 11g unicode database.

NOTE: above is just for guidance, please engage Oracle DBAs who have experience in doing above. 

2) Running the Siebel DEV upgrade: (a detailed blog on DEV upgrade will be posted soon)
Prerequisites: 
Your DB preparation is done. You have Siebel tools 8.1.1.* software installed on DEV box. 
Go through Siebel bookshelf: Siebel Database Upgrade Guide in detail to understand the whole process. 

Below are the high level DEV upgrade steps:
Prepare application data. These tasks prepare test data for migration. 
Upgrade database (upgrep). You run the Database Configuration Wizard in upgrep mode.  They perform a basic upgrade of the Siebel database schema and load repositories to prepare for the repository merge. Both upgrep and upgphys modes are run as a single step in the Database Configuration Utility. 
Merge repository. You use Siebel Tools to merge your existing repository with the repository in the new release. Postmerge utilities upgrade form applets and verify that applets and views are configured correctly. 
Run postmerge utilities. You use Siebel Tools to run a set of utilities that examine the merged repository. The utilities analyze your customizations and apply changes to them as needed to conform to the user interface in the new release. 
Upgrade database (upgphys). You run the Database Configuration Utilities in upgphys mode. They further upgrade the Siebel database with changes resulting from the repository merge and complete the database upgrade. 
The Database Configuration Utilities also generate the customer repository definition file and logical schema definition file that are used as input to the production test environment and production upgrades.

NOTE: During the synchronization process, custom columns in the Siebel Schema that are not in the Siebel Repository are not deleted but custom indexes in the Siebel Schema that are not in the Siebel Repository are deleted. 

> Validate, fix workflows and deploy.
> Validate and correct all e-Script errors.
> The Address entity is changed in Siebel 8.1 in comparison with Siebel 7.*. You need to make required repository changes needed to support it. Vanilla changes will be taken care by the upgrade process it self.
> Compile the srf and bring your application up. 

Do all rounds of unit tests and fix miss aligned applets.

3) Test upgrade:
Prerequisites: 
Your Test DB preparation is done as explained in 1) Database setup setup under Execution section for DEV upgrade.
You have Siebel server, web server 8.1.1.* softwares installed on TEST boxes.

Below are the high level test steps:
Prepare application data. These tasks are about preparing application data for migration. 
Upgrade database (upgrep). You run the Database Configuration Utilities in upgrep mode. 
They perform a basic upgrade of the Siebel database schema:
> You run the utility in Prepare for Production mode before running it in upgrep mode. The Prepare for Production mode reviews the upgraded development environment database schema and creates input files. The upgrep mode uses these files to make schema changes to the Siebel database.
> The upgrep mode imports the repository and schema definition files from the development environment upgrade. It uses these files to upgrade the Siebel database. 
> The upgphys portion runs automatically. It makes several administrative changes to table data, including updating the schema version in S_APP_VER. It does not make schema changes. 
> Migrate the Address data from old table S_ADDR_ORG to new S_ADDR_PER table.   

> Deploy the new srf and bring the application back up.
> Deploy all the required workflows.
> Make the required administration changes to support your production like configurations - all custom comps and tuning goes here.
> Ask DBAs to do the DB tuning - schema and system stats to be gathered.

Carry out multiple iterations of regression tests until you are satisfied.

All set for go-live? Production upgrade is no different than test one. As you have seen, the most time consuming task is DEV upgrade. Once you have nailed it, the test and prod upgrades should be much easier.

I will publish a detailed post on DEV upgrade sooner. Till then, take care!

Shiv








No comments:

Post a Comment