Fixes are available
DB2 Version 9.1 Fix Pack 7 for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 7a for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 8 for Linux, UNIX and Windows
DB2 Version 9.1 Fix Pack 9 for Linux, UNIX and Windows
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
APAR status
Closed as program error.
Error description
When QP triggers become invalid due some alters to QP tables or some other reasons, and when QP started which causes implicit rebind of QP packages which in turn triggers invalid trigger regeneration, wrong authorization id is getting fetched which causes SQL0551N error. Instead of getting definer of the trigger, schema name is being picked which is not a real user but just a schema name. In this case it's DB2QP.
Local fix
There are 2 workarounds to this issue. Option A: 1. Get the invalid triggers: SELECT char(definer,12)definer, char(trigschema, 10)trigschema, char (trigname, 25)trigname, char(tabschema, 10)tabschema, char (tabname, 25)tabname, valid FROM SYSCAT.TRIGGERS WHERE trigschema='DB2QP' and VALID='N'; 2. Drop/recreate the invalid triggers Option B: 1. Grant privileges to DB2QP 2. Perform the BIND of QP packages: db2 bind @qpserver.lst blocking all grant public 3. Revoke the privileges when done.
Problem summary
When QP triggers become invalid due some alters to QP tables or some other reasons, and when QP started which causes implicit rebind of QP packages which in turn triggers invalid trigger regeneration, wrong authorization id is getting fetched which causes SQL0551N error. Instead of getting definer of the trigger, schema name is being picked which is not a real user but just a schema name. In this case it's DB2QP. LOCAL FIX: There are 2 workarounds to this issue. Option A: 1. Get the invalid triggers: SELECT char(definer,12)definer, char(trigschema, 10)trigschema, char (trigname, 25)trigname, char(tabschema, 10)tabschema, char (tabname, 25)tabname, valid FROM SYSCAT.TRIGGERS WHERE trigschema='DB2QP' and VALID='N'; 2. Drop/recreate the invalid triggers Option B: 1. Grant privileges to DB2QP 2. Perform the BIND of QP packages: db2 bind @qpserver.lst blocking all grant public 3. Revoke the privileges when done.
Problem conclusion
First Fixed in DB2 v9.1 FP7
Temporary fix
Comments
APAR Information
APAR number
IZ35514
Reported component name
DB2 UDB QP AIX
Reported component ID
5724E2500
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-10-22
Closed date
2009-04-16
Last modified date
2009-04-16
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DB2 UDB QP AIX
Fixed component ID
5724E2500
Applicable component levels
R910 PSY
UP
R950 PSY
UP
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEPGA","label":"DB2 Query Patroller"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]
Document Information
Modified date:
03 October 2021