home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC68645 Status: Closed

REBIND_ROUTINE_PACKAGE MAY FAIL WITH ERROR -811

product:
DB2 FOR LUW / DB2FORLUW / 910 - DB2
Problem description:
REBIND_ROUTINE_PACKAGE may fail with error -811 in a case where 
the routine's package name is the same as another package 
belonging to another routine in a different schema. 
 
For Example : 
------------- 
 
On calling the REBIND_ROUTINE_PACKAGE, it may return : 
 
SQL0443N  Routine "SYSPROC.REBIND_ROUTINE_PACKAGE" (specific 
name "REBIND_ROUTINE") has returned an error SQLSTATE with 
diagnostic text "-811, 21000, ".  SQLSTATE=38000 
ie. a -811 token is received inside an SQL0443 message
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All users on DB2 V 9.1 FixPack 9 and below                   * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* REBIND_ROUTINE_PACKAGE may fail with error -811 in a case    * 
* where                                                        * 
* the routine's package name is the same as another package    * 
*                                                              * 
* belonging to another routine in a different schema.          * 
*                                                              * 
*                                                              * 
*                                                              * 
* For Example :                                                * 
*                                                              * 
* -------------                                                * 
*                                                              * 
*                                                              * 
*                                                              * 
* On calling the REBIND_ROUTINE_PACKAGE, it may return :       * 
*                                                              * 
*                                                              * 
*                                                              * 
* SQL0443N  Routine "SYSPROC.REBIND_ROUTINE_PACKAGE" (specific * 
*                                                              * 
* name "REBIND_ROUTINE") has returned an error SQLSTATE with   * 
*                                                              * 
* diagnostic text "-811, 21000, ".  SQLSTATE=38000             * 
*                                                              * 
* ie. a -811 token is received inside an SQL0443 message       * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 V9.1 FixPack 10.                              * 
****************************************************************
Local Fix:
The customer can use the workaround of dropping and recompiling 
conflicting routines until they have unique package names.  To 
find routines in conflict, they can use the following stored 
procedure: 
 
create procedure same_package_name(in schema varchar(128), in 
name varchar(128)) 
dynamic result sets 1 
begin 
  declare stmt_text varchar(512); 
  declare S1 statement; 
  declare C1 cursor with return to caller for S1; 
 
  set stmt_text = 
    'select trim(r.routineschema) || ''.'' || 
trim(r.routinename) ' || 
    'from syscat.routines r, sysibm.sysdependencies d where 
d.bname = ' || 
    '(select d.bname from syscat.routines r, 
sysibm.sysdependencies d ' || 
    'where r.routinename = ? and r.routineschema = ? ' || 
    'and d.btype = ''K'' and d.dtype = ''F'' ' || 
    'and d.dname = r.specificname and d.dschema = 
r.routineschema) ' || 
    'and d.dname = r.specificname'; 
 
  prepare S1 from stmt_text; 
  open C1 using name, schema; 
end @ 
 
The procedure is called with the schema and name of the routine 
failing in REBIND_ROUTINE_PACKAGE; it returns a list of routines 
that share the same package name. 
 
Example : call same_package_name('MYSCHEMA', 'PROC1')
available fix packs:
DB2 Version 9.1 Fix Pack 10  for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 11  for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 12  for Linux, UNIX and Windows

Solution
Problem first fixed in DB2 V9.1 FixPack 10
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC68930 IC69298 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
14.05.2010
17.06.2011
17.06.2011
Problem solved at the following versions (IBM BugInfos)
9.1.FP10
Problem solved according to the fixlist(s) of the following version(s)
9.1.0.10 FixList