DB2 10 Capturing Tuning and Trending for SQL Workloads - a resource and cost saving approach. Roy Boxwell SOFTWARE ENGINEERING GmbH

Similar documents
DB2 10 Capturing Tuning and Trending for SQL Workloads - a resource and cost saving approach

DB2 11 Capturing Tuning and Trending for SQL Workloads - a resource and cost saving approach. Ulf Heinrich SEGUS Inc

Workload Insights Without a Trace - Introducing DB2 z/os SQL tracking SOFTWARE ENGINEERING GMBH and SEGUS Inc. 1

Don t Let ICIs put your DB2 applications in the ICU!

What Developers must know about DB2 for z/os indexes

Db2 V12 Gilbert Sieben

What it does not show is how to write the program to retrieve this data.

Quest Central for DB2

SEGUS Inc DB2 z/os tools

Arrays are a very commonly used programming language construct, but have limited support within relational databases. Although an XML document or

An A-Z of System Performance for DB2 for z/os

IT Best Practices Audit TCS offers a wide range of IT Best Practices Audit content covering 15 subjects and over 2200 topics, including:

DB2 Performance Essentials

Where s the BiF?? Roy Boxwell, Senior Software Architect, Software Engineering GmbH SEGUS Inc and SOFTWARE ENGINEERING GMBH

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc.

Pass IBM C Exam

DB2 and Memory Exploitation. Fabio Massimo Ottaviani - EPV Technologies. It s important to be aware that DB2 memory exploitation can provide:

Building and Managing Efficient data access to DB2. Vijay Bommireddipalli, Solutions Architect, Optim

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

DB2 9 for z/os V9 migration status update

DB2 Performance A Primer. Bill Arledge Principal Consultant CA Technologies Sept 14 th, 2011

WMQ for z/os Auditing and Monitoring

How Viper2 Can Help You!

Built in Function. BIF Compatibility. A german customer presentation translated and anonymized. by Siegfried Fürst SOFTWARE ENGINEERING GmbH

DB2 Performance Health Check... in just few minutes. DUGI 8-9 April 2014

Empowering DBA's with IBM Data Studio. Deb Jenson, Data Studio Product Manager,

DB2 Analytics Accelerator Loader for z/os

Vendor: IBM. Exam Code: Exam Name: IBM Certified Database Administrator - DB2 10 for z/os. Version: Demo

z/os Db2 Batch Design for High Performance

Performance 101 for DB2 for LUW

Short Summary of DB2 V4 Through V6 Changes

DB2 12 for z/os: Technical Overview and Highlights

Oracle Database 10g The Self-Managing Database

A Mission-Critical Approach to Managing DB2 in the z Enterprise

DB2 z/os Audit using SQL Workload Expert for DB2 z/os

IBM Application Performance Analyzer for z/os Version IBM Corporation

Advanced Design Considerations

CA Unified Infrastructure Management Snap

DB2 12 A new spin on a successful database

V9 Migration KBC. Ronny Vandegehuchte

With the growth of data, the reduction in of DBA staffing, tight budgets, and the business goal to be 24x7 it is becoming more important to automate

Westfield DB2 z/os System Management

IBM Optim Performance Manager Extended Edition What s New. Ute Baumbach September 6, IBM Corporation

Optimising Insert Performance. John Campbell Distinguished Engineer IBM DB2 for z/os Development

TUC TOTAL UTILITY CONTROL FOR DB2 Z/OS. TUC Unique Features

CMSC424: Database Design. Instructor: Amol Deshpande

DB2 11 for z/os Application Functionality (Check out these New Features) Randy Ebersole IBM

Certkiller.P questions

To REORG or not to REORG That is the Question. Kevin Baker BMC Software

The Present and Future of Large Memory in DB2

Expert Stored Procedure Monitoring, Analysis and Tuning on System z

Reducing MIPS Using InfoSphere Optim Query Workload Tuner TDZ-2755A. Lloyd Matthews, U.S. Senate

Basi di Dati Complementi. Mainframe

Enhanced Monitoring Support in DB2 10 for z/os

Segregating Data Within Databases for Performance Prepared by Bill Hulsizer

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in

Key Metrics for DB2 for z/os Subsystem and Application Performance Monitoring (Part 1)

IBM DB2 11 DBA for z/os Certification Review Guide Exam 312

DB2 Users Group. September 8, 2005

Oracle Database 11g: SQL Tuning Workshop

What's New with CA DB2 Tools

Deep Dive Into Storage Optimization When And How To Use Adaptive Compression. Thomas Fanghaenel IBM Bill Minor IBM

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Stored Procedure Monitoring and Analysis

Resource Mapping A Wait Time Based Methodology for Database Performance Analysis

Optimizing Insert Performance - Part 1

Oracle Database 12c Performance Management and Tuning

EXAMGOOD QUESTION & ANSWER. Accurate study guides High passing rate! Exam Good provides update free of charge in one year!

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

This is the forth SAP MaxDB Expert Session and this session covers the topic database performance analysis.

Common DB2 Customer Issues. As seen by DB2-LUW support

Click to edit the title text format

Application Development Best Practice for Q Replication Performance

Enhanced Monitoring Support in DB2 10 for z/os

DB2 Optimization Service Center DB2 Optimization Expert for z/os

Db2ZAI Machine Learning in Db2 for z/os

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Course Contents of ORACLE 9i

Exam Questions C

SQL Gone Wild: Taming Bad SQL the Easy Way (or the Hard Way) Sergey Koltakov Product Manager, Database Manageability

Advanced Insight in your SAP Systems with the DBA Cockpit

Microsoft Administering Microsoft SQL Server 2012/2014 Databases. Download Full version :

SQL Server DBA Course Content

a process may be swapped in and out of main memory such that it occupies different regions

Db2 for z/os: Lies, Damn lies and Statistics

IDAA v4.1 PTF 5 - Update The Fillmore Group June 2015 A Premier IBM Business Partner

DB2 for z/os Stored Procedure support in Data Server Manager

IBM DB2 LUW Performance Tuning and Monitoring for Single and Multiple Partition DBs

Introduction. Assessment Test. Chapter 1 Introduction to Performance Tuning 1. Chapter 2 Sources of Tuning Information 33

MQ SMF Formatting How to Use and Analyse (or Analyze) the Data

Performance Benchmark and Capacity Planning. Version: 7.3

COGNOS DYNAMIC CUBES: SET TO RETIRE TRANSFORMER? Update: Pros & Cons

OPS-23: OpenEdge Performance Basics

IMS K Transactions Per Second (TPS) Benchmark Roadblocks, Limitations, and Solutions

Vendor: IBM. Exam Code: C Exam Name: DB DBA for Linux UNIX and Windows. Version: Demo

DB2 Stored Procedures Monitoring, Analysis, and Tuning on System z

Active Server Pages Architecture

The Modern Mainframe At the Heart of Your Business

<Insert Picture Here> DBA Best Practices: A Primer on Managing Oracle Databases

Transcription:

1

DB2 10 Capturing Tuning and Trending for SQL Workloads - a resource and cost saving approach Roy Boxwell SOFTWARE ENGINEERING GmbH

3 Agenda 1. DB2 10 technology used by SQL WorkloadExpert (WLX) 2. The three components of WLX a) The WLX-Started Task (assembler-written) b) Workload processing engine c) GUI front end for Eclipse 3. Real life example: a) Access Path Protection b) Fast problem detection c) Useful advice rule system d) KPI trending 4. Quick solution creation and control 5. Selected use cases

4 DB2 10 technology used by SQL WorkloadExpert (WLX) How many resources do you spend on capturing DB2 SQL workload and its metrics? There seems to be out-of-the-box metrics delivered by DB2, but does it give me all the data I need, when I need it? How does the smarter database, how does DB2 10 for z/os deal with it?...

5 DB2 10 technology used by SQL WorkloadExpert (WLX) DB2 10 Monitoring Enhancements and Changes: Statement Level Statistics Enhanced messages and traces to capture statement level information Statement information in real-time STMT_ID unique statement identifier assigned when statement first inserted into DSC Statement type static or dynamic Bind TS 10 byte TS when stmt was bound, or prepared Statement level execution statistics (per execution) New Monitor class 29 for statement detail level monitoring Monitor Class 29 (overhead is ~1-3%) New for statement level detail

6 DB2 10 technology used by SQL WorkloadExpert (WLX) What s exactly new: IFCID 316 was enhanced to externalize the data from the Dynamic Statement Cache (DSC) when a flushing situation occurs (LRU, RUNSTATs, ALTER, DROP, REVOKE, ) NO DATA LOSS New IFCIDs 400* and 401 additionally EDM pool data let s call it the Static Statement Cache Memory resident storage of static SQL statements Like with the enhanced 316, data is externalized when the EDM pool is full. NO DATA LOSS *This IFCID is not really an IFCID but more of a switch to enable externalization of static SQL metrics

7 DB2 10 technology used by SQL WorkloadExpert (WLX) DSC and EDM provide detailed workload insights: SQL text Statement ID Date/time Current status Resource consumption

8 DB2 10 technology used by SQL WorkloadExpert (WLX) DB2 10 also provides some additional information from the DSC trace we all know today: Wait time accumulation for Latch requests Page latches Drain locks Drains during waits for claims to be released Log writers

9 DB2 10 technology used by SQL WorkloadExpert (WLX) Date and time in store clock format for Stmt insertion and update (along with internal format) Number of times that a RID list overflowed because of storage shortage # of RIDs exceeded internal limit(s) a RID list append for a hybrid join interrupted because of RID pool storage shortage # of RIDs exceeded internal limit(s) a RID list retrieval failed for multiple IX access. The result of IX AND/ORing could not be determined

10 DB2 10 technology used by SQL WorkloadExpert (WLX)

WLX Architecture Click to edit Master title style

11 The three components of SQL WorkloadExpert (WLX) The WLX STC: We run a started task 24x7 to catch all the IFCIDs that DB2 will be throwing and store the data. Workload processing engine: We externalize and process the data, such as every 60 min: customizable (e.g. 30-180 minutes) allow Ad hoc data refresh triggered via operator command for the started task (MODIFY) Capture the SQL Text at trace time

13 The three components of SQL WorkloadExpert (WLX) GUI front end for Eclipse: We exploit and integrate into Eclipse based GUI front ends The GUI comes as a Plug-in for IBM Rational IBM Data Studio Eclipse native Existing DB2 connections are used to connect to the mainframe Interactive dialogs allow complex and powerful analysis Export features create PDF reports and allow MS Excel hand over Additional plug-ins interface with other SOFTWARE ENGINEERING tools, such as!sql PerformanceExpert (SPX) and!sql BindImpact Expert (BIX)

14 The three components of SQL WorkloadExpert (WLX) First Topic Second Topic Sub-Topic A Secondary Sub-Topic 1 Secondary Sub-Topic 2 Sub-Topic B Sub-Topic C Third Topic Fourth Topic Workoad KPIs left hand side

15 The three components of SQL WorkloadExpert (WLX) Workoad KPIs right hand side

16 The three components of SQL WorkloadExpert (WLX) Spider diagram of three application extracts

17 The three components of SQL WorkloadExpert (WLX) Example of our Eclipse embedded SPX plug-in

17 The three components of SQL WorkloadExpert (WLX) SPX rule violations

18 The three components of SQL WorkloadExpert (WLX) We enhanced our existing SQL Performance Management tools to interface to the DB2 out-of-the-box data. Resulting benefits: See any executed SQL in a plex-wide report Workload/performance warehouse repository that contains *all* executed SQL Powerful history and trending analysis All of this is now available with the smallest overhead ever possible!

20 Real life example Quick solution creation and control

21 July Problem Thursday night Production staging of numerous packages Friday Thread time-outs, deadlocks, bad news! First thought: Must be caused by a bad package All packages checked for bad access paths and everything found was OK Second thought: Open Priority two ticket at IBM in case it is a DB2 problem JAVA trace showed a long running SQL appearing often REORG with inline RUNSTATs the biggest tables used in that SQL Reduce number of available servers to stop problem getting worse (internal throttling of transactions) Full panic mode now enabled Saturday Call in senior DBA from vacation

22 July Problem Saturday Morning 09:00 DBA uses WLX to compare SQL workload from Thursday with Friday Sees bad guy instantly 09:10 DBA uses BIX to confirm that an access path change has caused the problem Nothing to do with staging, Nothing to do with the large tables 09:15 DBA creates a new virtual index using SPX and retests Access path switches back to old correct method 09:30 DBA creates a new index, RUNSTATS it, everything is fixed and the systems are running sweetly again 09:45 DBA goes back on vacation

23 July Problem Monday Morning Investigation by DBA group starts 12:00 - DBA group finds that a badly timed RUNSTATs on Thursday night caused the access path change. New index is OK and in fact the old index can now be dropped 15:30 Report written for CIO, Problem closed at IBM

24 Selected use cases GUI features button overview Example use case drop down box

Selected use cases Click to edit Master title style Example of application workload and SQL text drill down 25

26 Selected use cases Compare view: Select any two SQLs to generate graphs

27 Selected use cases Report generation dialog and selection

28 Selected use cases Output of the selected reporting

29 Selected use cases Here we have found our own bad guy! STOGROUP SQL

30 Selected use cases Now we need to see what it is doing Aha! This looks like a great candidate for LEFT OUTER JOIN processing (Already in our next RTDX PTF by the way!)

31 Selected use cases Application Usage figures Adjusted data

32 Selected use cases Lots of executions for the *same* SQL going on here Why so often? Discussed with development and find it is a design problem The query could be run earlier and then only a few times a day instead of millions!

33 Selected use cases Often run BAD SQL This workload splits into two SQLs Which have this SQL: Six UNIONs DBA rewrote down to one SELECT and IN usage.

34 Selected use cases Use Case 1: Application Workload Analysis Use Case 2: Workload-Change Problem-Detection and Trending Use Case 3: Object Quiet Times for Maintenance (REORG) Use Case 4: AUDIT (Who did What Where and When) Use Case 5: Never Used Objects (Tables, Indexes, and Tablespaces) Use Case 6: Never Executed SQL (Plans, Collections, Packages, and Statements) V 2.0 FTD outside standard delivery

35 Selected use cases Use Case 7: Forecasting of possible performance improvements in dynamic SQL by exchanging literals with parameter markers Use Case 8: Disc Problem Detection I/O Rates Use Case 9: Bufferpool Analysis Hit Ratios, VPSEQT-Tuning Use Case 10: Multi-Row Fetch Candidate Detection Use Case 11: SQL KPIs Background Noise and Exceptions Use Case 12: SELECT Only Table Detection Use Case 13: Delay Detection V 2.0 FTD outside standard delivery

36 Selected use cases Use Case 14: Deadlock and Timeout, Lock Escalation, Index Page Splits, and BIF Usage Use Case 15: Multi-Snap Use Case 16: SPX (!SQL PerformanceExpert) Link Use Case 17: REORG Detector and Suppressor Use Case 18: Eager vs. Lazy Loader Detection (JPA-Java Persistence API) Use Case 19: Object Usage of Application Including Service Naming by Object Use Case 20: Offline Performance Database V 2.0 FTD outside standard delivery

37 Selected use cases Use Case 21: Up and Down Scaling SQL Workloads Use Case 22: Same SQL on Multiple Schemas Use Case 23: DSC Flush Analysis Use Case 24: SQL Text Analysis Use Case 25: Application Object Cross-Reference Builder Use Case 26: CLUSTER Index Detection Use Case 27: Object to SQL Statement Cross-Reference Use Case 28: CPU Intensive Statements Use Case 29: Index Maintenance Costs V 2.0 FTD outside standard delivery

38 Selected use cases Calendar date/time for from <-> to index analysis

39 Selected use cases Result: Green: resource reduction Red: resource increase

40 Appendix Problem list : PM77114 DB2 10 UK91560 Abend S04E PM78143 DB2 10 UK93065 SOS HIPER PM80371 DB2 10 UK93127 Serviceability for SHTE PM83370 DB2 10 UK94511 Fields TB and IX sometimes wrong PM85376 DB2 10 UK96310 Abend S04E PM89121 DB2 10 UK95683 Storage leak leading to abend HIPER PM91159 DB2 10 UK97197 Improve accuracy of IFCID 316 and 401 PM92610 DB2 11 UK96376 Abend with IFCID 400 or 401 PM93437 DB2 11 UK97361 IFCID 316 fields length value problem PM97922 DB2 10 UI12375 DB2 11 UI12376 Invalid or empty IFCID 316 PI07461 OPEN Inconsistent QA0401EU, GL and GP PI09147 DB2 10 UI15679 DB2 11 UI15680 Abend S04E PI09408 DB2 10 UI15740 DB2 11 UI15741 Abend S04E PI09788 DB2 11 UI15739 SOS with IFCID400

41 Appendix Timings: Externalizing every 5 mins for 24 hours cost 300 secs cpu (No EXPLAIN of course in this scenario!)

Roy Boxwell SOFTWARE ENGINEERING GmbH r.boxwell@seg.de 42