IBM Support

[Db2] Windows: tablespace containers might not be able to grow due to ERROR_FILE_SYSTEM_LIMITATION (665).

Troubleshooting


Problem

In Windows platforms, table space containers might not grow even if all the following conditions are met:
  • Auto-resize is enabled and MAXSIZE is not defined.
  • Sufficient free spaces in the file system.
  • Enough room to design limitations such as 16777216 page limit in REGULAR table space.

Symptom

Table space cannot grow, and the following db2diag.log entries are logged.
Note: ZRC 0x83000299 means ERROR_FILE_SYSTEM_LIMITATION in Windows platforms.
2020-03-13-21.51.16.958000+540 E9096777F1274        LEVEL: Warning
PID     : 6496                 TID : 8416           PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000           DB   : SAMPLE
APPHDL  : 0-60273              APPID: *LOCAL.DB2.200313120304 
AUTHID  : DB2ADMIN             HOSTNAME: db2server
EDUID   : 9028                 EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbGrowContainersLogIfFailedGrow, probe:10
MESSAGE : ADM6093W  An attempt was made to automatically extend container
       "G:\DB2\NODE0000\SAMPLE\T0000002\C0000000.LRG" in auto-resize
       table space "USERSPACE1" (ID "2") but there is no space on the
       filesystem. As a result, the table space cannot increase in size any
       further. One way to resolve this is to make more space available on
       the filesystem. Alternately, a new stripe set can be added to the
       table space using the BEGIN NEW STRIPE SET clause of the ALTER
       TABLESPACE statement. When subsequent attempts to auto-resize the
       table space occur, only those newly added containers will be extended
       and the existing ones will remain as-is.

2020-03-13-21.51.16.971000+540 I8880258F3470        LEVEL: Error 
PID     : 6496                 TID : 8416           PROC : db2syscs.exe 
INSTANCE: DB2                  NODE : 000           DB   : SAMPLE 
APPHDL  : 0-60273              APPID: *LOCAL.DB2.200313120304 
AUTHID  : DB2ADMIN             HOSTNAME: db2server
EDUID   : 8416                 EDUNAME: db2agent (SAMPLE) 0 
FUNCTION: DB2 UDB, buffer pool services, sqlbGrowLastRange, probe:900 
MESSAGE : ZRC=0x83000299=-2097151335 // ERROR_FILE_SYSTEM_LIMITATION (665)
DATA #1 : Pool ID, PD_TYPE_SQLB_POOL_ID, 2 bytes 
2
CALLSTCK: 
  [0] 0x000007FEF91DEC9C pdLog + 0x38C 
  [1] 0x000007FEEEFC2EBC sqlbGrowLastRange + 0x2EC 
  [2] 0x000007FEEEFC2733 sqlbGrowPool + 0x103 
  [3] 0x000007FEEEF9590F sqlbSearchSomeSMPs + 0xF9F 
  [4] 0x000007FEEEF91D4E sqlbAllocateExtent + 0x121E 
  [5] 0x000007FEEEEC187D sqlbDMScheckObjAlloc + 0x65D 



Cause

The file reached an implementation limit in structures to handle files in NTFS file system. See the following article for details.

Environment

Windows only.

Resolving The Problem

Users can take either of the following workarounds to bypass the NTFS limitation. The following example assume that you have emough space in E drive to temporary store the tablespace container file.
Note: Only method a can use to the database keeps online. You have to take the database offline in method b. 
Both of the methods use database name 'SAMPLE', tablespace name 'USERSPACE1' and container path name 'G:\DB2\NODE0000\SAMPLE\T0000002\C0000000.LRG' for example.
  1. Take a tablespace backup, and then restore it.
    1. Take a tablespace backup
      db2 "backup db sample tablespace (USERSPACE1) online to E:\tmp"
    2. Restore the backup, then run rollforward
      db2 "restore db sample tablespace (USERSPACE1) online from E:\tmp"
      db2 "rollforward db sample to end of logs and stop tablespace (USERSPACE1) online"
  2. Copy and copy back the file.
    Note: you have to make sure that the database is offline and consistent state before you run the following commands.
    1. Copy the container file, then verify it.
      copy G:\DB2\NODE0000\SAMPLE\T0000002\C0000000.LRG E:\tmp
      fc /b G:\DB2\NODE0000\SAMPLE\T0000002\C0000000.LRG E:\tmp\C0000000.LRG
    2. Copy the file back to the original location.
      del G:\DB2\NODE0000\SAMPLE\T0000002\C0000000.LRG
      copy E:\tmp\C0000000.LRG G:\DB2\NODE0000\SAMPLE\T0000002\C0000000.LRG

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PlZAAU","label":"Database Objects-\u003ETablespaces"}],"ARM Case Number":"","Platform":[{"code":"PF033","label":"Windows"}],"Version":"All Versions"}]

Document Information

Modified date:
10 January 2023

UID

ibm16854551