Page 1 of 2 12 LastLast
Results 1 to 15 of 23
  1. #1
    Join Date
    Jul 2011
    Posts
    54

    Unanswered: Package "NULLID.SYSLH31E 0X5359534C564C3031" was not found

    Mine application developer left open transaction on code due to this reason application broken and through error
    “Package "NULLID.SYSLH31E 0X5359534C564C3031" was not found”.

    Will take it up in development to fix the issue but for immediate solution could you suggest something to resolve the issue.

    Database: DB2
    Application Server: WAS
    Code: Java

    Please suggest any thing on database level or WAS setting.

  2. #2
    Join Date
    Apr 2006
    Location
    Belgium
    Posts
    2,514
    Provided Answers: 11
    check previous entries in forum (discussed many times) for bind and clipkg and sqlcode 805
    Best Regards, Guy Przytula
    Database Software Consultant
    Good DBAs are not formed in a week or a month. They are created little by little, day by day. Protracted and patient effort is needed to develop good DBAs.
    Spoon feeding : To treat (another) in a way that discourages independent thought or action, as by overindulgence.
    DB2 UDB LUW Certified V7-V8-V9-V9.7-V10.1-V10.5 DB Admin - Advanced DBA -Dprop..
    Information Server Datastage Certified
    http://www.infocura.be

  3. #3
    Join Date
    Jul 2011
    Posts
    54
    I checked but these solution for older DB2 version, Is this package problem still with 9.5 also.

  4. #4
    Join Date
    Jul 2011
    Posts
    54
    How to check existing value of CLIPKG on database. 1 to 30 .

  5. #5
    Join Date
    Jul 2011
    Posts
    54
    Mine error shows that it exceed max limit of package 30, how i can check existing configure package value for CLI.

  6. #6
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    The number being used is highly dynamic at any given time. There may be way to see it, but I don't know how.

    It looks like you ignored my previous advice to not increase the number of cursor packages and you rebound it with the maximum allowed, and now you see that doing so is just like giving more drugs to a drug addict (merely postponing the inevitable) and now judgment day has arrived.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  7. #7
    Join Date
    Jul 2011
    Posts
    54
    I am not sure that it exceed already or not so I want to know How to check existing value of CLIPKG on database. am assuming this only because of error code "SYSLH31E".

  8. #8
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    The cause of the SQL0805N error is when the application is trying to use a CLIPKG value greater than 30 (for example 31) which is 1E in hex. It could not find package 31, since the max is 30 (which you apparently changed, since the default max is 3). Judgement day has arrived.
    Last edited by Marcus_A; 03-05-12 at 11:03.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  9. #9
    Join Date
    Jul 2011
    Posts
    54
    Is there any SQL statement to find out existing CLIPKG value for specific database?

  10. #10
    Join Date
    Aug 2008
    Location
    Toronto, Canada
    Posts
    2,367
    You can count the number of SYSLH3% in syscat.packages. As Marcus said, you have 30 of them.

  11. #11
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    Quote Originally Posted by db2girl View Post
    You can count the number of SYSLH3% in syscat.packages. As Marcus said, you have 30 of them.
    I think he wants to know how many are being used at any given time.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  12. #12
    Join Date
    Jul 2011
    Posts
    54
    I wanted to know the configured packages on database, which can get by select count from syscat.packages as solution give by db2girl.

    But still I have confusion that CLI package limit related to maxapp setting of database/application connection max pool settings or CLI package limit is for single connection.

    Is this problem could be resolve by increasing max connection pool limit in connection settings?

    I understand that this is not the correct way of fixing the problem and we should go to correct the code but immediately it is not possible to fix code and publish so am looking some solution on connection settings or database settings.

  13. #13
    Join Date
    Jul 2011
    Posts
    54

    application connection settings

    please see the attached application connection pool settings and suggest if changes any value could help to resolve the issue.
    Attached Thumbnails Attached Thumbnails clip_image001.jpg  

  14. #14
    Join Date
    May 2003
    Location
    USA
    Posts
    5,737
    Quote Originally Posted by db2champ View Post
    I wanted to know the configured packages on database, which can get by select count from syscat.packages as solution give by db2girl.
    You didn't need to do that since when you got an error saying it was looking for package 31 and couldn't find it (-805), that automatically means you have 30 packages maximum.

    But still I have confusion that CLI package limit related to maxapp setting of database/application connection max pool settings or CLI package limit is for single connection.
    The error normally shows up when an application runs out of statement handles. The number of statement handles available to a CLI application depends on the number of large packages the application has defined and is limited by overall system resources. By default, 3 small and 3 large packages are created. Each small package allows a maximum of 64 statement handles per connection, and each large package allows a maximum of 384 statements per connection, giving a total of 1,344 statement handles. Since you have 30 packages, you can multiply the total by 10.

    Is this problem could be resolve by increasing max connection pool limit in connection settings?
    I don't see how that could help. However, I would increase the minimum number of connections to at least 5, so it won't have to spend extra time opening connections to DB2.

    I understand that this is not the correct way of fixing the problem and we should go to correct the code but immediately it is not possible to fix code and publish so am looking some solution on connection settings or database settings.
    The way to address this issue is to modify the application code so that it properly closes statement objects when finished using them.

    The application may be failing to close statements when they are no longer needed. Modify the application to specifically call the Statement.close() method on Statements, PreparedStatements, to avoid running out of resources. The application should not rely on the garbage collector to close the resources.

    It is good programming practice for the application to specifically close its resources when no longer needed. Currently, the driver must maintain a list of references to open statements and therefore statements are not automatically garbage collected when application references go out of scope.

    The JCC Type 4 driver functions differently than the JDBC Type 2 legacy driver, in that statement handles were being reused with the Type 2 legacy driver, but not reused with type Type 4 JCC driver.

    Adding additional Statement.close() calls to the application code will resolve this issue.

    These things were mentioned a long time ago to you in another thread, and they were ignored. So this should not be an "immediate" change, it should have been communicated to development when first mentioned, instead of giving more drugs to a drug addict (increasing the number of packages from 3 to 30).

    Judgment Day has arrived.
    M. A. Feldman
    IBM Certified DBA on DB2 for Linux, UNIX, and Windows
    IBM Certified DBA on DB2 for z/OS and OS/390

  15. #15
    Join Date
    Jul 2011
    Posts
    54
    I understood that judgment day has arrived but recently I took the ownership of work and they reported that they are facing this problem from long time so this package limit 30 is configured earlier not now.
    After diagnose the code it also proved that statement is not close properly due to this reason this problem is happening and our development team will work to correct the code but it will take around 1 month to publish the changes on production.
    So mine manager expecting me to give some solution to handle this problem on database level changes or application server level changes. (WAS application server).
    Will appreciate you people if you suggest something to fix this issue on database or application server level till we correct the code and publish on production.

Tags for this Thread

Posting Permissions

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