Results 1 to 5 of 5

Thread: Snap_get_tab

  1. #1
    Join Date
    Jul 2007
    Posts
    14

    Unanswered: Snap_get_tab

    db2 "select * from table (SNAP_GET_TAB('DBNAME',-1)) as aaa"

    Iam getting the following error
    SQL0444N Routine "*_GET_TAB" (specific name "SNAP_GET_TAB") is implemented
    with code in library or path "...llib/bin/routine/db2dbroutext", function
    "snap_get_tab" which cannot be accessed. Reason code: "5". SQLSTATE=42724

    Reason code 5 is memory error. I have a 64 bit instance and i have 60GB memory on this box.

    Any clues !!!

    Tony

  2. #2
    Join Date
    Jan 2007
    Location
    Jena, Germany
    Posts
    2,721
    Reason code 5 is not just a "memory error". The description of SQL0444 says this:
    ...
    5

    There is insufficient memory to load the library containing the
    function or one or more symbols could not be resolved. This
    reason code indicates one of the following situations:

    1. One or more symbols might not have been resolved. The
    routine library might be dependent on a shared library that
    cannot be located (using the concatenation of directories
    specified in the LIBPATH environment variable in UNIX-based
    systems, the PATH environment variable in INTEL systems).

    2. The routine has a 64-bit library which is not supported
    within a 32-bit DB2 instance, or, the routine has a 32-bit
    library or DLL within a 64-bit DB2 instance that is
    incompatible with the routine definition.

    3. There was insufficient memory to load the library containing
    the function.
    ...
    And the suggested User Responses:
    5

    Possible solutions are ordered to match the causes provided in
    the message explanation:

    1. There can be multiple levels of this indirection involved,
    leading to this reason code. For example, routine body X can
    be found, and it requires shared library Y which is also
    found, however Y needs another shared library Z that cannot
    be located. The routine library should be relinked or the
    user should verify that all dependent libraries are available
    in the LIBPATH (Unix) or PATH (INTEL). Use the db2set
    command to update the LIBPATH to include the path where the
    library is located. For example, db2set
    db2libpath=/db2test/db2inst1/sqll

    2. Use a supported library.

    3. If a lack of memory is determined then the system
    configuration may need to be changed to make more memory
    available to DB2.
    Here are a few suggestions:
    • My first guess would be that you have a 32 vs. 64-bit issue. Have you verified that your instance is really in 64-bit? (The output of "db2level" will tell you for sure.)
    • Did you find anything interesting in the db2diag output? Maybe there is an errno that can be mapped to some additional information.
    • Have you tried to load the library "db2dbroutext" via a small standalone executable? That way you can make sure that the library and dependencies are truly in order.
    Knut Stolze
    IBM DB2 Analytics Accelerator
    IBM Germany Research & Development

  3. #3
    Join Date
    Jul 2007
    Posts
    14
    1.Yes db2level does say it is 64bit
    $ db2level
    DB21085I Instance "db2inst1" uses "64" bits and DB2 code release "SQL08025"
    with level identifier "03060106".
    Informational tokens are "DB2 v8.1.1.112", "s060429", "U807381", and FixPak
    "12".
    Product is installed at "/usr/opt/db2_08_01".

    2. I did not see any error messages in db2diag.log

    3. How to reload db2dbroutext libraries

    Also we are flash copying this environment to development and this function works fine there. I dont understand why it not working only in this environment

  4. #4
    Join Date
    Jul 2007
    Posts
    14
    For some reason this snapshot function started working agian. There are only two things happened before it started working again.

    1. Bounced the database Manager
    2. Ran the stack trace for all the porcess
    db2pd -stacks

    I dont know whick one fixed this issue. IBM db2 is so wierd !!!

  5. #5
    Join Date
    Jan 2007
    Location
    Jena, Germany
    Posts
    2,721
    Quote Originally Posted by atl_geek
    2. I did not see any error messages in db2diag.log
    Have you updated the DIAGLEVEL to 4 before trying the statement? That will write much more diagnostic information to the db2diag output. (The default is 3.)

    3. How to reload db2dbroutext libraries
    Not "reload" but "load". You could write a small program that executes a dlopen system call to access/load the library.

    Also we are flash copying this environment to development and this function works fine there. I dont understand why it not working only in this environment
    Then I really assume that something on the OS-level configuration doesn't match between both environments.
    Knut Stolze
    IBM DB2 Analytics Accelerator
    IBM Germany Research & Development

Posting Permissions

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