SQL0659N Max size of a table has been reached

Technote (troubleshooting)


Problem(Abstract)

The SQL0659N error might be returned when running a load indicating that a maximum size of a table object has been reached.

Symptom

The db2diag.log can show the following:

2011-10-15-02.45.01.172933+060 I48912883A572 LEVEL: Warning
PID : 12910774 TID : 41181 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : TESTDB
APPHDL : 0-32010 APPID: *LOCAL.db2inst1.123451234500
AUTHID : DB2INST1
EDUID : 41181 EDUNAME: db2lfrm0 0
FUNCTION: DB2 UDB, database utilities, sqlulPrintPhaseMsg, probe:312
DATA #1 : String, 140 bytes
LOADID: 39658.2011-10-15-02.45.01.047795.0 (8;4)
Starting LOAD phase at 10/15/2011 02:45:01.172728. Table DB2INST1
.TESTTAB

2011-10-15-05.44.15.618137+060 I48913456A528 LEVEL: Error
PID : 12910774 TID : 44775 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : TESTDB
APPHDL : 0-32010 APPID: *LOCAL.db2inst1.123451234500
AUTHID : DB2INST1
EDUID : 44775 EDUNAME: db2lrid 0
FUNCTION: DB2 UDB, database utilities, DIAG_ERROR, probe:0
DATA #1 : String, 108 bytes
LOADID: 39658.2011-10-15-02.45.01.047795.0 (8;4)
, -2080112630, 0, Detected in file:sqluDMSort.C, Line:1519


Diagnosing the problem

The error message from the load points to the sqluDMSort.C file with a -2080112630 return code.


$ db2diag -rc -2080112630

Input ZRC string '-2080112630' parsed as 0x8404000A (-2080112630).
ZRC value to map: 0x8404000A (-2080112630)
        V7 Equivalent ZRC value: 0xFFFFC40A (-15350)
ZRC class :
        Non-Critical Media Error (Class Index: 4)
Component:
        SQLD ; data management (Component Index: 4)
Reason Code:
        10 (0x000A)
Identifer:
        SQLD_RC_MAX_OBJ_SIZE
Identifer (without component):
        SQLZ_RC_MAX_OBJ_SIZE
Description:
        ARCHITECTURAL PAGE LIMIT REACHED
Associated information:
        Sqlcode -659
SQL0659N  Maximum size of a table object has been exceeded.
        Number of sqlca tokens : 0
        Diaglog message number: 8710

This shows that the error was obtained while the load was doing sorts:
sqluDMSort.C - insert the row into the appropriate sort
sqlulisr.C - Send the keys/keydata to the sort routine

The table might have compressed rows or the load is doing some sort operations that need to be done in a temporary tablespace. The choice of the temporary tablespace in which the sorts are done depends on a number of factors like tablespace pagesize, bufferpool size, free pages in the bufferpool etc. DB2 might have chosen a temporary tablespace in which the object size might have gone past the defined limit.


Resolving the problem

We can try to influence the selection of a bigger temporary tablespace by doing the following:

1) Create a temporary tablespace of equal or higher pagesize as that of the tablespace in which the table resides

2) Increase the size of the bufferpool that holds the desired temporary tablespace. The free space and the size of this bufferpool must be greater than that of other temporary tablespaces.


Related information

SQL0659N
LOAD Command
SQL & XML Limits

Rate this page:

(0 users)Average rating

Document information


More support for:

DB2 for Linux, UNIX and Windows

Software version:

9.1, 9.5, 9.7

Operating system(s):

AIX, HP-UX, Linux, Solaris, Windows

Reference #:

1572017

Modified date:

2011-11-15

Translate my page

Machine Translation

Content navigation