If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > Database Server Software > DB2 > Snap_get_tab

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-27-07, 16:58
atl_geek atl_geek is offline
Registered User
 
Join Date: Jul 2007
Posts: 14
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
Reply With Quote
  #2 (permalink)  
Old 07-29-07, 14:33
stolze stolze is offline
Registered User
 
Join Date: Jan 2007
Location: Jena, Germany
Posts: 2,662
Reason code 5 is not just a "memory error". The description of SQL0444 says this:
Quote:
...
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:
Quote:
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
Reply With Quote
  #3 (permalink)  
Old 07-30-07, 14:18
atl_geek atl_geek is offline
Registered User
 
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
Reply With Quote
  #4 (permalink)  
Old 08-02-07, 14:26
atl_geek atl_geek is offline
Registered User
 
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 !!!
Reply With Quote
  #5 (permalink)  
Old 08-03-07, 03:56
stolze stolze is offline
Registered User
 
Join Date: Jan 2007
Location: Jena, Germany
Posts: 2,662
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.)

Quote:
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.

Quote:
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
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On