Presentation is loading. Please wait.

Presentation is loading. Please wait.

Siebel 7.7 to 7.8 Production Database z/OS DB2 Upgrade Planning & Performance Considerations Spencer V. Krueger IBM, Advanced Technical Support Siebel.

Similar presentations


Presentation on theme: "Siebel 7.7 to 7.8 Production Database z/OS DB2 Upgrade Planning & Performance Considerations Spencer V. Krueger IBM, Advanced Technical Support Siebel."— Presentation transcript:

1 Siebel 7.7 to 7.8 Production Database z/OS DB2 Upgrade Planning & Performance Considerations
Spencer V. Krueger IBM, Advanced Technical Support Siebel on z/OS DB2

2 Siebel 7.7 to 7.8 Production Upgrade
Upgrade Configurations – Separate Source & Target 1 DB2 Subsystem, 2 Tableowner, 2 Database Prefixes (4 byte) 2 DB2 Subsystems (V7 or V8), 1/2 Tableowner, 1/2 Database Prefixes Cross LPAR, SYSPLEX Data-Sharing DB2 V8 certified, APAR ii13985, DB2 Connect V8.2 FP 8.5 Source  EIM table drops, Base table Alters/Drops/Updates/Deletes Source  Target Bufferpool/Config changes (dbconf.xls) Source  Unload completion, No further access required Target  No like named schema objects permitted Target  WLM, Loadlib DB2 V7 Source  DB2 V8 Target Parallel Sync – Websphere Business Integration (WBI) Siebel “NSCR”

3 Pre-Planning Project Plan – Required disciplines (…who gets to help?!!?) Development upgrade outputs (custrep.dat, schema.ddl) Mid-Tier & z/Series shared upgrade database activities Avoid: SIEBEL as z/OS dataset HLQ SIEBEL as the DB2 Tableowner Test-Source & Test-Target & Parallel sync versions CPU & DASD (shared), Sort, Memory, WLM required Initiators, Parallel workload Job CLASS, ACCTNG, MSGCLASS Jobname Prefixes (first 3 characters Siebel reserved) Codepage considerations, No UNICODE support in 7.8 Job Scheduler

4 Pre-Planning – How do you want to run the upgrade jobs?
Siebel Scheduled Mode REXX based job submission exec’s Auto-submission of Flow dependencies Abend (U0099) or invalid RC – process halts RC check enforced by JCL INCLUDEs RC=0, RC<=4, RC<=8 Siebel Logging (not all jobs) Vendor Scheduled Mode (3rd Party Scheduler) PROC modifications only, JCL INCLUDE added to PROC RC checks enforced by JCL INCLUDEs No Siebel Logging Manual load of scheduler system, no interface

5 Siebel 7.8 Production Upgrade Flow
Development Upgrade Schema& Storage files FTP to z/OS Host Unload/Load JCL New 7.7/7.8 DDL 7.7/8 DDL Target z/OS DB2 Pause #2 Build DDL & Upgrade Execute Target chgs JCL/SQL Templates REXX Code Data Migration Pause #1 Build JCL & SQL Modify Source Execute Source Chgs Source Modified 7.8 Indexes EIM 7.8 structures ITM/Dedup JCL/SQL Pause #3 Build JCL & Upgrade Mid-Tier - z/Series z/Series Repository Import Restart DB Srvr Cfg Finish Start

6 Mid-Tier Pauses interleaved with z/Series processes
Upgrade JCL & REXX code Stored Procedures, Loadlib, DBRMs Data Migration SQL scripts Source EIM table/tablespace drops – “JCL Reuse” Source Alters, Updates, Mass-Delete, Table drops Pause 2: Unload/Load utility JCL/SQL templates 7/7 & 7.8 Schema (DDL) Temp tables (not Global Temp, static work tables) Pause 3: Modified structure of old to new NPI 7.7/7.8 indexesIntersection Table Maintenance (ITM) SQL scripts for dedup’ing JCL templates

7 Mid-Tier Pause #1 generated templates/files
REXX code Procs Data Migration SQL/JCL

8 Pause #1 - z/Series Upgrade Main Menu (Receive & Set-Up)
Pause #1 FTP Run JOB0 REXX Code JCLLIB SP JCL/Modules Alloc/Populate -INSTALL lib Set-Up Assign DSNHLQ Assign Jobname prefix Assign Encoding Assign DB2/DSN libs Receive Load Lib DBRMs SP Modules Alloc PDS/Seq -JCL/SQL Templates Populate -JCL/SQL Templates 2

9 Pause #1 - z/Series Upgrade Main Menu (PreT)
“Source” Database Changes HouseHold (optional) PreTedit Identify CLOBs Delete s_dock_txn_log Delete s_escl_req Build OrderBy’s Run PreT Run PreT-FINS Add Jobcards Scheduling Mode PreT PreT-FINS Household Household-FINS Alters/Drops/Deletes Alters/Drops/Deletes Drop EIM Tables

10 Siebel 7.8 Production Upgrade Flow
Development Upgrade Schema& Storage files FTP to z/OS Host Unload/Load JCL New 7.7/7.8 DDL 7.7/8 DDL Target z/OS DB2 Pause #2 Build DDL & Upgrade Execute Target chgs JCL/SQL Templates REXX Code Data Migration Pause #1 Build JCL & SQL Modify Source Execute Source Chgs Source Modified 7.8 Indexes EIM 7.8 structures Pause #3 Build JCL & Upgrade Mid-Tier - z/Series z/Series Repository Import Restart DB Srvr Cfg Finish Start

11 Mid-Tier Pauses interleaved with z/Series processes
Upgrade JCL & REXX code Stored Procedures, Loadlib, DBRMs Data Migration SQL scripts Source EIM table/tablespace drops – “JCL Reuse” Source Alters, Mass-Delete Pause 2: Unload/Load utility JCL/SQL templates 7/7 & 7.8 Schema (DDL) Temp tables (not Global Temp, static work tables) Pause 3: Modified structure of old to new NPI 7.7/7.8 indexes Intersection Table Maintenance (ITM) SQL scripts for dedup’ing JCL templates

12 Mid-Tier Pause #2 generated templates/files

13 Pause #2 - z/Series Upgrade Main Menu (Schema/JCL Prep)
Pause #2 FTP Unload/Load 7.7 Idx DDL 7.8 DDL 1 Schema/Verification CLOB (special) Execute 7.8 DDL Build Temp/Log Tables Install Stored Proc’s Build JCL/Scripts Scheduling Mode Prep JCL/SQL Prep 7.7 Index Rebuilds Old Schema Indexes Unload/Load/Index Optimization Mod Unl/Load All Tables 2

14 Pause #2 - z/Series Upgrade (Job-Stream Optimization)
4 Pause 1-2 Pause 3

15 Pause #2 - z/Series Upgrade Main Menu (Upgrade)
5 Pauses 1-2 Pause 3

16 Siebel 7.8 Production Upgrade Flow
Development Upgrade Schema& Storage files FTP to z/OS Host Unload/Load JCL New 7.7/7.8 DDL 7.7/8 DDL Target z/OS DB2 Pause #2 Build DDL & Upgrade Execute Target chgs JCL/SQL Templates REXX Code Data Migration Pause #1 Build JCL & SQL Modify Source Execute Source Chgs Source Modified 7.8 Indexes EIM 7.8 structures ITM/Dedup JCL/SQL Pause #3 Build JCL & Upgrade Mid-Tier - z/Series z/Series Repository Import Restart DB Srvr Cfg Finish Start

17 Mid-Tier Pauses interleaved with z/Series processes
Upgrade JCL & REXX code Stored Procedures, Loadlib, DBRMs Data Migration SQL scripts Source EIM table/tablespace drops – “JCL Reuse” Source Alters, Mass-Delete Pause 2: Unload/Load utility JCL/SQL templates 7/7 & 7.8 Schema (DDL) Temp tables (not Global Temp, static work tables) Pause 3: Modified structure of old 7.7 to new 7.8 NPI indexes EIM 7.8 structures Intersection Table Maintenance (ITM) SQL scripts for dedup’ing JCL templates

18 Mid-Tier Pause #3 generated templates/files
ITM/Dedup SQL + JCL SCINDX sql

19 Pause #3 - z/Series Upgrade Main Menu (New-Schema Indexes)
Old 7.7 NPIs New 7.8 NPIs

20 Pause #3 - z/Series Upgrade Main Menu (Upgrade)

21 Siebel 7.8 Production Upgrade Flow
Finish Repository Import Start Development Upgrade Restart DB Srvr Cfg Schema& Storage files Pause #1 Pause #2 Pause #3 FTP to z/OS Host JCL/SQL Templates REXX Code Data Migration FTP to z/OS Host Unload/Load JCL New 7.7/7.8 DDL 7.7/8 DDL FTP to z/OS Host Modified 7.8 Indexes EIM 7.8 structures ITM/Dedup JCL/SQL Mid-Tier - z/Series Build DDL & Upgrade Execute Target chgs Build JCL & Upgrade Execute Target chgs Build JCL & SQL Modify Source Execute Source Chgs z/Series Target z/OS DB2 Target z/OS DB2 Source z/OS DB2

22 Performance Improvement Considerations

23 Eliminating Critical Path Mid-Tier & JCL File Generation
Eliminate: Mid-Tier JCL/SQL template re-generation “Source” production database modifications Need to re-FTP file templates from Mid-Tier z/OS JCL re-generation DB2 DDL re-generation Index JCL/DDL utility re-generation ITM Dedup Processes Any customizations you may have applied… Generated SQL/JCL from Pause’s 1-3 Generated for Test, reused for actual Production Modify LPAR, DB2 Subsystem, Tableowner & DB Prefix Based on true-tested JCL, SQL and DDL Siebel “NSCR” Siebel “NSCR”

24 Unload/Load Overlap & Sequencing
Parallel limiting factors: Initiators DASD, Sortwork Memory Tablespace Configuration (1:1) Unload via DSNTIAUL Warning: RC=4 for empty tables or non-translatable characters “SQLSTATE 01517: A character that could not be converted was replaced with a substitute character.” Non-Translatable SQLSTATE code not considered sql error (RC=4) PROCs + Dynamically allocated SYSDA, DATACLAS=COMPACT (default) Dataset placement & retention (out-of-the-box) IBM Unload or CrossLoader or 3rd party utilities (like BMC)

25 Unload/Load Overlap & Sequencing - continued
Unload Sequencing – Largest 1st Re-order generated job submission REXX exec sequence Overlap Unload & Load (1:1) Requires manual modifications to REXX submission execs Use a job scheduler to trigger Load M:1 must sequence with final serialized tablespace load job Load 1:1 - Statistics collected during load Modify PROCs Two Load type allocations – (dsnhlq.siebel.tablist) IBM Load Swap-out with 3rd party utilities CASE-cast statements used for data migration in Unloads Consideration when using 3rd party utilities

26 Unload/Load Overlap & Sequencing - continued
Unloads can be modified to use ORDER BY clustered key dsnhlq.siebel.syskeys.orderby (generated dataset) Careful: Sortwork requirements Unload by Partition (not generated OOTB) Requires manual duplication of JCL Manual specification of partition number Large Non-Partitioned Manually specify unload control card Key Ranges Requires manually building JCL and SQL modifications CLOBs 2 Unloads Length > 0 for CLOB column 1 Load-1 Update

27 Unload/Load & Index Rebuild Thru-put Optimization
Job-Stream Optimization (JSO) 1:1 Database configuration only Table with zero rows eliminated Thru-put performance improvement Unloads Loads (1:1 only) Index Rebuilds SORTKEYS used Statistics collected REXX submission execs modified automatically 7.8 Panel-driven JCL submission Verifies 1:1 configuration for 1:1 Specify Number of Indexes per index rebuild job More indexes per job, more sort memory required

28 Data Migration Tuning Required Dependency Flow
Manual analysis to determine parallel streams Difficult and complex Critical-path likely longer than all others combined Large Tables involved in Insert/Update Translate Update/Insert to Select Count(*) Long running DML may not touch any rows Move SQL UPDATE to Unload (CASE) S_EVT_ACT … APPT_REPT_WK_MO, CASE when (APPT_START_TM is not null and APPT_START_DT is not null) then timestamp(date (APPT_START_DT), time (APPT_START_TM)) else APPT_START_DT end, APPT_START_TM, ASGN_DNRM_FLG, … Siebel “NSCR” Siebel “NSCR”

29 Data Migration Tuning - continued
Convert From Insert-Into/Update to Unload-Load Large tables, including Temp tables Compare options - SQL vs. Utility Index analysis Indexes are “Old” schema indexes – Pause #2 “New” schema structures 7.8 Indexes are generated – Pause #3 Defer NPI builds, determine which needed to support sql scripts Add indexes back after Data Migration Stored Procedures WLM, Loadlib – if common, verify no modules with same names

30 Generated Component Re-use - Test to Production
Complexity of Mid-Tier & z/OS swapping, avoided if you Reuse In-Advance Tasks Target DDL, Temp work tables DEFINE NO Siebel Source & Target Logging tables ITM/Dedup Processes Generated JCL & SQL Test environment = Production environment Parameter Changes SYSAFF (LPAR, if cross lpar upgrade) DB2 Subsystem Database Prefix (4 byte) Stogroup - SYSDEFLT Tableowner SYSDA DSNTEP2/DSNTIAUL plan names Siebel “NSCR”

31 Performance Summary for Upgrading 7.7 to 7.8
Make sure to have adequate initiators, resources for parallelism Unload & Loads Index Rebuilds (sort) Translate Insert/Update for Data Migration to Select COUNT(*) Bypass scripts that Update/Insert zero rows Move data migration scripts to Unload where possible Analyze Data Migrations script index requirements Defer NPI Index rebuilds to after Data Migration completed Unload/Load & Index Rebuild optimization Build Target schema in advance Build Temp & Siebel logging tables in advance JCL/Script Reuse – Avoid crit-path re-generation Siebel “NSCR” Siebel “NSCR”

32 Future Siebel Database Upgrade
Siebel 8 Upgrade

33 Siebel 7.7 to 8.0 Development & Production Upgrades
In-Place Source & Target the same physical structure 8K Bufferpools supported (i.e. generated) DB2 V8 required, with APAR ii13985 and DB2 Connect V8.2 Fixpack 8.5 Support for UNICODE – Separate migration required Development & Production – Same code base REXX panels – “Bookmarks” Siebel & Vendor Scheduler Modes – Logging for both modes All z/Series based database activities Non Critical-Path Mid-Tier/JCL Generation Additive Schema - Non-Disruptive Alter, Create Non-Additive Schema - Disruptive Table Rebuild, Add/Restructure Indexes Older the schema version  More Non-Additive  Longer the upgrade

34 Siebel Database Upgrade
So, How long will the upgrade take? It depends…


Download ppt "Siebel 7.7 to 7.8 Production Database z/OS DB2 Upgrade Planning & Performance Considerations Spencer V. Krueger IBM, Advanced Technical Support Siebel."

Similar presentations


Ads by Google