DB2 - Problembeschreibung
Problem IC77931 | Status: Geschlossen |
ORPHAN ROWS MAY BE FOUND IN SYSIBM.SYSINVALIDOBJECTS CATALOG TABLE (OR SYSCAT.INVALIDOBJECTS CATALOG VIEW) | |
Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problembeschreibung: | |
When a database object (routine, view, trigger, user-defined type or global variable) is invalidated and later dropped, it may cause an orphan row to remain in the SYSIBM.SYSINVALIDOBJECT catalog table. To see if you have any orphan rows in SYSIBM.SYSINVALIDOBJECTS, use the following queries: with routines as (select routineschema, specificname, routinemoduleid from sysibm.sysroutines) select objectschema, objectname, objectmoduleid from sysibm.sysinvalidobjects where not exists (select routineschema, specificname from routines where objectschema = routineschema and objectname = specificname and ((objectmoduleid = routinemoduleid) or (objectmoduleid IS NULL and routinemoduleid IS NULL))) and objecttype='F'; with views as (select creator, name from sysibm.sysviews) select objectschema, objectname from sysibm.sysinvalidobjects where not exists (select creator, name from views where objectschema = creator and objectname = name ) and objecttype='V'; with triggers as (select schema, name from sysibm.systriggers) select objectschema, objectname from sysibm.sysinvalidobjects where not exists (select schema, name from triggers where objectschema = schema and objectname = name ) and objecttype='B'; with udts as (select schema, name, typemoduleid from sysibm.sysdatatypes where metatype <> 'S') select objectschema, objectname, objectmoduleid from sysibm.sysinvalidobjects where not exists (select schema, name from udts where objectschema = schema and objectname = name and ((objectmoduleid = typemoduleid) or (objectmoduleid IS NULL and typemoduleid IS NULL))) and objecttype='R'; with variables as (select varschema, varname, varmoduleid from sysibm.sysvariables) select objectschema, objectname, objectmoduleid from sysibm.sysinvalidobjects where not exists (select varschema, varname from variables where objectschema = varschema and objectname = varname and ((objectmoduleid = varmoduleid) or (objectmoduleid IS NULL and varmoduleid IS NULL))) and objecttype='v'; | |
Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * When a database object (routine, view, trigger, user-defined * * * * type or global variable) is invalidated and later dropped, * * it * * may cause an orphan row to remain in the * * SYSIBM.SYSINVALIDOBJECT * * catalog table. * * * * * * * * To see if you have any orphan rows in * * SYSIBM.SYSINVALIDOBJECTS, * * use the following queries: * * * * * * * * with routines as (select routineschema, specificname, * * * * routinemoduleid * * * * from sysibm.sysroutines) * * * * select objectschema, objectname, objectmoduleid from * * * * sysibm.sysinvalidobjects * * * * where not exists (select routineschema, * * specificname * * from routines * * * * where objectschema = * * routineschema * * and objectname = specificname * * * * and ((objectmoduleid = * * * * routinemoduleid) * * * * or (objectmoduleid IS NULL and * * * * routinemoduleid IS NULL))) * * * * and objecttype='F'; * * * * * * * * with views as (select creator, name * * * * from sysibm.sysviews) * * * * select objectschema, objectname from * * * * sysibm.sysinvalidobjects * * * * where not exists (select creator, name from views * * * * where objectschema = creator * * * * and objectname = name ) * * * * and objecttype='V'; * * * * * * * * with triggers as (select schema, name * * * * from sysibm.systriggers) * * * * select objectschema, objectname from * * * * sysibm.sysinvalidobjects * * * * where not exists (select schema, name from * * triggers * * where objectschema = schema * * * * and objectname = name ) * * * * and objecttype='B'; * * * * * * * * with udts as (select schema, name, typemoduleid * * * * from sysibm.sysdatatypes * * * * where metatype <> 'S') * * * * select objectschema, objectname, objectmoduleid from * * * * sysibm.sysinvalidobjects * * * * where not exists (select schema, name from udts * * * * where objectschema = schema * * * * and objectname = name * * * * and ((objectmoduleid = * * typemoduleid) * * or (objectmoduleid IS NULL and * * * * typemoduleid IS NULL))) * * * * and objecttype='R'; * * * * * * * * with variables as (select varschema, varname, * * varmoduleid * * from sysibm.sysvariables) * * * * select objectschema, objectname, objectmoduleid from * * * * sysibm.sysinvalidobjects * * * * where not exists (select varschema, varname from * * * * variables * * * * where objectschema = varschema * * * * and objectname = varname * * * * and ((objectmoduleid = * * varmoduleid) * * or (objectmoduleid IS NULL and * * * * varmoduleid IS NULL))) * * * * * * * * and objecttype='v'; * **************************************************************** * RECOMMENDATION: * * Upgrade to v97fp6. * **************************************************************** | |
Local-Fix: | |
Contact DB2 support for the catalog clean-up tool | |
verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows | |
Lösung | |
Fixed in v97fp6. | |
Workaround | |
keiner bekannt / siehe Local-Fix | |
Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 04.08.2011 04.06.2012 04.06.2012 |
Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP6 | |
Problem behoben lt. FixList in der Version | |
9.7.0.6 |