DB2 Basics: Executing a Script of SQL

There are quite a few scenarios in which DBAs need to execute a script of SQL. Sometimes developers provide such a script to be executed. Sometimes we just have a large number of commands that need to be done as a whole. For Linux and UNIX systems the file name does not matter a bit. [...]

DB2 Basics: db2top

There are a lot of things I can cover on db2top, and probably more tips and tricks using db2top than many other tools out there. Searching the web on db2top gets more good results than on many other db2 topics. I thought I'd start with some of the basics. Using db2top requires some general knowledge [...]

Quick Hit Tips – CPUSPEED, RESTRICTIVE, and DB2_WORKLOAD

Today we are going to talk about some random DB2 features that can’t stand in a blog of their own, but are worth discussing nonetheless. These are tidbits I had discovered during "DB2’s Got Talent" presentations, IDUG conferences, or “Hey, look what I discovered” moments. You blow past this setting every time you execute “db2 [...]

DB2 Error Logging

(Edited 8/12/2014 to add links to the old tutorials from IBM) There are a number of ways to cover error logging. I have covered some specific elements in previous posts, so I'm going for a more comprehensive approach in this post. There used to be this great "Problem Determination Mastery" certification available. The study material [...]

Bad Message Queue Handler. Sit. Stay.

There's an error message that appears in my db2 diagnostic logs rather frequently. It looks like this: 2014-07-30-13.34.58.446316+000 E1638372A476 LEVEL: Error (OS) PID : 32374944 TID : 1 PROC : db2 INSTANCE: db2inst1 NODE : 000 HOSTNAME: redacted EDUID : 1 FUNCTION: DB2 UDB, oper system services, sqlodque, probe:2 MESSAGE : ZRC=0x870F003E=-2029060034=SQLO_QUE_BAD_HANDLE "Bad Queue Handle" [...]

When Index Scans Attack!

We all know that table scans can be (but aren't always) a negative thing. I have spent less time worrying about index scans, though. Index access = good, right? I thought I'd share a recent scenario where an index scan was very expensive. Maybe still better than a table scan, but with one index, I [...]

DB2 Basics: Aliases

My blog entries covering the DB2 Basics continue to be my most popular blog entries. This is probably because they appeal to a wider audience - even non-DBAs are interested in them and I continue to rank highly in Google search results. My blog entry on how to catalog a DB2 database gets a ridiculous [...]

DB2 Basics: Storage Groups

A storage group is a layer of abstraction between the data in your database and disk. It is only used with Automatic Storage Tablespaces (AST). It allows us to group tablespaces together to live in similar places. Storage groups were first introduced in a roundabout way with automatic storage databases in DB2 8.2. These databases [...]

Quick Tip: Simple Errors on Database Connection

There are a couple of errors that you can get on database connection that simply mean you typed something wrong, but I figure there are people who will search on these errors, so I thought I would share. If you do not already have a database connection, you can get: db2 conenct to SAMPLE DB21034E [...]

STMM Analysis Tool

I mostly like and use DB2's Self Tuning Memory Memory Manager (STMM) for my OLTP databases where I have only one DB2 Instance/Database on a database server. I do have some areas that I do not let it set for me. I've recently learned about an analysis tool - Adam Storm did a presentation that [...]