Category: Performance

1

Analyzing Package Cache Size

Note: updated 7/21 to reflect location of the package cache high water mark in the MON_GET* table functions I have long been a fan of a smaller package cache size, particularly for transaction processing databases. I have seen STMM choose a very large size for the package cache, and this presents several problems: Memory used for the package cache might...

file0002050295530 5

Multiple Index Regression Analysis

I actually had a blog entry started on this topic before IDUG. I knew this was possible, but not exactly how to do it. Then I sat in Scott Hayes’ session – D04 – More Sage Advice: Invaluable DB2 LUW Performance Insights from Around the Globe, and he had all the details I needed to really get rolling on trying...

IanB 6

Generating Log Archive Activity Histograms

A few weeks ago, Ember posted a tweet mentioning that being able to see a histogram showing frequency of transaction log archive activity would be helpful. I had already done some work in this area by parsing the diagnostic log file (db2diag.log) for log archive messages, but I thought I could throw together a quick example of how to do this using...

7

Adding a GENERATED ALWAYS Column to a Table

GENERATED ALWAYS can be a blessing or a curse. I’m not talking about identity columns here, but about creating a column that is actually a duplicate of some part of the data to boost performance. Sure, in 10.5 we can do indexes on expressions, but for some clients I have trouble just getting them to go to a supported level,...

select2 2

DB2 Administrative SQL Cookbook: Finding Problem SQL in the Package Cache

I wrote a developerWorks article on finding problem SQL in your package cache. But I refine and play with my SQL over time, so I thought I’d share the version I’ve been using recently. Purpose To find problem SQL in the Package Cache across several importance performance categories. Computes how bad a particular statement is in comparison to other statements...

0

LBAC – Label Based Access Control

To go with my recent article on RCAC/FGAC, I thought I would do some similar work using LBAC and see what I could learn about it and the differences between the two. What is LBAC Label Based Access Control essentially adds a column to a table that labels each row (think confidential, secret, top secret), and then grants uses of...

3

Customizing MONREPORT … or not

If you’re not familiar with MONREPORT, see my DB2 Basics entry on MONREPORT first. Most of the references I’ve seen to customizing the MONREPORT module basically say “get the code out of the database, modify it, and deploy it”. (see IBM DB2 Knowledge Center Entry on Customizing the MONREPORT module reports) I have found this rather frustrating when I’ve run...

1

DB2 Basics: MONREPORT

If you’re mourning the loss of “RESET MONITOR ALL”, there are a number of ways you can address that. Ideally, you’d use this approach: http://www.ibm.com/developerworks/data/library/techarticle/dm-1009db2monitoring1/, but there are some arguments for using MONREPORT over that in some ways. One argument is that MONREPORT is built-in and you don’t have to add objects to make it work. The disadvantages are a...

1

DB2 Explain Output in Another Format

I’m always keeping an eye on Twitter to catch interesting bits of news, and that includes watching cross platform information. I find it fascinating to compare DB2 to other RDMBSes, and saw a great article from Use the Index, Luke (fabulous name!) – Seven Surprising Findings About DB2. I’d recommend reading it. One of the things that stood out most...