Results 1 to 3 of 3
  1. #1
    Join Date
    Mar 2006
    Location
    Tuticorin, India
    Posts
    103

    Unanswered: Missing package SYSLN203, SQLSTATE: 51002

    Env:
    Server: DB2 V8.2 ESE, AIX 5.3
    Client : DB2 V8.2 Client/AIX 5.3, WAS

    WAS Log reports the following error message often and the JVM crashes eventually with Out of Memory error.
    [4/28/09 13:13:52:280] 00000496 JDBCException E DB2 SQL error: SQLCODE: -805, SQLSTATE: 51002, SQLERRMC: NULLID.SYSLN203 0X5359534C564C3031
    [4/28/09 13:13:52:303] 00000496 JDBCException E DB2 SQL error: SQLCODE: -805, SQLSTATE: 51002, SQLERRMC: NULLID.SYSLN203 0X5359534C564C3031
    [4/28/09 13:13:52:865] 00000496 JDBCException E DB2 SQL error: SQLCODE: -805, SQLSTATE: 51002, SQLERRMC: NULLID.SYSLN203 0X5359534C564C3031

    On further analysis, I understand that there are three small and three large packages. Each small package allows a maximum of 64 statement handles per connection, and each large package allows a maximum of 384 statements per connections, giving a total of 1,344 statement handles.

    Based on this, I think that this error would popup when application tries to acquire 1335th handle. However when I check on the server side I have only around 500 application handle to the database (which I calculated as below)
    db2 list applications | wc -l

    I do not see any warning/error message on the db2diag.log either on the DB2 client or DB2 Server side (Both are in notification level 3)

    Following information is from db snapshot:
    High water mark for connections = 508
    Application connects = 15533
    Secondary connects total = 0
    Applications connected currently = 456
    Appls. executing in db manager currently = 1
    Agents associated with applications = 456
    Maximum agents associated with applications= 508
    Maximum coordinating agents = 508

    I think if I create a new package SYSLN203 it might resolve the problem but I would like to understand the root cause prior to that. Any thoughts ?

    Thanks for looking.

  2. #2
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    You are getting the error as DB2 is looking for the 4th package and cannot find it.

    First package is NULLID.SYSLN200
    Second package is NULLID.SYSLN201
    Third package is NULLID.SYSLN202

    You can rebind the package with up to 30 packages, but that is usually a stop-gap method, like giving a drug addict more drugs. They will never be satisfied no matter how many you give them.

    db2 “bind @db2cli.lst blocking all sqlerror continue grant public CLIPKG 30″ (you may need to disconnect all apps from the db after you run this)

    The solution is to close the transaction and/or commit more often. Adding additional Statement.close() calls to the application code will resolve the close transaction issue.

    You can never be too rich, too thin, or commit too often.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  3. #3
    Join Date
    Mar 2006
    Location
    Tuticorin, India
    Posts
    103
    Thanks for the quick reply.

    But I have not exceeded the limit of 1335. Is it ok to give the drug addict more drugs in this scenario as well ?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •