By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,190 Members | 1,469 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,190 IT Pros & Developers. It's quick & easy.

db cfg: CATALOGCACHE_SZ obscurites.

P: n/a
Hello there.

1) According to documentation, setting
CATALOGCACHE_SZ = -1 means CATALOGCACHE_SZ = (MAXAPPLS*4)

But MAXAPPLS is set to AUTOMATIC, this means "no limit" or "no value". Again, according to documentation, CATALOGCACHE_SZ is allocated "when the database is initialized". Hence, I'm interesting, which value is really allocated instead of illusion (<no limit>*4).

"get db cfg" command does not help here, because literally displays "(MAXAPPLS*4)".

2) There would be no room for question (1) if I have a way to reliably check CATALOGCACHE_SZ value. But I have inconsistent results:
_______________________________________________
| |CATALOG | "catcacheh" (token of db2mtrk -d)
MAXAPPLS|CACHE_SZ| shown | I would expect...
--------+--------+--------+--------------------
(ignore) 100 192,0K 4K*100 = 400K
20 -1 64,0K 4K*(20*4) = 320K
AUTOMAT -1 64,0K (no assumptions)
-----------------------------------------------

Hence, I'm intresting, how are related CATALOGCACHE_SZ db config parameter, "catcacheh" token of db2mtrk, and real catalog cache size ?
--
Konstantin Andreev.
Jun 3 '07 #1
Share this Question
Share on Google+
14 Replies


P: n/a
Konstantin Andreev wrote:
Hello there.

1) According to documentation, setting
CATALOGCACHE_SZ = -1 means CATALOGCACHE_SZ = (MAXAPPLS*4)

But MAXAPPLS is set to AUTOMATIC, this means "no limit" or "no
value". Again, according to documentation, CATALOGCACHE_SZ is allocated
"when the database is initialized". Hence, I'm interesting, which value
is really allocated instead of illusion (<no limit>*4).
AUTOMATIC does not mean "no limit" or "no value".

Did you try DB2 GET DB CFG FOR <aliasSHOW DETAIL?
Jan M. Nelken
Jun 3 '07 #2

P: n/a
Konstantin Andreev wrote:
Hello there.

1) According to documentation, setting
CATALOGCACHE_SZ = -1 means CATALOGCACHE_SZ = (MAXAPPLS*4)

But MAXAPPLS is set to AUTOMATIC, this means "no limit" or "no
value". Again, according to documentation, CATALOGCACHE_SZ is
allocated "when the database is initialized". Hence, I'm interesting,
which value is really allocated instead of illusion (<no limit>*4).
AUTOMATIC doesn't mean "no limit" or "no value", it means the value is
determined by DB2 and dynamically adapted depending on circumstances.
>
"get db cfg" command does not help here, because literally
displays "(MAXAPPLS*4)".
Try the autoconfigure command instead, with the no-apply option, like this:

db2 autoconfigure using MAXAPPLS CATALOGCACHE_SZ apply none

It will show both the formula and the actual value.

HTH.

--
Jeroen
Jun 3 '07 #3

P: n/a
Thank everybody!
AUTOMATIC does not mean "no limit" or "no value". Did you try DB2 GET DB CFG FOR <aliasSHOW DETAIL?
"Show detail", of course! I've absolutely forgotten it.
--
Konstantin Andreev.
Jun 3 '07 #4

P: n/a
Konstantin Andreev wrote:
"Show detail", of course! I've absolutely forgotten it.
You could also use:

db2pd -db <alias-dbcfg

and grep (or find) keyword you need:
For orthodox Windows believers:

db2pd -db sample -dbcfg | find /i "maxappls"
For progressive Windows believers (who downloaded grep for Windows) and
Unix followers:

db2pd -db smple -dbcfg | grep -i maxappls
Jan M. Nelken
Jun 3 '07 #5

P: n/a
Jan M. Nelken wrote:
You could also use:
db2pd -db <alias-dbcfg
db2pd is my postponed headache. It just exits silently in my system. No complains/error messages, exit code is always zero, and random command line arguments does not change this ("db2pdcfg" behaves the same). So I should leave without it.
For progressive Windows believers (who downloaded grep for Windows)
db2pd -db smple -dbcfg | grep -i maxappls
For everybody, who has wrote more than one or two scripts for Windows, installing a proper set of unix utilities under Windows is a must. sed, awk, grep,... all are should be here.
--
Konstantin Andreev.
Jun 3 '07 #6

P: n/a
Konstantin Andreev wrote:
db2pd is my postponed headache. It just exits silently in my system. No
complains/error messages, exit code is always zero, and random command
line arguments does not change this ("db2pdcfg" behaves the same). So I
should leave without it.
As the wise man said: We will not fix problems we don't know about...

Can you capture system calls trace on some trivial invocation of db2pd,
for example:

db2pd -db sample -dbcfg

Make sure you get this on supported Linux distribution - see
http://www-306.ibm.com/software/data...inux/validate/ for details.

For DB2 V9 32-bit platform this would be RHEL 4, RHEL 5, SLES 9, SLES 10
and Novell Open Enterprise Server 9.

For each of those distributions specific kernel level and/or libraries
levels may be required.

Jan M. Nelken
Jun 4 '07 #7

P: n/a
On Jun 4, 10:02 pm, "Jan M. Nelken" wrote:
db2pd is my postponed headache. It just exits silently in my system. No complains/error messages, exit code is always zero, and random command line arguments does not change this.
As the wise man said: We will not fix problems we don't know about...
Certainly...
>
Can you capture system calls trace on some trivial invocation of db2pd, for example:

db2pd -db sample -dbcfg
| avalon ~ # strace db2pd -db psftprod -dbcfg 2>&1 | wc -l
| 445

It's a lot of output, I am not sure, is it appropriate to post the
trace to group? The traces are identical (accurate within memory
addresses) on invocations of db2pd with random arguments. The most
suspicios call is third preceding exit:

| access("/db2/srv/dbi/sqllib/lib/libdb2fmtdmp.so", F_OK) = -1 ENOENT
| setuid32(0) = 0
| exit_group(0) = ?

I've checked the DB2 v9 installation pack, there is no such file in
it.
Make sure you get this on supported Linux distribution
Too bad, I have only one installation of v9, and this linux distro
(gentoo) is not officially supported. If your time permits analyzing
this problem, I gratefully supply any required details (kernel,
libraries, and so on...).

I believe this in not distro related problem. Most likely, some simple
misconfiguration.
--
Konstantin Andreev.

Jun 6 '07 #8

P: n/a
Konstantin Andreev wrote:
It's a lot of output, I am not sure, is it appropriate to post the
trace to group? The traces are identical (accurate within memory
addresses) on invocations of db2pd with random arguments. The most
suspicios call is third preceding exit:

| access("/db2/srv/dbi/sqllib/lib/libdb2fmtdmp.so", F_OK) = -1 ENOENT
| setuid32(0) = 0
| exit_group(0) = ?

I've checked the DB2 v9 installation pack, there is no such file in
it.
Please also run this:

db2pd -v -debug db2pddbg

and include db2pddbg file with strace output.
You can uplaod compressed output to ftp server:

ftp.software.ibm.com

into directory

/ps/toibm/db2

as file:

stuuf4jun.gz

and I will have a look.
As for libdb2fmtdmp.so - this library is used for formatting internal
data structures. On customer systems internal data are written as hex dump.
This library is not needed in your case - it's not shipped to customers.
Jan M. Nelken

Jun 6 '07 #9

P: n/a
Jan M. Nelken wrote:
>It's a lot of output, I am not sure, is it appropriate to post the trace to group?
You can uplaod compressed output to ftp server:
ftp.software.ibm.com
into directory
/ps/toibm/db2

| # ftp ftp://ftp.software.ibm.com/
| Current remote directory is /.
| ncftp / cd /ps/toibm/db2
| Could not chdir to /ps/toibm/db2: server said: toibm: No such file or directory.
I've overlooked the /ps directory, but could not find something simular to 'toibm'. Looks like you mistyped the URL :(
--
Konstantin Andreev.
Jun 6 '07 #10

P: n/a
Ian
Konstantin Andreev wrote:
Jan M. Nelken wrote:
>>It's a lot of output, I am not sure, is it appropriate to post the
trace to group?
>You can uplaod compressed output to ftp server:
ftp.software.ibm.com
into directory
/ps/toibm/db2


| # ftp ftp://ftp.software.ibm.com/
| Current remote directory is /.
| ncftp / cd /ps/toibm/db2
| Could not chdir to /ps/toibm/db2: server said: toibm: No such file or
directory.
I've overlooked the /ps directory, but could not find something simular
to 'toibm'. Looks like you mistyped the URL :(

I think he meant you to send to

ftp://testcase.boulder.ibm.com/ps/toibm/db2

:-)
Jun 7 '07 #11

P: n/a
Konstantin Andreev wrote:
| # ftp ftp://ftp.software.ibm.com/
| Current remote directory is /.
| ncftp / cd /ps/toibm/db2
| Could not chdir to /ps/toibm/db2: server said: toibm: No such file or
directory.
Oops - indeed as Ian states - server name is testcase.boulder.ibm.com.

You did use db2pd when logged as instance owner, right?
Jan M. Nelken
Jun 7 '07 #12

P: n/a
Jan M. Nelken wrote:
You did use db2pd when logged as instance owner, right?
That is why !!! I did run db2pd as root. I've just checked - as instance owner db2pd works as expected. Without your genius guess I could never get it to know :(

Thank you a lot, Jan.
--
Konstantin Andreev.
Jun 7 '07 #13

P: n/a
Konstantin Andreev wrote:
Jan M. Nelken wrote:
>You did use db2pd when logged as instance owner, right?

That is why !!! I did run db2pd as root. I've just checked - as instance
owner db2pd works as expected. Without your genius guess I could never
get it to know :(
Perhaps a visit to:
http://publib.boulder.ibm.com/infoce...w/v9/index.jsp
would save you some pain?

Specially:
http://publib.boulder.ibm.com/infoce...c/r0011729.htm
states that db2pd requires:
Authorization

One of the following:

* On Linux and UNIX, the sysadm authority level. You must also be the
instance owner.
* On Windows operating systems, the sysadm authority level.
I am pleased that your problem is resolved.

Jan M. Nelken
Jun 7 '07 #14

P: n/a
Jan M. Nelken wrote:
>
* ...... You must also be the instance owner.
Not easily noticeable statement, I would say... Especially when it's unknown where to look for...

It worth to teach 'db2pd' to emit whichever diagnostic message instead of silent dieing...
--
Konstantin Andreev.
Jun 7 '07 #15

This discussion thread is closed

Replies have been disabled for this discussion.