• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Db2 V8 Migration And New Functions
 

Db2 V8 Migration And New Functions

on

  • 1,059 views

 

Statistics

Views

Total Views
1,059
Views on SlideShare
1,053
Embed Views
6

Actions

Likes
0
Downloads
12
Comments
0

1 Embed 6

http://www.linkedin.com 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Db2 V8 Migration And New Functions Db2 V8 Migration And New Functions Presentation Transcript

    • Cristian Molaro MConsulting BELGIUM Réunion du Guide DB2 pour z/OS France Jeudi 22 novembre 2007 Immeuble CA, Paris-La Défense
    • Cristian Molaro is a DB2 System engineer who works as a consultant in Belgium. His main activity is linked to the DB2 for z/OS administration and performance monitoring and tuning. He is an IBM Certified Professional, graduated in Chemical Engineering and has a Postgraduate in Management Sciences. Cristian is a former IDUG and GSE speaker. © 2007 MConsulting - cristian@molaro.be 2
    • © 2007 MConsulting - cristian@molaro.be 3
    •  As much as you can  http://www.ibm.com/software/data/db2/zos  Installation Guide  Migration Informational APAR II13695  Unicode Informational APAR II13048 & II13049  DB2 UDB for z/OS V8 Migration: An Ironman® event  SG24-6465: DB2 for z/OS Performance Topics  SG24-6079: DB2 V8, Everything you ever wanted to know...  IDUG DB2LIST  ... © 2007 MConsulting - cristian@molaro.be 4
    •  Critical APAR: ============================================================ SECTION 1: Toleration, Coexistance and Compatibility PTFs. ============================================================ 5740XYR00 R810 DB2 V7.1 MIGRATION/FALLBACK INFOAPAR TO/FROM DB2 V8.1 AND UPGRADE V710 FOLLOWING PTFS ARE REQUIRED FOR DB2 V7.1 & V8.1 BEFORE MIGRATION: DB2 system administrator should take a back up from DB2 environment (SMP/E, Active logs, BSDSs, DB2 Catalog/Directory) before applying maintenance. Remove any ZAPed (modified) DB2 module/s (lmod) by OEM from load libraries of a single DB2 subsystem or entire DataSharing group before starting DB2 with following maintenance. Vanilla IBM DB2 load modules are needed for processing.   PQ48486/UQ81009(0310) Toleration of fallback from DB2 Version 8 ...... PQ84421/UQ85439(0403) adds a new job DSNTIJP8 to V7. © 2007 MConsulting - cristian@molaro.be 5
    • © 2007 MConsulting - cristian@molaro.be 6
    • © 2007 MConsulting - cristian@molaro.be 7
    • © 2007 MConsulting - cristian@molaro.be 8
    •  DFSORT is mandatory for IBM utilities DSNU000I DSNUGUTC - OUTPUT START FOR UTILITY, UTILID = PRD.REORGUP DSNU1044I DSNUGTIS - PROCESSING SYSIN AS EBCDIC DSNU1640I DSNUGUTC - Z/OS DFSORT LOAD MODULE NOT LOADED. DSNU012I DSNUGBAC - UTILITY EXECUTION TERMINATED, HIGHEST RETURN CODE=8  If missing, it will not work  Special licence for DB2 usage  Shipped with z/OS  May need to add a STEPLIB to JCL IBM utilities  Does not affect non IBM utilities © 2007 MConsulting - cristian@molaro.be 9
    •  Use alias in PROCs, JCLs, etc  Simplifies next migration and fallback  Target library must be APF (when applicable)  Security applied on target library DSLIST - Data Sets Matching DWA1LIB.* Row 1 of 10 Command ===> Scroll ===> PAGE Command - Enter "/" to select action Message Volume ------------------------------------------------------------------------------- DWA1LIB.SDSNEXIT *ALIAS DWA1LIB.SDSNLOAD *ALIAS DWA1LIB.SDSNLOD2 *ALIAS DWA1LIB.V7.SDSNEXIT IC23A3 DWA1LIB.V7.SDSNLOAD IC23A3 DWA1LIB.V7.SDSNLOD2 IC23A3 DWA1LIB.V8.SDSNEXIT IC23AA DWA1LIB.V8.SDSNLOAD IC23AA DWA1LIB.V8.SDSNLOD2 IC23AA ***************************** End of Data Set list **************************** © 2007 MConsulting - cristian@molaro.be 10
    •  SPAS stored procedures not longer supported  In CM use V7 version or get -4700  JDBC & ODBC: DSNTIJMS  Best performance: NUMTCB > 1  Control Center: DSNTIJCC  Tools: Only SP part of DSNTIJSG  Care on distributing SP to WLM Environments  XML SP  MQ Series SP © 2007 MConsulting - cristian@molaro.be 11
    • WLM ENV APF NAME NUMTCB Authorized Pourpose Origin Description Notes WLMENV1 40 YES DB2DEBUG.SYS* DSNTIJSD DB2 Supplied stored procedures Must be autorized for SQLJ.INSTALL_JAR DSNTIJSG WLM_REFRESH SQLJ.REPLACE_JAR DSNTIJSG SQLJ.REMOVE_JAR DSNTIJSG SYSIBM.SQL* DSNTIJSG SYSPROC.WLM_REFRESH DSNTIJSG SYSPROC.DSNTJSPP + STORED DSNTIJSG + PROCEDURES + Control Center DSNTIJMS + DSNTIJCC WLMENV2 1 NO SYSPROC.DSNTPSMP DSNTIJSG REXX requires NUMTCB=1 Check for DSNX993I error SYSPROC.DSNTBIND DSNTIJSG message in case of problems SYSPROC.DSNACCTS WLMENV3 40 NO User SQL stored procedures Created manually SHOULD have at least ONE or by using DB2 unauthorized data set Development Center or Stored Procedure Builder WLMENV4 8 NO User Java stored procedures Created manually SHOULD have at least ONE or by using DB2 unauthorized data set. Development Center or One JVM is loaded for each Stored Procedure NUMTCB Builder specified. The presence of the //JAVAENV in the JCL causes the JVM to be loaded WLMENV5 1 YES DSNUTILS Allows the execution of DB2 NTMTCB=1 is mandatory utilities © 2007 MConsulting - cristian@molaro.be 12
    •  WLM address space fails at start: DMA1WLM IEF403I DMA1WLM - STARTED - TIME=15.14.45 CNTEROC #IEF403I (J1WLM) DMA1WLM - STARTED - TIME=15.14.45 DMA1WLM DSNX967I DSNX9WLM ATTEMPT TO PERFORM WLM FUNCTION IWMCONN FAILED DMA1WLM WITH WLM RC = 0000000C RSN = 11580C1A SSN =  Missing WLM environment definition: EJES510 USER-ESAMIL--/VARY WLM,APPLENV=WLMENV1,REFRESH WLMENV1,REFRESH IWM030I VARY REFRESH FOR WLMENV1 REJECTED, APPLICATION ENVIRONMENT NOT DEFINED  Missing RRS: CNTEROC #IEF403I (J1WLM) DMA1WLM - STARTED - TIME=16.01.32 DMA1WLM DSNX982I DSNX9WLM ATTEMPT TO PERFORM RRS ATTACH FUNCTION SPAS_I DMA1WLM FAILED WITH RRS RC = 00000008 RSN = 00F30091 SSN = DMA1 DMA1WLM PROC= DMA1WLM ASID = 013D WLM_ENV = DMA1WLM ..... DSN3029I -DMA1 DSN3RRRS RRS ATTACH PROCESSING IS AVAILABLE © 2007 MConsulting - cristian@molaro.be 13
    •  DSNUTILS: //DDA1WLM PROC RGN=0K,APPLENV=WLMDDA1ENV5,DB2SSN=DDA1,NUMTCB=1 //IEFPROC EXEC PGM=DSNX9WLM,REGION=&RGN,TIME=NOLIMIT, // PARM='&DB2SSN,&NUMTCB,&APPLENV' //STEPLIB DD DISP=SHR,DSN=DDA1SOFT.RUNLIB.LOAD // DD DISP=SHR,DSN=DDA1LIB.SDSNLOAD //UTPRINT DD SYSOUT=* //RNPRIN01 DD SYSOUT=* //DSSPRINT DD SYSOUT=* //SYSIN DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND) //SYSPRINT DD UNIT=SYSDA,SPACE=(4000,(20,20),,,ROUND)  REXX: //DDA1WLM PROC RGN=0K,APPLENV=WLMDDA1ENV2,DB2SSN=DDA1,NUMTCB=1 //IEFPROC EXEC PGM=DSNX9WLM,REGION=&RGN,TIME=NOLIMIT, // PARM='&DB2SSN,&NUMTCB,&APPLENV' //SYSEXEC DD DISP=SHR,DSN=DDA1SOFT.V8.SDSNCLST //STEPLIB DD DISP=SHR,DSN=DDA1SOFT.RUNLIB.LOAD // DD DISP=SHR,DSN=DDA1LIB.SDSNLOAD //SYSTSPRT DD SYSOUT=* © 2007 MConsulting - cristian@molaro.be 14
    • © 2007 MConsulting - cristian@molaro.be 15
    • © 2007 MConsulting - cristian@molaro.be 16
    • EN NF CM FM M EN NF NF CM FM M M EN NF NF CM M FM M EN NF NF CM FM M M EN NF CM FM M © 2007 MConsulting - cristian@molaro.be 17
    •  FUNCTION = ENABLE NEW FUNCTION MODE PROCESSING  It is the longest job in ENFM  REORG Catalog and Directory  Critical: verify number of RECORDS in VSAM definitions  Will fail if user defined indexes on Catalog but missing SHADOW dataset in JCL © 2007 MConsulting - cristian@molaro.be 18
    • DSN TRKS CYLS DB TS CI Size RECORDS CAT.DSNDBD.DSNDB06.SYSPKAGE.I0001.A001 2250 150 DSNDB06 SYSPKAGE 4096 27000 CAT.DSNDBD.DSNDB01.SYSLGRNX.I0001.A001 1500 100 DSNDB01 SYSLGRNX 4096 18000 CAT.DSNDBD.DSNDB06.DSNKSX01.I0001.A001 1125 75 DSNDB06 DSNKSX01 4096 13500 CAT.DSNDBD.DSNDB01.DSNSPT02.I0001.A001 750 50 DSNDB01 DSNSPT02 4096 9000 CAT.DSNDBD.DSNDB06.SYSDBASE.I0001.A001 750 50 DSNDB06 SYSDBASE 4096 9000 CAT.DSNDBD.DSNDB06.SYSCOPY.I0001.A001 450 30 DSNDB06 SYSCOPY 4096 5400 CAT.DSNDBD.DSNDB01.DBD01.I0001.A001 375 25 DSNDB01 DBD01 4096 4500 CAT.DSNDBD.DSNDB01.DSNLLX01.I0001.A001 375 25 DSNDB01 DSNLLX01 4096 4500 CAT.DSNDBD.DSNDB01.DSNSPT01.I0001.A001 375 25 DSNDB01 DSNSPT01 4096 4500 CAT.DSNDBD.DSNDB01.SCT02.I0001.A001 375 25 DSNDB01 SCT02 4096 4500 CAT.DSNDBD.DSNDB06.SYSPLAN.I0001.A001 375 25 DSNDB06 SYSPLAN 4096 4500 RECORDS = (CI Size/4096)*12*Trks © 2007 MConsulting - cristian@molaro.be 19
    •  Verify and eventually update RECORDS  Special attention to SYSSPT01 //ENFM0113 EXEC PGM=IDCAMS,COND=(2,LE,ENFM0110) //DATADEV DD UNIT=3390,DISP=OLD,VOL=SER=PR23A3 //INDEXDEV DD UNIT=3390,DISP=OLD,VOL=SER=PR23A3 //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER - ( NAME(DPA1CAT.DSNDBC.DSNDB06.SYSPKAGE.J0001.A001) - FILE(DATADEV) - LINEAR - REUSE - VOLUMES(PR23A3) - RECORDS(27000 27000) - SHAREOPTIONS(3 3) ) - DATA - ( NAME(DPA1CAT.DSNDBD.DSNDB06.SYSPKAGE.J0001.A001) - ) CATALOG(DPA1CAT) © 2007 MConsulting - cristian@molaro.be 20
    •  Total elapsed time = 5 min  Copies were done on TAPE  RC = 1 [CHECK THE NFM STATUS OF SYSSPT01] © 2007 MConsulting - cristian@molaro.be 21
    •  Why?  SPROC are invalidated in V8 before rebind  Get V8 optimizer benefits  Data types mismatches become stage 1  Need to perform a controlled REBIND process  No need to REBIND in NFM  Have a list of critical packages to verify  Must see the difference of an access path change because an application change  A single worse statement avoids package rebind © 2007 MConsulting - cristian@molaro.be 22
    •  Compare EXPLAIN tables V7 vs. V8:  If Cost increases: investigate  If Cost stays the same: rebind  If Cost decreases: rebind  Create a baseline in V7 in dummy collection if not EXPLAIN = YES  Use DSNTESC to create tables:  PLAN_TABLE  DSN_FUNCTION_TABLE  DSN_STATEMNT_TABLE  DSN_STATEMENT_CACHE_TABLE © 2007 MConsulting - cristian@molaro.be 23
    • Execution statistics -------------------- Total number of impacted plan_table rows 362953 Number of processed packages 2994 Number of changed plan_table rows 6607 Number of cost changes 23143 ---------------------- Cost increases 3001 Cost decreases/is the same 20142 © 2007 MConsulting - cristian@molaro.be 24
    • © 2007 MConsulting - cristian@molaro.be 25
    •  V7  For logged user (TSO/SDSF): id passed through for console commands = SYSOPR  Zparm SYSOPRn=SYSOPR allows any user to enter commands from console  V8  For logged on user: id passed through for console commands is now the user and not SYSOPR  Console operator could be unable to operate DB2  RACF groups and secondary authids supported in V8 © 2007 MConsulting - cristian@molaro.be 26
    •  64 bits addressing is NOT the solution to ALL the VS problems  Still need to work on VSCR  Some structures remain under the bar or the line  Only IRLM and DBM1 address spaces exploit 64-bit addressing  Several critical storage pools above 2GB bar, i.e. BPOOLS  Thread related storage stays below the bar & Thread footprint increases 30% - 70%  Look after REAL storage, not only VIRTUAL storage  Observed increase about 3%  depends on usage  ftp://ftp.software.ibm.com/software/data/db2zos/DB2VSTORprez.pdf © 2007 MConsulting - cristian@molaro.be 27
    •  V7: Start IFCID 225 destination SMF if not yet done -START TRACE(STAT) DEST(SMF) CLASS(6) IFCID(225) DSNW127I -DAC1 CURRENT TRACE ACTIVITY IS - TNO TYPE CLASS DEST QUAL 01 STAT 01,03,04,05, SMF NO 01 06 02 ACCTG 01,02,03 SMF NO *********END OF DISPLAY TRACE SUMMARY DATA*********  Tiny overhead  PQ99658:  System parameter STATIME default time is reduced from 30 minutes to 5  IFCID 225 is added to STATISTICS trace class 1 © 2007 MConsulting - cristian@molaro.be 28
    • STATISTICS REPORT DDNAME(STATSDD) LAYOUT(LONG) EXEC LOCATION: DBGP DB2 PERFORMANCE MONITOR (V4 ) PAGE: 2-10 GROUP: N/P STATISTICS REPORT - LONG REQUESTED FROM: NOT SPECIFIED MEMBER: N/P TO: NOT SPECIFIED SUBSYSTEM: DBPX INTERVAL FROM: 11/16/07 DB2 VERSION: V8 SCOPE: MEMBER TO: 11/18/07 DBM1 AND MVS STORAGE BELOW 2 GB QUANTITY DBM1 AND MVS STORAGE BELOW 2 GB QUANTITY ---------------------------------------- ---------- --------------------------------------- ----------- TOTAL DBM1 STORAGE BELOW 2 GB (MB) 126.39 24 BIT LOW PRIVATE (MB) 0.21 TOTAL GETMAINED STORAGE (MB) 118.22 24 BIT HIGH PRIVATE (MB) 0.34 VIRTUAL BUFFER POOLS (MB) N/A 31 BIT EXTENDED LOW PRIVATE (MB) 31.41 VIRTUAL POOL CONTROL BLOCKS (MB) N/A 31 BIT EXTENDED HIGH PRIVATE (MB) 142.20 EDM POOL (MB) 117.19 EXTENDED REGION SIZE (MAX) (MB) 1643.00 COMPRESSION DICTIONARY (MB) N/A EXTENDED CSA SIZE (MB) 244.28 … DBM1 STORAGE ABOVE 2 GB QUANTITY REAL AND AUXILIARY STORAGE QUANTITY --------------------------------------- ----------- --------------------------------------- ----------- FIXED STORAGE (MB) 0.01 REAL STORAGE IN USE (MB) 115.68 GETMAINED STORAGE (MB) 164.21 AUXILIARY STORAGE IN USE (MB) 0.00 COMPRESSION DICTIONARY (MB) 0.12 CACHED DYNSQL STATEMENTS (MAX) (MB) 52.89 DBD CACHE (MAX) (MB) 52.89 PAGES HELD BY DBDS 216.20 … © 2007 MConsulting - cristian@molaro.be 29
    •  WARNING: check activity @ snapshot  Should consider trends © 2007 MConsulting - cristian@molaro.be 30
    •  Paul Fletcher’s REXX for READS and gather IFC225  fletchpl@uk.ibm.com  Can be used for long term monitoring © 2007 MConsulting - cristian@molaro.be 31
    • >500MB = GREEN 200-500MB = AMBER <200MB = RED © 2007 MConsulting - cristian@molaro.be 32
    •  IBM published CPU expected changes considering no use of new V8 features -20% -10% 0% +10% +20% © 2007 MConsulting - cristian@molaro.be 33
    •  IBM objective for regression is less than 10%  Not only Acctg Class 2 increase expected  Must consider CPU reduction in DB2 system address spaces © 2007 MConsulting - cristian@molaro.be 34
    •  Rebind all packages/plans  Multi-row FETCH and INSERT  MQTs  Increase size of buffer pools  Long term page fix buffer pools  Fix the buffer pages once in memory and keep them fixed in real storage  0% to 8% CPU savings  Only if enough real storage to back bpools 100%  Activated by -ALTER BPOOL(x) PGFIX(YES)  Performance benefit is inversely proportional to the buffer hit ratio: ○ The higher the hit ratio, the lower the benefit ○ Apply to small buffer pools with lots of I/Os © 2007 MConsulting - cristian@molaro.be 35
    • © 2007 MConsulting - cristian@molaro.be 36
    •  New in V8:  BACKUP SYSTEM  RESTORE SYSTEM  Not supported in CM  Scenarios:  Backup entire DB2 system.  System-level PITR for logical DR: BACKUP SYSTEM DATA ONLY  Physical DR: BACKUP SYSTEM FULL  System cloning  Backup outside of DB2 using DFSMShsm commands  New in V9 + z/OS 1.8: Restore DB2 objects from volume dumps  you can prepare now to get advantage © 2007 MConsulting - cristian@molaro.be 37
    •  The migration process is a good opportunity for preparing to Backup and Restore System  Consider to apply systematicly to new DB2s  Has impact on Storage Management  Requires:  Definition of 2 SMS Copy Pools for data and logs ○ DSN$locn-name$DB for data ○ DSN$locn-name$LG for log  Definition of SMS Copy Pool Backup storage group  SMS managed datasets: including DB2 catalog & directory + logs ○ Log placement: use Guaranteed Space for volume allocation + EF for striping © 2007 MConsulting - cristian@molaro.be 38
    •  Define separate ICF Catalogs  User data, DB2 catalog and directory  Logs (optionally system load libraries)  Define SMS Storage Groups  For user data  For the DB2 Catalog & Directory and the ICFCTLG  For the DB2 logs, BSDS and the ICFCTLG © 2007 MConsulting - cristian@molaro.be 39
    • VLG001 VLG002 VLG00n VSY001 VSY002 VSY00n VDB001 VDB002 VDB00n DB2 Catalog and Directory DB2 Logs and BSDS DSNDB04 Bussiness Data DSNDB07 ICFCTLG ICFCTLG Defined on ICFCTLG UCAT.PC1.DB2LG UCAT.PC1.DB2SY UCAT.PC1.DB2SY Storage group Storage group Storage group SGP1LG SGP1SY SGP1UD Copy pool Copy pool DSN$DPC1$LG DSN$DPC1$DB CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn CPVnnn Copy pool backup storage group © 2007 MConsulting - cristian@molaro.be 40
    •  Creates full volume dasd copies of the DB2 subsystem  Replaces the –set log suspend + –set log resume method  BACKUP SYSTEM FULL or BACKUP SYSTEM DATA ONLY  SYSCTRL or SYSADM authority required  DB2 does not take any quiesce points  BSDS Backup History is updated  DB2 keeps track of 50 backups in the BSDS © 2007 MConsulting - cristian@molaro.be 41
    • DSNU000I DSNUGUTC -OUTPUT START FOR UTILITY, UTILID = PRD.BKUPSYS DSNU1044I DSNUGTIS -PROCESSING SYSIN AS EBCDIC DSNU050I DSNUGUTC -BACKUP SYSTEM FULL DSNU1600I DSNUVBBD -BACKUP SYSTEM UTILITY FOR DATA STARTING, COPYPOOL = DSN$PRD$DB TOKEN = X'E7F9F6C1BAAF725F60A7E106001C3D582090'. DSNU1614I DSNUVBBD -BACKUP SYSTEM UTILITY FOR DATA COMPLETED SUCCESSFULLY, COPYPOOL = DSN$PRD$DB TOKEN = X'E7F9F6C1BAAF725F60A7E106001C3D582090' ELAPSED TIME = 00:00:23. BACKUP SYSTEM UTILITY HISTORY SUBSYSTEM ID PRD 20:03:12 JANUARY 30, 1999 START STCK DATA COMPLETE DATA/LOG DATA LOG RBLP LRSN DATE ----------------------------------------------------------------- BAAF725F60A7E106 BAAF7275EF9EF603 001C3D582090001C3D582090 2004/01/27 TOKEN = E7F9F6C1BAAF725F60A7E106001C3D582090 BAA928EADE2A7E26 BAA92904E3FE8D66 001C3A22B090 001C3A22B090 2004/01/22 TOKEN = E7F9F6C1BAA928EADE2A7E26001C3A22B090 COMPLETE LTIME LOCATION NAME ---------------------- 08:40:47 PRD 08:40:17 PRD © 2007 MConsulting - cristian@molaro.be 42
    •  Restores DB2 system to specified point-in-time  RESTORE SYSTEM or RESTORE SYSTEM LOGONLY  Use for logical or for physical DR  Needs to conditionally restart DB2 prior to running RESTORE SYSTEM  –DSNJU003, CRESTART CREATE SYSPITR=logpoint  INSTALL SYSADM authority required  Handles CREATE, DROP and LOG NO events…  …but some LOG NO operations not supported: LOAD LOG NO, REORG, CREATE INDEX © 2007 MConsulting - cristian@molaro.be 43
    •  DSNJU003: CRESTART CREATE SYSPITR=log-point  SYSOUT: DSNU000I DSNUGUTC -OUTPUT START FOR UTILITY, UTILID = PRD.SRESTORE DSNU1044I DSNUGTIS -PROCESSING SYSIN AS EBCDIC DSNU050I DSNUGUTC -RESTORE SYSTEM DSNU1606I DSNUVBRD -RESTORE SYSTEM UTILITY STARTING, COPYPOOL = DSN$PRD$DB TOKEN = X'E7F9F6C1BAAF725F60A7E106001C3D582090'. DSNU1627I DSNUVBRD -RESTORE SYSTEM PRE-LOG APPLY COMPLETED SUCCESSFULLY, COPYPOOL = DSN$PRD$DB TOKEN = X'E7F9F6C1BAAF725F60A7E106001C3D582090' ELAPSED TIME = 00:00:15. ... DSNU1604I -X96A DSNUVARL -RESTORE SYSTEM PHASE LOG APPLY STARTED AT LOG POINT = X’001C3D582090’ DSNU1629I -X96A DSNUVARL -DB2 PUT ONE OR MORE OBJECTS INTO THE RECOVER-PENDING STATE, THE REBUILD-PENDING STATE OR THE LOGICAL PAGE LIST DURING THE LOG APPLY PHASE. DSNU1628I DSNUVBRD -RESTORE SYSTEM PHASE LOG APPLY COMPLETED, ELAPSED TIME = 00:01:42. DSNU010I DSNUGBAC -UTILITY EXECUTION COMPLETE, HIGHEST RETURN CODE=4 © 2007 MConsulting - cristian@molaro.be 44
    •  Good news: sliding secondary allocation quantity size  DB2 calculates the secondary extents size by using a sliding scale algorithm  Applies to DB2 managed pagesets only  Tries to avoid VSAM maximum extent limit errors  Scenarios:  No need for PRIQTY/SECQTY values  Don’t know space requirements or are volatile  Test environment: SET and FORGET © 2007 MConsulting - cristian@molaro.be 45
    •  Some advantages:  It minimizes the potential for wasted space by increasing the size of secondary extents slowly at first  It prevents very large allocations for the remaining extents, which would likely cause fragmentation  It does not require users to specify SECQTY values when creating and altering table spaces and index spaces  It is theoretically possible to always reach maximum data set size without running out of secondary extents  WARNING: DB2 uses the value of the SECQTY option to allocate a secondary extent only if the value of the option is larger than the value that is derived from the sliding scale algorithm © 2007 MConsulting - cristian@molaro.be 46
    •  Default PRIQTY  1 cylinder for non-LOB tablespaces and indexes  10 cylinders for LOB tablespaces  First 127 extents are allocated in increasing size, and the remaining extents are allocated based on the initial size of the data set:  For 32 GB and 64 GB data sets, each extent is allocated with a size of 559 cylinders  For data sets that range in size from less than 1 GB to 16 GB, each extent is allocated with a size of 127 cylinders © 2007 MConsulting - cristian@molaro.be 47
    •  < 16GB: 127 CYLs  < 64GB: 559 CYLs © 2007 MConsulting - cristian@molaro.be 48
    • INSTALL DB2 - SIZES PANEL 2 ===> Check numbers and reenter to change: 1 USER LOB VALUE STORAGE ===> 10240 Max storage per user for LOB values in kilobytes 2 SYSTEM LOB VALUE STORAGE ===> 2048 Max storage per system for LOB values in megabytes 3 MAXIMUM LE TOKENS ===> 20 Maximum tokens at any time. 0-50 4 TABLE SPACE ALLOCATION ===> 0 Default space allocation in KB for table spaces (0 for DB2 default or 1-4194304) 5 INDEX SPACE ALLOCATION ===> 0 Default space allocation in KB for index spaces (0 for DB2 default or 1-4194304) 6 VARY DS CONTROL INTERVAL ===> YES Optimize VSAM CONTROL INTERVAL to page size for data set allocation 7 OPTIMIZE EXTENT SIZING ===> YES Use sliding secondary quantity for DB2-managed data sets  Can be activated online  Zparm MGEXTSZ=YES (default = NO)  Existing pagesets: ALTER PRIQTY/SECQTY to -1 + REORG © 2007 MConsulting - cristian@molaro.be 49
    •  Is it working? ------------------------------------------------------------------------- DPA1CAT.DSNDBC.DSN8D81A.DSN8SBIN.I0001.A001 listcat ent(/) all NDBD.DSN8D81A.DSN8SBIN.I0001.A001 540 ? 8 33 VOLUME ***************************** End of Data Set list ********************** VOLSER------------PR23A3 PHYREC-SIZE---------8192 HI-A-RBA--------26542080 EXTENT-NUMBER----------8 DEVTYPE------X'3010200F' PHYRECS/TRK------------6 HI-U-RBA--------25804800 EXTENT-TYPE--------X'40' VOLFLAG------------PRIME TRACKS/CA-------------15 EXTENTS: LOW-CCHH-----X'03C80000' LOW-RBA----------------0 TRACKS----------------15 HIGH-CCHH----X'03C8000E' HIGH-RBA----------737279 LOW-CCHH-----X'04680000' LOW-RBA-----------737280 TRACKS----------------30 HIGH-CCHH----X'0469000E' HIGH-RBA---------2211839 LOW-CCHH-----X'046A0000' LOW-RBA----------2211840 TRACKS----------------45 HIGH-CCHH----X'046C000E' HIGH-RBA---------4423679 LOW-CCHH-----X'046D0000' LOW-RBA----------4423680 TRACKS----------------60 HIGH-CCHH----X'0470000E' HIGH-RBA---------7372799 LOW-CCHH-----X'04740000' LOW-RBA----------7372800 TRACKS----------------75 HIGH-CCHH----X'0478000E' HIGH-RBA--------11059199 LOW-CCHH-----X'04790000' LOW-RBA---------11059200 TRACKS----------------90 HIGH-CCHH----X'047E000E' HIGH-RBA--------15482879 LOW-CCHH-----X'0A280000' LOW-RBA---------15482880 TRACKS---------------105 HIGH-CCHH----X'0A2E000E' HIGH-RBA--------20643839 LOW-CCHH-----X'0A3F0000' LOW-RBA---------20643840 TRACKS---------------120 © 2007 MConsulting - cristian@molaro.be 50 HIGH-CCHH----X'0A46000E' HIGH-RBA--------26542079
    •  Materialized Query Tables = MQTs  Table containing materialized data derived from one or more source tables specified by a fullselect  Similar to automatic summary tables  Query rewrite for dynamic SQL  Can be accessed directly by static and dynamic SQL  System-maintained MQTs (default) are populated with REFRESH TABLE  User-maintained MQTs can be populated by REFRESH TABLE, load, insert, update and delete © 2007 MConsulting - cristian@molaro.be 51
    •  Datawarehouse  Need to improve performance of critical query  Query:  10 tables involved in a multiple join  can be improved by the use of a MQT  Validate the REFRESH needs for the MQT and schedule it  The created MQT needs to be validated  need to determine which part of the query is fix and which part is variable (local predicates) © 2007 MConsulting - cristian@molaro.be 52
    •  Original query: SELECT DISTINCT(REP.REPID) representativeId, REP_LOC.LOCATIONID locationId, REP_PROD.PRODUCTID productId FROM EIS.REP_REPRESENTATIVE REP join EIS.REP_LOCATION REP_LOC on REP.REPID=REP_LOC.REPID AND REP_LOC.STATUSID=1 AND REP_LOC.PRODUCTDIFFERENTIATIONFLAG = 1 left join EIS.GEN_CITY CITY on CITY.cityId = REP_LOC.cityId join EIS.REPPRODUCTCONFIG REP_PROD on REP.REPID = REP_PROD.REPID AND REP_PROD.STATUSID=1 join EIS.LOCPRODUCTCONFIG REP_LOC_PROD on REP_PROD.PRODUCTCONFIGID = REP_LOC_PROD.PRODUCTCONFIGID AND REP_LOC.LOCATIONID = REP_LOC_PROD.LOCATIONID AND REP_LOC_PROD.STATUSID=1 AND REP_LOC_PROD.CURRENCYDIFFFLAG=2 join EIS.PRDCURRENCYCONFIG REP_LOC_CURR on REP_LOC_CURR.STATUSID=1 AND REP_LOC_PROD.PRODUCTCONFIGID = REP_LOC_CURR.PRODUCTCONFIGID AND REP_LOC_CURR.LOCATIONCONFIGID IS NULL AND REP_LOC_CURR.OPERATORCONFIGID IS NULL join EIS.MTCURRENCYCONFIG REP_MT_CURR on REP_LOC_CURR.PRODUCTCURRENCYID=REP_MT_CURR.PRODUCTCURRENCYID join EIS.GEN_PRODUCT GEN_SERVICE on GEN_SERVICE.PARENTPRODUCTID=REP_PROD.PRODUCTID join EIS.REPPRODUCTSERVICES REP_SERV on REP_PROD.PRODUCTCONFIGID = REP_SERV.PRODUCTCONFIGID AND REP_SERV.SERVICEID=GEN_SERVICE.PRODUCTID AND REP_SERV.STATUSID=1 join EIS.LOCPRODUCTSERVICES REP_LOC_SERV on REP_SERV.SERVICEID=REP_LOC_SERV.SERVICEID AND REP_LOC_PROD.LOCATIONCONFIGID=REP_LOC_SERV.LOCATIONCONFIGID AND REP_LOC_SERV.STATUSID=1 WHERE REP.STATUSID=1 AND REP_MT_CURR.DIRECTION IN (2,3) AND REP_LOC.COUNTRYID=32 AND REP_PROD.PRODUCTID=2 AND CITY.NAME LIKE 'CONCEI%O DO ARAGUAIA%' AND GEN_SERVICE.productid IN (102) GROUP BY REP.REPID, REP_LOC.LOCATIONID, REP_PROD.PRODUCTID HAVING count(*)=1 ORDER BY REP.REPID, REP_LOC.LOCATIONID, REP_PROD.PRODUCTID © 2007 MConsulting - cristian@molaro.be 53
    •  Original access path: © 2007 MConsulting - cristian@molaro.be 54
    •  MQT creation: CREATE TABLE MQT.TEST3 AS (SELECT DISTINCT(REP.REPID) REPRESENTATIVEID, REP_LOC.LOCATIONID LOCATIONID, REP_PROD.PRODUCTID PRODUCTID, CITY.NAME AS CITY, REP.STATUSID AS REP_STATUSID, REP_MT_CURR.DIRECTION AS REP_MT_CURR_DIRECTION, REP_LOC.COUNTRYID AS REP_LOC_COUNTRYID, REP_PROD.PRODUCTID AS REP_PROD_PRODUCTID, GEN_SERVICE.PRODUCTID AS GEN_SERVICE_PRODUCTID FROM EIS.REP_REPRESENTATIVE REP JOIN EIS.REP_LOCATION REP_LOC ON REP.REPID = REP_LOC.REPID AND REP_LOC.STATUSID = 1 AND REP_LOC.PRODUCTDIFFERENTIATIONFLAG = 1 LEFT JOIN EIS.GEN_CITY CITY ON CITY.CITYID = REP_LOC.CITYID JOIN EIS.REPPRODUCTCONFIG REP_PROD ON REP.REPID = REP_PROD.REPID AND REP_PROD.STATUSID = 1 JOIN EIS.LOCPRODUCTCONFIG REP_LOC_PROD ON REP_PROD.PRODUCTCONFIGID = REP_LOC_PROD.PRODUCTCONFIGID AND REP_LOC.LOCATIONID = REP_LOC_PROD.LOCATIONID AND REP_LOC_PROD.STATUSID = 1 AND REP_LOC_PROD. CURRENCYDIFFFLAG = 2 JOIN EIS.PRDCURRENCYCONFIG REP_LOC_CURR ON REP_LOC_CURR.STATUSID = 1 AND REP_LOC_PROD. PRODUCTCONFIGID = REP_LOC_CURR.PRODUCTCONFIGID AND REP_LOC_CURR.LOCATIONCONFIGID IS NULL AND REP_LOC_CURR. OPERATORCONFIGID IS NULL JOIN EIS.MTCURRENCYCONFIG REP_MT_CURR ON REP_LOC_CURR.PRODUCTCURRENCYID = REP_MT_CURR. PRODUCTCURRENCYID JOIN EIS.GEN_PRODUCT GEN_SERVICE ON GEN_SERVICE.PARENTPRODUCTID = REP_PROD.PRODUCTID JOIN EIS.REPPRODUCTSERVICES REP_SERV ON REP_PROD.PRODUCTCONFIGID = REP_SERV.PRODUCTCONFIGID AND REP_SERV.SERVICEID = GEN_SERVICE.PRODUCTID AND REP_SERV. STATUSID = 1 JOIN EIS.LOCPRODUCTSERVICES REP_LOC_SERV ON REP_SERV.SERVICEID = REP_LOC_SERV.SERVICEID AND REP_LOC_PROD.LOCATIONCONFIGID = REP_LOC_SERV. LOCATIONCONFIGID AND REP_LOC_SERV.STATUSID = 1) ; © 2007 MConsulting - cristian@molaro.be 55
    •  A daily REFRESH TABLE process was scheduled  Query rewrite: SELECT representativeId, locationId, productId   FROM mqt.test3 WHERE REP_STATUSID=1 AND   REP_MT_CURR_DIRECTION IN (2,3) AND   REP_LOC_COUNTRYID=32 AND REP_PROD_PRODUCTID=2 AND   CITY LIKE 'CONCEI%O DO ARAGUAIA%' AND   GEN_SERVICE_productid IN (102) GROUP BY representativeId, LOCATIONID, PRODUCTID HAVING  count(*)=1 ORDER BY 1,2,3 © 2007 MConsulting - cristian@molaro.be 56
    •  New access path: © 2007 MConsulting - cristian@molaro.be 57
    • © 2007 MConsulting - cristian@molaro.be 58
    •  New in V8:  Statistics Advisor  List cached statements and explain from statement cache  Detailed explain information (incomplete list): ○ Qualified rows estimates ○ Detailed index costing information ○ Parallelism details ○ Sort details © 2007 MConsulting - cristian@molaro.be 59
    •  RedBook SG24-7421  Not fully activated in V8  V8 NFM only  Full support in V9 © 2007 MConsulting - cristian@molaro.be 60
    • © 2007 MConsulting - cristian@molaro.be 61
    • © 2007 MConsulting - cristian@molaro.be 62
    •  zIIPs  NOT PADDED Indexes  Backwards Index Scanning  Unlike Types are now Indexable  Non-Uniform Distribution Statistics on Non-Indexed Columns  Partitioning and clustering separated  Parallel Sorting  64-bit Exploitation  Data Partitioned Secondary Indexes  4096 Partitions  2000 byte Keys  Long Object Names  2 MB SQL Statements  225 Table Joins  Multi-row FETCH and INSERT  More log space  Online schema change… © 2007 MConsulting - cristian@molaro.be 63
    • © 2007 MConsulting - cristian@molaro.be 64
    •  Moving to V8 is good  Take documentation seriously  Planning is key in the migration process  A lot of improvements and new features  Plan to get value of the new V8 features  Educate yourself and others © 2007 MConsulting - cristian@molaro.be 65
    •  Questions? cristian@molaro.be © 2007 MConsulting - cristian@molaro.be 66