com.ibm.db2.jcc.c.SQLException: DB2 SQL error: SQLCODE: -805,
SQLSTATE: 51002, SQLERRMC: NULLID.SYSLH203
Does anybody have an idea how to solve the problem ? I think we reach
a ressource-limit, but I don't know which.
Joerg
Actually, a -805 is a "Package not found" error... nothing to do with
resource limitations (unless you were running out of package cache, in which
case I would expect a -973, not a -805).
The package it couldn't find is "NULLID.SYSLH203", but I've never found a
way to convert a package name like that into a bind file name.
--
Larry Menard
IBM Workstation Database (DB2) Performance Team
Defender of Geese and of All Things Natural
"joerg" <joerg....@publica.de> wrote in message
news:475a2480.03052...@posting.google.com...
db2jdbcbind -url jdbc:db2://LOCALHOST:50000/dbname -user **** -password
**** -size 20
(you may also use the option -tracelevel TRACE_ALL or some other options)
This should create the remaining/missing packages.
size 20 is the key i guess.
SYSLH203
L=large packages with 385 sections (there are also small ones with 65)
H=with hold
isolation level: 0=NC, 1=UR, 2=CS, 3=RS, 4=RR
then sequence from 00 thru FF
list package for all
db2jdbcbind ...
list package for all
compare
PM
"joerg" <joerg....@publica.de> a écrit dans le message de news:
475a2480.03052...@posting.google.com...
If you can figure out which db2 client is getting the -805, go to the
sqllib's bnd subdir.
then try ddcspkgn on all the lst files, or (what I would do) grep
SYSLH203 *.bnd
to find the bind file. Then you need to bind that bind file from that
package...
Hope that helps,
Dave.
If you're at fp1, be sure you get the right jdbc driver.
There was a problem with what was shipped in fp1.
look for db2v8fp1_ujdbc_fix or similar on the support site.
PM
If I call:
java -cp db2jcc.jar com.ibm.db2.jcc.DB2Binder -url
jdbc:db2://lnxnp10:50800/spstest -user xxxx -password xxxx -size 20
-tracelevel TRACE_ALL
the following output results (concerning SYSLH203)
Package "SYSLH203": [ibm][db2][jcc][Thread:main][Connection@b753f8]
createStatement () called
[ibm][db2][jcc][Thread:main][Connection@b753f8] createStatement ()
returned Statement@191d8c1
[ibm][db2][jcc][Thread:main][Statement@191d8c1] executeQuery (SELECT *
FROM SYSIBM.SYSDUMMY1) called
[ibm][db2][jcc][t4] Request.flush() called at 2003-5-22 9:0:29 Thread:
main Tracepoint: 1
:
snipped
:
com.ibm.db2.jcc.c.SQLException
at com.ibm.db2.jcc.c.cf.e(cf.java:1108)
at com.ibm.db2.jcc.a.be.o(be.java:577)
at com.ibm.db2.jcc.a.be.g(be.java:129)
at com.ibm.db2.jcc.a.be.a(be.java:40)
at com.ibm.db2.jcc.a.s.a(s.java:31)
at com.ibm.db2.jcc.a.bq.g(bq.java:103)
at com.ibm.db2.jcc.c.cf.g(cf.java:866)
at com.ibm.db2.jcc.c.cf.a(cf.java:1330)
at com.ibm.db2.jcc.c.cf.executeQuery(cf.java:262)
at com.ibm.db2.jcc.c.g.a(g.java:202)
at com.ibm.db2.jcc.DB2Binder.binderMain(DB2Binder.java:109)
at com.ibm.db2.jcc.DB2Binder.main(DB2Binder.java:78)
[ibm][db2][jcc] BEGIN TRACE_DIAGNOSTICS
[ibm][db2][jcc][SQLException@2d9c06] java.sql.SQLException
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] DB2 SQLCA from
server
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlCode =
-805
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlErrd = {
-2146303874, 0, 0, 0, 0, 0 }
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlErrmc =
NULLID.SYSLH203 0X5359534C564C3031
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlErrmcTokens = {
NULLID.SYSLH203 0X5359534C564C3031 }
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlErrp =
SQLRACFI
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlState =
51002
[ibm][db2][jcc][SQLException@2d9c06][Sqlca@5e5a50] SqlWarn =
[ibm][db2][jcc][SQLException@2d9c06] SQL state = 51002
[ibm][db2][jcc][SQLException@2d9c06] Error code = -805
[ibm][db2][jcc][SQLException@2d9c06] Tokens = NULLID.SYSLH203
0X5359534C564C3031
[ibm][db2][jcc][SQLException@2d9c06] Stack trace follows
com.ibm.db2.jcc.c.SQLException: DB2 SQL error: SQLCODE: -805,
SQLSTATE: 51002, SQLERRMC: NULLID.SYSLH203 0X5359534C564C3031
at com.ibm.db2.jcc.c.cf.e(cf.java:1108)
at com.ibm.db2.jcc.a.be.o(be.java:577)
at com.ibm.db2.jcc.a.be.g(be.java:129)
at com.ibm.db2.jcc.a.be.a(be.java:40)
at com.ibm.db2.jcc.a.s.a(s.java:31)
at com.ibm.db2.jcc.a.bq.g(bq.java:103)
at com.ibm.db2.jcc.c.cf.g(cf.java:866)
at com.ibm.db2.jcc.c.cf.a(cf.java:1330)
at com.ibm.db2.jcc.c.cf.executeQuery(cf.java:262)
at com.ibm.db2.jcc.c.g.a(g.java:202)
at com.ibm.db2.jcc.DB2Binder.binderMain(DB2Binder.java:109)
at com.ibm.db2.jcc.DB2Binder.main(DB2Binder.java:78)
[ibm][db2][jcc] END TRACE_DIAGNOSTICS
but if i call:
java -cp db2jcc.jar com.ibm.db2.jcc.DB2Binder -url
jdbc:db2://lnxnp10:50800/spstest -user xxxx -password xxxx -size 20
the following result occurs:
Package "SYSLH203": Already exists (No need to bind)
I'm just wondering about the output, but in addition later in the
binder-results the binder indicates that the packagecache is running
out of space. Any idea of an "perfect" packagecachesize ?
The driver should be also ok, here's the debug:
[ibm][db2][jcc] BEGIN TRACE_DRIVER_CONFIGURATION
[ibm][db2][jcc] Driver: IBM DB2 JDBC Universal Driver Architecture
1.1.67
[ibm][db2][jcc] Compatible JRE versions: { 1.3, 1.4 }
[ibm][db2][jcc] Range checking enabled: true
Thanks
Joerg
You say SYSLH203 is there (re : no need to bind/noop), so i'm a bit lost
here...
Is it ok or not?
I'd expect a 42710 error and not a 805 if the package is really there.
SqlErrp = SQLRACFI looks like a host product to me. (what os and
db2level do you access?)
db2 get db cfg for sample
db2 set db cfg for sample using PCKCACHESZ=...
Package cache size (4KB) (PCKCACHESZ) = ...
Depends on the installation, monitor package cache hit ratio, etc..
a.. pkg_cache_lookups (package cache lookups)
b.. pkg_cache_inserts (package cache inserts)
c.. pkg_cache_size_top (package cache high water mark)
d.. pkg_cache_num_overflows (package cache overflows)
Package Cache High Water Mark monitor element, etc.
The doc has plenty of info about that. (no magic number i can provide)
PM
increase APPLHEAPSZ to 16384
increase MAXAPPLS to 50 -> (PCKCACHE increases automatic)
doing jdbcbind
The reason for the problem was that firstof all the PCKCACHE was to
small because the MAXAPPLS - param is by default set to AUTOMATIC. The
jdbcbind with the DB2Binder-Class does not catch the Exception "not
enough pckcache" in a correct way. The package will be marked as bound
although the package is not really bound to the database. After the
increase of the MAXAPPLS to 50 the jdbcbind runs fine and the packages
are really bound. Then we were able to increase the applheapsz and now
everything runs fine.
I hope in future releases of the DB2 V8 the default of MAXAPPLS is
again set to 40 as in the DB2 V7.x
Thanks and hope the info helps
Joerg
------------------------------------------
"PM \(pm3iinc-nospam\)" <Pm3iinc...@sympatico.ca> wrote in message news:<Vacza.6537$c41.7...@news20.bellglobal.com>...
if i miss package SYSSH203, is that the size is 20 too? please advise.
"PM \(pm3iinc-nospam\)" <Pm3iinc...@sympatico.ca> wrote in message news:<ppNya.5617$c41.5...@news20.bellglobal.com>...
but still couldn't find syssh203 package exist.
can you advise me? Thanks
you said list package for all, so what is the db2 command for this?
"PM \(pm3iinc-nospam\)" <Pm3iinc...@sympatico.ca> wrote in message news:<ppNya.5617$c41.5...@news20.bellglobal.com>...
i am try to follow what you said below but have limited resource.
what is the command to diplay package SYSSH203 in which bnd file?
thank you for help.
sha...@us.ibm.com wrote in message news:<3ECBA376...@us.ibm.com>...
I have no idea how one can 'request' to use the package SYSSH203. (your
case)
I don't know how when and why db2 chooses to use small or large packages.
If you code 65 dummy statements, does db2 choose a large package?
One thing that really bugs me is that cli and jdbc, ... share the same
packages.
Nowhere the doc says we have to use the CLIPK bind keyword and/or db2cli.ini
CLIPK keyword
to adjust jdbc vs cli packages when using the -size 20 parameter of
binder/db2jdbcbind.
But that should be for large packages and not for the small ones.
PM
db2 list packages for all | findstr /i "SYSSH203"
PM