Troubleshooting
Problem
After upgrading DB2 from an earlier version to 12.1.3 on Linux, post‑installation revalidation fails.
Running the SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS procedure reports missing packages, leaving invalid objects.
Symptom
During execution of the revalidation script (revalidate.sql), the following error is reported:
Command:clpplus -nw openpage/yourpasswordhere@yourdbservernamehere:50000/opx @sql-wrapper revalidate.sql revalidate.log openpage
Count of invalid objects before running Admin_Revalidate_DB_Objects: 7Attempting to revalidate invalid objects using SYSPROC.Admin_Revalidate_DB_ObjectsERROR near line 56:SQL0805N Package "NULLID.REVALQ09 0X4141414141474870" was not found.
Additional observations:
db2 list packages for schema NULLID | grep REVALshows onlyREVALQ08present.$ db2 list packages for schema NULLID | grep REVAL
REVALQ08 NULLID SYSIBM 26 Y 0 CS U
db2rbindfails to resolve the error because the missing package does not exist.
Cause
- DB2 12.1.3 introduces a new system package (
REVALQ09) required bySYSPROC.ADMIN_REVALIDATE_DB_OBJECTS. - On some installations, the bind list files (
db2bind.lst,db2clp.lst) are not shipped, so onlyREVALQ08is created. - Without binding all
.bndfiles as the instance owner (db2inst1),REVALQ09is not created in theNULLIDcollection. - Revalidation fails because the procedure attempts to use
REVALQ09, which is missing. - and also missed grants on explain procedures and tables to application users, so manual grants are required.
Environment
Upgrading from earlier versions of Db2 to version 12.1.3
Diagnosing The Problem
Check invalid Objects.
db2 "SELECT * FROM SYSIBM.SYSINVALIDOBJECTS WHERE OBJECTSCHEMA = 'OPENPAGE'"Confirms how many invalid objects exist and their types
In this case: 7 invalid objects.
Verify REVAL packages
db2 list packages for schema NULLID | grep REVALExpected:
REVALQ08andREVALQ09.Actual: Only
REVALQ08present →REVALQ09missing.Attempt revalidation
clpplus -nw openpage/yourpasswordhere@yourdbservernamehere:50000/opx @sql-wrapper revalidate.sql revalidate.log openpageSQL0805N Package "NULLID.REVALQ09 ..." was not found.
Confirms that SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS depends on REVALQ09.
Resolving The Problem
Log in as the instance owner (in this example, db2inst1 is the instance owner and OPX is the database name)
su - db2inst1db2 connect to OPXGrant below privileges for the Openpages database user (example here is "openpage")
db2 GRANT EXECUTE ON SPECIFIC PROCEDURE SYSPROC.EXPLAIN_FROM_SECTION TO USER openpage;db2 GRANT EXECUTE ON FUNCTION OPENPAGE.EXPLAIN_GET_MSGS TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_INSTANCE TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_ACTUALS TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_DIAGNOSTIC_DATA TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_DIAGNOSTIC TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_STREAM TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_PREDICATE TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_OPERATOR TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_OBJECT TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_ARGUMENT TO USER openpage;db2 GRANT ALL ON TABLE openpage.EXPLAIN_STATEMENT TO USER openpage;db2 GRANT ALL ON TABLE openpage.OBJECT_METRICS TO USER openpage;Navigate to the bind directory
cd /opt/ibm/db2/V12.1/bndBind standard lists
db2 bind @db2cli.lst blocking all grant public sqlerror continuedb2 bind @db2ubind.lst blocking all grant public sqlerror continueBind all
.bndfiles individuallyfor f in *.bnd; doecho "Binding $f ..."db2 bind $f blocking all grant public sqlerror continuedoneVerify REVAL packages
db2 list packages for schema NULLID | grep REVALExpected output:
REVALQ08REVALQ09Optional Step:
Recompile packages (in this example, db2inst1 is the instance owner and OPX is the database name and yourpasswordhere is the password)
Run below from the INSTALL_SCRIPTS/UPGRADE_SCRIPTS directory.
db2 connect to OPX user openpage using yourpasswordheredb2 -td@ -f pks_OP_CURRENCY_MGR.sqldb2 -td@ -f pkb_OP_CURRENCY_MGR.sqlRun revalidation script
clpplus -nw openpage/yourpasswordhere@yourdbservernamehere:50000/opx @sql-wrapper revalidate.sql revalidate.log openpageVerify invalid objects are cleared
db2 "SELECT * FROM SYSIBM.SYSINVALIDOBJECTS WHERE OBJECTSCHEMA = 'OPENPAGE'"Expected result:0 record(s) selected.
Document Location
Worldwide
Was this topic helpful?
Document Information
Modified date:
18 February 2026
UID
ibm17252900