Executing numerous ALTER statements fails with SQL error -438 and abend S04E
search cancel

Executing numerous ALTER statements fails with SQL error -438 and abend S04E

book

Article ID: 203446

calendar_today

Updated On:

Products

RC Compare for DB2 for z/OS Database Management for DB2 for z/OS - Administration Suite RC/Migrator for DB2 for z/OS RC/Update for DB2 for z/OS

Issue/Introduction

Executing the DDL generated by an Alter strategy fails with the following -438 SQL error

DSNT408I SQLCODE = -438, ERROR:  APPLICATION RAISED ERROR WITH        
         DIAGNOSTIC TEXT: PTABDBS: PTLBDBC subtask has abended: S04E 

The script includes >100 ALTER statements and the error occurs executing around the 99th statement.

What is the cause of this error and how it be avoided?

Environment

Release : 20.0

Component : Batch Processor

Resolution

The issue is a result of an IBM storage limitation in SQL processing. Executing the same ALTER statements with DSNTEP2 program will also result in an S04E abend and reason 00E2000C.

Here is the explanation for the reason code:

In order to satisfy an unconditional request, the get fixed block(s) function needed to obtain additional storage to expand a storage pool. However, the pool attributes defined at the time the pool was created indicated that the pool was already at maximum size.

To work around this limitation we recommend limiting the number of alter actions in the strategy.