by Paul C Zikopoulos
Investigating a Locking Problem Using
the Activity Monitor
Once you open the
Activity Monitor, you need to select the database that you want to work with.
By default, the first database that you create in the default instance is
selected.
You can work
with any database in any instance on your system. If you want to work with a
different database than the default one selected by the wizard, click on the
ellipsis and select the instance and database that you want to work with, as
shown in the Select Database window. On my system, I just have a single
instance cataloged (called HEALTH) that has a single database (called SMART).
Once you decide
what database you want to work with, you can choose what type of problem you
want to investigate. You can see in the following figure that you have some provided
reports or investigative paths that you can follow. You can also create your
own, or new reports based on existing paths. For this example, since I am
interested in investigating a locking issue that the Health Center automatically
brought to my attention, I selected the Resolving an application locking
situation monitoring task.
Since some
systems could have hundreds of connections or multiple applications, you can
filter the information that the Activity Monitor returns. I set up this example
on my laptop, so I do not need to concern myself with filtering.
The Summary
window lists all of the provided reports that DB2 UDB will return to you so
that you can investigate your locking problem:
A locking
report is then returned to you from the DB2 UDB engine. You can see in the
figure below that there are a number of locks that are waiting on other locks, but
have not timed out yet. Also, notice that you can filter the results in this
window as well.
You also have
access to the other reports that DB2 UDB generated for you. To see these
reports, click the Report drop-down box:
Obviously, if
you select a different report, that report is shown in the Activity Monitor.
The following figure shows the largest number of rows read for the SQL executed
against the database (one of the provided reports you have the option of
selecting):
Since all of the
applications are blocked right now (you will see this visually in a moment), there
are no SQL statements listed here. What you will find, however, is that the
column information returned changes for each report.