46
DB2 for i Monitoring, Monitoring, Analysis and Tuning Mike Cain IBM DB2 for i Center of Excellence Rochester MN USA Rochester , MN USA [email protected] 8 Copyright IBM Corporation, 2008. All Rights Reserved. This publication may refer to products that are not currently available in your country. IBM makes no commitment to make available any products referred to herein. © 2009 IBM Corporation

DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

  • Upload
    lelien

  • View
    259

  • Download
    3

Embed Size (px)

Citation preview

Page 1: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

DB2 for iMonitoring,Monitoring,Analysis and Tuning

Mike CainIBM DB2 for i Center of ExcellenceRochester MN USARochester, MN [email protected]

8 Copyright IBM Corporation, 2008. All Rights Reserved.This publication may refer to products that are not currently available in your country. IBM makes no commitment to make available any products referred to herein.

© 2009 IBM Corporation

Page 2: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Even though DB2 for i is:

Self managing Self tuning Easy to use Easy to maintain

SQL monitoring and analysis is advantageous

© 2009 IBM Corporation

Page 3: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Review of Query Optimization and Execution

© 2009 IBM Corporation

Page 4: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Components of Work - Database Request

Output Results

J li

RunTime

ƒ Journalingƒ Index Maintenanceƒ Constraint Enforcementƒ LockingT i P i

Key to optimum SQL performance…

Open

ƒ Trigger Processingƒ Disk Operationsƒ CPU Operationsƒ ODP Creation

• Identify•Minimize•Eliminate

O ti i ti

pProcessing ƒ Database

Authentication

Access Plan Creation

bottlenecksin these areas

Process Request

Optimization ƒ Access Plan Creationƒ Index Estimates

© 2009 IBM Corporation

Page 5: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Query Optimization

Cost Based Query Optimization

Th DB2 f i O ti i f " t b d" ti i ti• The DB2 for i Optimizer performs "cost based" optimization

• "Cost" is defined as the estimated time it takes to run the request

• "Costing" various plans refers to the comparison of a given set of algorithms and methods in an attempt to identify the "fastest" plan

• One goal of the optimizer is to eliminate I/O as early as possible by• One goal of the optimizer is to eliminate I/O as early as possible by identifying the best path to and through the data

• The optimizer has the ability and freedom to "rewrite" the query

• Very sophisticated query strategies and methods are used

© 2009 IBM Corporation

Page 6: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Query optimization takes into account…

System configurationSystem attributes

OS VRM L lOS VRM Level

SMP, DB parallelism

System performance

, p

Database designJob, Query attributes The Plan

Table sizes, number of rows

Static

SQL Request

Views and Indexes (Radix, EVI)

Work management

StaticDynamic

Extended DynamicInterfaces

© 2009 IBM Corporation

Page 7: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQL Query Processing – New Request

SQL request Optimize RunOpen

DB2 for i

Time

© 2009 IBM Corporation

Page 8: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

(Query) Access Plans

The output of query optimization

SQL request ACCESSPLAN

Contents

A t l t t th t t i i f ti th ti

PLAN

• A control structure that contains information on the actions necessary to satisfy each SQL request

• These contents include:These contents include:– Access Method

– Info on associated tables and indexes

© 2009 IBM Corporation

– Any applicable program and/or environment information

Page 9: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Access Plan to ODP

Executable code for allt d I/O ti

ACCESS

Internal Structures

OPEN DATA PATH

requested I/O operations

CREATEPLAN

OPEN DATA PATH(ODP)

CREATE

• Create process is EXPENSIVE– Longer execution time the first time an SQL statement is executed

• Emphasizes the need of REUSABLE ODPs

© 2009 IBM Corporation

Emphasizes the need of REUSABLE ODPs

Page 10: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Query Plan Execution

DBObjects

Executable code for • Data AccessDB Engine

I/O operations and processing

• Data ProcessingData Processing

Item1 150 XL Red

Item2 525 S Blue

Item3 310 XXL Yellow

© 2009 IBM Corporation

Item4 90 M Green

Page 11: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Query Optimization and Execution Phases

Query processing can be roughly divided into four phases:Query Validation

– Validate the query request– Validate any existing plan(s)– Build the internal query structures

Query DispatcherQuery Dispatcher– Determine which query engine can complete the processing

Query OptimizationChoose the most efficient access and processing methods– Choose the most efficient access and processing methods

– Build the access planQuery Execution

– Build the structures needed for query cursorBuild the structures needed for query cursor– Build the structures for any temporary structures (if needed)– Build and activate query cursor (ODP)– Generate information

DB E i t th l

© 2009 IBM Corporation

– DB Engine executes the query plan

Page 12: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQL Monitoring and Analysis Mechanisms

© 2009 IBM Corporation

Page 13: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Query Optimization and Execution Information

• Indexes Advised – System wide V5R4 and 6.1 only

• SQE Plan Cache V5R4 and 6.1 only

• SQE Plan Cache Snapshots V5R4 and 6.1 only

• Detailed Database Monitor Data – SQL trace V5R4 and 6.1 enhanced

• Visual Explain V5R4 and 6.1 enhanced

• PRTSQLINF Messages

• Summarized Database Monitor Data

• Debug Job Log Messages

© 2009 IBM Corporation

Page 14: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Query Optimization Feedback

Indexes Advised

SQE Plan Cache

VisualExplain

SQE Plan Advised Cache

Detailed

Cache Snapshots

SQL request

DetailedDB Monitor

Data

Query

SummarizedDB Monitor

Data

OptimizationDebug

Job Log Messages

Print SQL Information

© 2009 IBM Corporation

gInformationMessages

Page 15: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Index Advised – System wide

• New V5R4 feature, enhanced in 6.1• System wide index advice

– Data is placed into a DB2 table (QSYS2/SYSIXADV)– Autonomic– No overhead

• CQE and SQE support– CQE only provides basic advice based on local selection predicates– SQE provides complex advice based on all parts of the query

• GUI interface via iSeries NavigatorAdvice by System or Schema or Table– Advice by System, or Schema, or Table

• System only adds rows, user must manage the data– Options to clear or prune

• Can create indexes directly from GUI• Can create indexes directly from GUI– New in 6.1: Multiple index creation– Additional indexing analysis might be required

• New in 6.1: Condensed advice

© 2009 IBM Corporation

Page 16: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Index Advised – System wide

© 2009 IBM Corporation

Page 17: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Index Advised – System wide

© 2009 IBM Corporation

Page 18: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Index Advised – System wide

© 2009 IBM Corporation

Page 19: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan CacheSQE Plan Cache

New V5R4 feature, enhanced in 6.1• System wide information from the SQE Plan Cache

– Automatic

SQE Plan Cache

SQE stores all query plans in a centralized system wide plan cache– No overhead

• SQE support only• GUI interface via iSeries Navigator

Access

cache.

Along with the plans, SQE keeps meta data and runtime – Access

– Filtering– Analysis by time, user, job, statement, etc.– Visual Explain

information for the plans (i.e. queries).

The plan cache is considered temporary

• Data is volatile – Information in the SQE Plan Cache is “live” and changing– SQE Plan Cache is cleared at IPL

New in 6 1: Event monitor to capture plans that are pruned

considered temporary storage.

– New in 6.1: Event monitor to capture plans that are pruned• SQE Plan Cache is always available

– No need to “start and stop” a tool or utility

© 2009 IBM Corporation

Page 20: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache

© 2009 IBM Corporation

Page 21: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache

Example: filter on top 10 and current user

Get the plan ids for the top 10 queries Get the plan ids of all queries the current user ran “AND” the plan id lists together Return those plans to the user

If the current user ran one or more of the top 10plans, those particular plans will be returned.

If the user did not run any of the top 10 plans, nothingis returned.

The top 10 plans for current user is not necessarilyreturned.

© 2009 IBM Corporation

Page 22: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache – Show Statements

© 2009 IBM Corporation

List is initially empty to allow for user filtering

Page 23: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache – Show Longest Runs

© 2009 IBM Corporation

Page 24: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache – Column filtering

© 2009 IBM Corporation

Page 25: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache - Properties

© 2009 IBM Corporation

Page 26: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache – Event Monitors

© 2009 IBM Corporation

Page 27: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache Snapshots• New V5R4 feature enhanced in 6 1New V5R4 feature, enhanced in 6.1• System wide information materialized from the SQE Plan Cache

– No overhead – data capture is part of normal query optimization and execution– Pre-filtering

D t i l d i t i l DB2 t bl– Data is placed into a single DB2 table• SQE support only• SQL interface (CALL QSYS2/DUMP_PLAN_CACHE)

– MC Press Tech Tip - Automatically Generate an SQE Plan Cache SnapshotMC Press Tech Tip Automatically Generate an SQE Plan Cache Snapshothttp://www.mcpressonline.com/tips-techniques/system-administration/techtip-automatically-generate-an-sqe-plan-cache-snapshot.html

– New in 6.1: SQE Plan Cache Snapshots are automatically registered• GUI interface via iSeries Navigator

Access– Access– Filtering– Analysis by time, user, job, statement, etc.– Visual Explain

D t i t l til• Data is not volatile – Information from the SQE Plan Cache is “captured” at a point in time

• SQE Plan Cache is always available– No need to “start and stop” a tool or utility

© 2009 IBM Corporation

y• Additional analysis methods available like “before and after” comparisons• New in 6.1: Copy to spreadsheet

Page 28: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache Snapshots

© 2009 IBM Corporation

Page 29: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache Snapshots

© 2009 IBM Corporation

Page 30: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache Snapshots

© 2009 IBM Corporation

Page 31: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQE Plan Cache Snapshots

© 2009 IBM Corporation

Page 32: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Detailed Database Monitor – SQL Trace

• Enhanced in V5R4 and 6.1• Detailed information collected by the SQL “tracing” facility

– Data is placed into a single DB2 table– Potentially high overhead

• CQE and SQE support• Command interface – STRDBMON / ENDDBMON

Connection attributes interface• Connection attributes interface• GUI interface via iSeries Navigator

– Access– Pre-filtering and Post-filteringPre filtering and Post filtering

• New in 6.1: port number and Query Governor– Analysis by time, user, job, statement, etc.– Summary information via “dashboard”

Vi l E l i– Visual Explain• Data is not volatile

– Information from the optimizer and engine is “captured” at a point in time• Additional analysis methods available like “before and after” comparisons

© 2009 IBM Corporation

Additional analysis methods available like before and after comparisons• New in 6.1: Copy to spreadsheet

Page 33: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Detailed Database Monitor – SQL Trace

© 2009 IBM Corporation

Page 34: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Detailed Database Monitor – SQL Trace

© 2009 IBM Corporation

Page 35: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Detailed Database Monitor – SQL Trace

New in 6.1

© 2009 IBM Corporation

Page 36: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Detailed Database Monitor – SQL Trace

© 2009 IBM Corporation

Page 37: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Detailed Database Monitor – SQL Trace

© 2009 IBM Corporation

Page 38: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Visual Explain

• Enhanced in V5R4, enhanced in 6.1• Graphical representation of query plan

– Representation of the DB objects and data structuresRepresentation of the DB objects and data structures– Representation of the methods and strategy– Associated environmental information– Advice on indexes and column statistics– Highlighting of specific query rewrites– Highlighting of expensive methods

• CQE and SQE supportGUI i f i iS i N i• GUI interface via iSeries Navigator

• Based on detailed optimizer information– SQE Plan Cache

SQE Plan Cache Snapshots– SQE Plan Cache Snapshots– Detailed Database Monitor Data

• New in 6.1: – Explain while running

© 2009 IBM Corporation

Explain while running– Print attributes for a given node

Page 39: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Visual Explain

© 2009 IBM Corporation

Page 40: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Visual Explain

© 2009 IBM Corporation

Page 41: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Visual Explain – Explain while running New in 6.1

© 2009 IBM Corporation

Page 42: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

SQL Details for Job (i.e. Connection)

© 2009 IBM Corporation

Requires DB2 for i 6.1

Page 43: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Which Feedback Mechanism?

Indexes Advised

SQE Plan Cache

VisualExplain

SQE Plan Advised Cache

Detailed

Cache Snapshots

SQL request

DetailedDB Monitor

Data

Query

SummarizedDB Monitor

Data

OptimizationDebug

Job Log Messages

Print SQL Information

© 2009 IBM Corporation

gInformationMessages

Page 44: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

Which Method or Mechanism?

• What is the starting point?• What is the perspective?

– System It D d !System– Application– User– Job

SQ

It Depends!

– SQL Request– Access method or strategy

• What information is already known, or assumed?• What is the analysis methodology?• How big of “net” can you cast?• How much “help” do you want?

– Textual information or graphical information– Real time information– Comparative information– General advice or specific advice

© 2009 IBM Corporation

– General advice or specific advice• Before and After information needed?

Page 45: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

What about System Performance Information?

DB2 for i

Indexes Advised

SQE Plan Cache

VisualExplain

SQE Plan Cache

Indexes Advised

SQE Plan Cache

VisualExplain

SQE Plan Cache Collection Services

DB2 for i

SQL request

DetailedDB Monitor

Data

Snapshots

SQL request

DetailedDB Monitor

Data

Snapshots

Performance Tools

Job Watcher

Query Optimization

SQL request

Debug

SummarizedDB Monitor

DataQuery Optimization

SQL request

Debug

SummarizedDB Monitor

DataiDoctor

Job Log Messages

Print SQL InformationMessages

Job Log Messages

Print SQL InformationMessages

© 2009 IBM Corporation

Page 46: DB2 for i Monitoring, Analysis and Tuning - plex2e.complex2e.com/downloads/IBM Friday - DB2 for i Monitoring Analysis and... · DB2 for i Monitoring, Analysis and Tuning Mike Cain

© 2009 IBM Corporation