Tuning routines with storage-consuming parameter lists
Some tuning might be required if you encounter SQLCODE -904 with reason code 00E7900F for calls to routines (stored procedure or user defined function) with storage-consuming parameter lists.
About this task
When Db2 obtains storage for the input or output parameters for a routine, it issues a conditional STORAGE OBTAIN request. If the available contiguous storage is not sufficient, Db2 issues SQLCODE -904 with reason code 00E7900F. This reason code indicates a condition where not enough above-the-line 31-bit storage in subpool 229, key 7 is available for Db2 to obtain the parameter list of a routine.
For example, the SYSTOOLS.JSON2BSON() function has a 16 MB LOB as input and a 16 MB LOB for output. When such functions are called, Db2 gets the actual size of storage needed for the content of the input parameter. For example, if a 2 KB LOB is passed for the 16MB input LOB, Db2 obtains only 2 KB of storage for the input parameter. However, Db2 still obtains the full 16MB LOB for the output parameter. In a highly concurrent and heavily loaded system, the storage used for these LOBs can take a toll on above-the-line storage, so tuning might be required.
Procedure
To tune the use of storage by routines with storage-consuming parameters, use the following approaches: