suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IT31704 Status: Closed

MON_GET_TABLE/MON_GET_INDEX table functions might respond slowerwhen
executed concurrently on databases with many tables

product:
DB2 FOR LUW / DB2FORLUW / B10 - DB2
Problem description:
Performance of MON_GET_TABLE/MON_GET_INDEX table functions will
be affected if those are executed concurrently against databases
with high number (tens of thousands or more) of table control
blocks (TCBs) loaded into memory and run with non-NULL tabschema
or tabname arguments.

Loaded TCBs can be listed by:
$ db2pd -db  -tcbstats

or counted with:
$ db2 "select count(*) from table(mon_get_table('','',-1))"

During concurrent execution response time will degrade due to a
contention on heap memory allocation by malloc function.

A backtrace on threads of Db2 engine (db2sysc) obtained with
$ db2pd -stack all
or a debugger (gstack/procstack) will show threads with
ossStrCompWithPads near the top of the stack, e.g.

...
free_common
_ossMemFree
ossStrCompWithPads
sqlrwFilteredTableIterator::execute
...
monGetTable
...

or:

...
malloc_common
_ossMemAlloc
ossStrCompWithPads
sqlrwFilteredTableIterator::execute
...
monGetIndex
...
Problem Summary:
****************************************************************
* USERS AFFECTED:                                              *
* all                                                          *
****************************************************************
* PROBLEM DESCRIPTION:                                         *
* See Error Description                                        *
****************************************************************
* RECOMMENDATION:                                              *
* Upgrade to 11.5m4fp0 or higher                               *
****************************************************************
Local Fix:
Database deactivation and activation will remove TCBs from
memory which temporarily should improve the response time of
those functions.

On AIX platform performance can be also improved by switching to
the multiheap malloc implementation, which requires
1. Adding extra environmental variables to Db2 profile,
sqllib/userprofile (persistent during across instance upgrades)
or sqllib/db2profile (which will be replaced by default during
db2iupdt)

export MALLOCOPTIONS=buckets,multiheap:4
export
MALLOCBUCKETS=number_of_buckets:128,bucket_sizing_factor:64,bloc
ks_per_bucket:1024

2. Setting appending those two options to DB2ENVLIST

db2set DB2ENVLIST="MALLOCOPTIONS MALLOCBUCKETS"

3. Restarting the instance for settings to be picked up by Db2
engine.
Solution
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : 
follow-up : IT31795 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
30.01.2020
30.06.2020
30.06.2020
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)