Siebel on zSeries Upgrade Tuning
Download
Report
Transcript Siebel on zSeries Upgrade Tuning
®
IBM Corporation
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
[email protected]
© 2006 IBM Corporation
IBM Corporation
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
Siebel
“NSCR”
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)
2
IBM Corporation
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
3
IBM Corporation
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
4
IBM Corporation
Siebel 7.8 Production Upgrade Flow
Start
Finish
Repository
Import
Development
Upgrade
Restart
DB Srvr Cfg
Schema
&
Storage
files
Mid-Tier
-
z/Series
z/Series
Pause #1
FTP to z/OS Host
-JCL/SQL Templates
-REXX Code
-Data Migration
-Build JCL & SQL
-Modify Source
-Execute Source Chgs
Source
Pause #2
FTP to z/OS Host
-Unload/Load JCL
-New 7.7/7.8 DDL
-7.7/8 DDL
Pause #3
FTP to z/OS Host
-Modified 7.8 Indexes
-EIM 7.8 structures
-ITM/Dedup JCL/SQL
-Build DDL & Upgrade
-Execute Target chgs
-Build JCL & Upgrade
-Execute Target chgs
Target
Target
z/OS DB2
z/OS DB2
z/OS DB2
5
IBM Corporation
Mid-Tier Pauses interleaved with z/Series processes
Pause 1:
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
6
IBM Corporation
Mid-Tier Pause #1 generated templates/files
Procs
REXX code
Data Migration SQL/JCL
7
IBM Corporation
Pause #1 - z/Series Upgrade Main Menu (Receive & Set-Up)
Pause #1 FTP
-Run JOB0
-REXX Code
-JCLLIB
-SP JCL/Modules
Set-Up
Receive
-Assign DSNHLQ
-Assign Jobname prefix
-Assign Encoding
-Assign DB2/DSN libs
-Load Lib
-DBRMs
-SP Modules
2
Alloc/Populate
-INSTALL lib
Alloc PDS/Seq
Populate
-JCL/SQL Templates
-JCL/SQL Templates
8
IBM Corporation
Pause #1 - z/Series Upgrade Main Menu (PreT)
“Source” Database Changes
HouseHold
(optional)
PreTedit
Add Jobcards
-Scheduling Mode
-PreT
-PreT-FINS
-Household
-Household-FINS
-Identify CLOBs
-Delete s_dock_txn_log
-Delete s_escl_req
-Build OrderBy’s
Run PreT
Run PreT-FINS
Alters/Drops/Deletes
Alters/Drops/Deletes
Drop EIM Tables
9
IBM Corporation
Siebel 7.8 Production Upgrade Flow
Start
Finish
Repository
Import
Development
Upgrade
Restart
DB Srvr Cfg
Schema
&
Storage
files
Mid-Tier
-
z/Series
z/Series
Pause #1
FTP to z/OS Host
-JCL/SQL Templates
-REXX Code
-Data Migration
-Build JCL & SQL
-Modify Source
-Execute Source Chgs
Source
Pause #2
FTP to z/OS Host
-Unload/Load JCL
-New 7.7/7.8 DDL
-7.7/8 DDL
Pause #3
FTP to z/OS Host
-Modified 7.8 Indexes
-EIM 7.8 structures
-Build DDL & Upgrade
-Execute Target chgs
-Build JCL & Upgrade
-Execute Target chgs
Target
Target
z/OS DB2
z/OS DB2
z/OS DB2
10
IBM Corporation
Mid-Tier Pauses interleaved with z/Series processes
Pause 1:
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
11
IBM Corporation
Mid-Tier Pause #2 generated templates/files
12
IBM Corporation
Pause #2 - z/Series Upgrade Main Menu (Schema/JCL Prep)
Pause #2 FTP
-Unload/Load
-7.7 Idx DDL
-7.8 DDL
0
Mod Unl/Load
-All Tables
1
Schema/Verification
Build JCL/Scripts
-CLOB (special)
-Execute 7.8 DDL
-Build Temp/Log Tables
-Install Stored Proc’s
-Scheduling Mode
-Prep JCL/SQL
-Prep 7.7 Index Rebuilds
-Old Schema Indexes
Unload/Load/Index
Optimization
2
13
IBM Corporation
Pause #2 - z/Series Upgrade (Job-Stream Optimization)
4
Pause 1-2
Pause 3
14
IBM Corporation
Pause #2 - z/Series Upgrade Main Menu (Upgrade)
5
Pauses 1-2
Pause 3
15
IBM Corporation
Siebel 7.8 Production Upgrade Flow
Start
Finish
Repository
Import
Development
Upgrade
Restart
DB Srvr Cfg
Schema&
Storage
files
Mid-Tier
-
z/Series
z/Series
Pause #1
FTP to z/OS Host
-JCL/SQL Templates
-REXX Code
-Data Migration
-Build JCL & SQL
-Modify Source
-Execute Source Chgs
Source
Pause #2
FTP to z/OS Host
-Unload/Load JCL
-New 7.7/7.8 DDL
-7.7/8 DDL
Pause #3
FTP to z/OS Host
-Modified 7.8 Indexes
-EIM 7.8 structures
-ITM/Dedup JCL/SQL
-Build DDL & Upgrade
-Execute Target chgs
-Build JCL & Upgrade
-Execute Target chgs
Target
Target
z/OS DB2
z/OS DB2
z/OS DB2
16
IBM Corporation
Mid-Tier Pauses interleaved with z/Series processes
Pause 1:
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
17
IBM Corporation
Mid-Tier Pause #3 generated templates/files
ITM/Dedup
SQL + JCL
SCINDX sql
18
IBM Corporation
Pause #3 - z/Series Upgrade Main Menu (New-Schema Indexes)
Old 7.7
NPIs
New 7.8
NPIs
19
IBM Corporation
Pause #3 - z/Series Upgrade Main Menu (Upgrade)
Pause 1-2
Pause 3
20
IBM Corporation
Siebel 7.8 Production Upgrade Flow
Start
Schema&
Storage
files
Mid-Tier
-
z/Series
z/Series
Finish
Repository
Import
Development
Upgrade
Pause #1
FTP to z/OS Host
-JCL/SQL Templates
-REXX Code
-Data Migration
-Build JCL & SQL
-Modify Source
-Execute Source Chgs
Source
Restart
DB Srvr Cfg
Pause #2
FTP to z/OS Host
-Unload/Load JCL
-New 7.7/7.8 DDL
-7.7/8 DDL
Pause #3
FTP to z/OS Host
-Modified 7.8 Indexes
-EIM 7.8 structures
-ITM/Dedup JCL/SQL
-Build DDL & Upgrade
-Execute Target chgs
-Build JCL & Upgrade
-Execute Target chgs
Target
Target
z/OS DB2
z/OS DB2
z/OS DB2
21
IBM Corporation
Performance Improvement
Considerations
22
IBM Corporation
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
Siebel
“NSCR”
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
Siebel
“NSCR”
Modify LPAR, DB2 Subsystem, Tableowner & DB Prefix
Based on true-tested JCL, SQL and DDL
23
IBM Corporation
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)
24
IBM Corporation
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
25
IBM Corporation
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
26
IBM Corporation
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
27
IBM Corporation
Data Migration Tuning
Required Dependency Flow
Manual analysis to determine parallel streams
Difficult and complex
Critical-path likely longer than all others combined
Siebel
“NSCR”
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 …
Siebel
“NSCR”
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, …
28
IBM Corporation
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
29
IBM Corporation
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
Siebel
“NSCR”
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
30
IBM Corporation
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
Siebel
“NSCR”
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”
31
IBM Corporation
Future Siebel Database Upgrade
Siebel 8 Upgrade
32
IBM Corporation
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
33
IBM Corporation
Siebel Database Upgrade
So, How long will the upgrade take?
It depends…
34