根据开发人员反馈,在业务存储过程执行期间往数据表插数的时候报了以下错误:
SQLCODE:0. SQLSTATE:00000. MESSAGE_TEXT:SQL0968C The file system is full. SQLSTATE=57011 内容显示文件系统已满
查看存储过程报错时间点db2diag.log日志:
2023-11-07-14.14.33.009713+480 E3062326248E1434 LEVEL: Error (OS)
PID : 19415 TID : 140444587517696 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBAAADGB
APPHDL : 0-45029
UOWID : 25318 ACTID: 1
AUTHID : GBDW HOSTNAME: PGAAA
EDUID : 135400 EDUNAME: db2agntp (DBAAADGB) 0
FUNCTION: DB2 UDB, oper system services, sqlowrite, probe:60
MESSAGE : ZRC=0x850F000C=-2062614516=SQLO_DISK "Disk full."
DIA8312C Disk was full.
CALLED : OS, -, write OSERR: ENOSPC (28)
DATA #1 : File handle, PD_TYPE_SQO_FILE_HDL, 8 bytes
File Handle = 382
File System Block Size = 0 bytes
File System Type = UNKNOWN
File Handle Flags :
Require Sector Align = No
DIO/CIO Mode = No
Raw Block Device = No
Reserved Handle = No
Flush On Close = Yes
Thread-Level Lock = No
Write-through Mode = No
File Not Tracked = No
Remote Storage Read = No
Remote Storage Write = No
Extended File Handle = No
Use Local, No Delete = No
DATA #2 : unsigned integer, 8 bytes
4096
DATA #3 : signed integer, 8 bytes
-1
DATA #4 : String, 105 bytes
Search for ossError*Analysis probe point after this log entry for further
self-diagnosis of this problem.
2023-11-07-14.14.33.010970+480 I3062327683E3763 LEVEL: Error (OS)
PID : 19415 TID : 140444587517696 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DB
2023-11-07-14.14.56.764507+480 I3062329345E626 LEVEL: Warning
PID : 19415 TID : 140440565180160 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBAAADGB
APPHDL : 0-40108 APPID: *N0.DB2.231107061924
UOWID : 1 ACTID: 5
AUTHID : GBDW HOSTNAME: PGFAAA
EDUID : 136147 EDUNAME: db2agntp (DBAAADGB) 0
FUNCTION: DB2 UDB, fast comm manager, sqkfDynamicResourceMgr::AdjustResources, probe:175
MESSAGE : FCM Automatic/Dynamic Resource Adjustment (Channel): 895 successfully
allocated. New total is 3580
2023-11-07-14.21.37.539739+480 E3062329972E1434 LEVEL: Error (OS)
PID : 19415 TID : 140442540697344 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBAAADGB
APPHDL : 0-40488
UOWID : 25628 ACTID: 1
AUTHID : GBDW HOSTNAME: PGAAA
EDUID : 136069 EDUNAME: db2agntp (DBAAADGB) 0
FUNCTION: DB2 UDB, oper system services, sqlowrite, probe:60
MESSAGE : ZRC=0x850F000C=-2062614516=SQLO_DISK "Disk full."
DIA8312C Disk was full.
CALLED : OS, -, write OSERR: ENOSPC (28)
DATA #1 : File handle, PD_TYPE_SQO_FILE_HDL, 8 bytes
File Handle = 555
File System Block Size = 0 bytes
File System Type = UNKNOWN
File Handle Flags :
Require Sector Align = No
DIO/CIO Mode = No
Raw Block Device = No
Reserved Handle = No
Flush On Close = Yes
Thread-Level Lock = No
Write-through Mode = No
File Not Tracked = No
Remote Storage Read = No
Remote Storage Write = No
Extended File Handle = No
Use Local, No Delete = No
DATA #2 : unsigned integer, 8 bytes
4096
DATA #3 : signed integer, 8 bytes
-1
DATA #4 : String, 105 bytes
Search for ossError*Analysis probe point after this log entry for further
self-diagnosis of this problem.
2023-11-07-14.21.37.540957+480 I3062331407E3763 LEVEL: Error (OS)
PID : 19415 TID : 140442540697344 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DBAAADGB
APPHDL : 0-40488
UOWID : 25628 ACTID: 1
AUTHID : GBDW HOSTNAME: PGAAA
EDUID : 136069 EDUNAME: db2agntp (DBAAADGB) 0
FUNCTION: DB2 Common, OSSe, ossErrorIOAnalysis, probe:100
CALLED : OS, -, write OSERR: ENOSPC (28)
DATA #1 : String, 147 bytes
A total of 5 analysis will be performed :
- User info
- ulimit info
- Target file info
- I/O attempt
- File system
Target file handle = 555
DATA #2 : String, 184 bytes
Real user ID of current process = 500
Effective user ID of current process = 500
Real group ID of current process = 500
Effective group ID of current process = 500
DATA #3 : String, 369 bytes
Current process limits (unit in bytes except for nofiles) :
mem (S/H) = unlimited / unlimited
core (S/H) = unlimited / unlimited
cpu (S/H) = unlimited / unlimited
data (S/H) = unlimited / unlimited
fsize (S/H) = unlimited / unlimited
nofiles (S/H) = 65534 / 65534
stack (S/H) = 8388608 / unlimited
rss (S/H) = unlimited / unlimited
DATA #4 : String, 41 bytes
current sbrk(0) value: 0x000000000166d000
DATA #5 : String, 260 bytes
Target File Information :
Size = 6860800
Link = No
Reference path = N/A
Type = 0x8000
Permissions = rw-r-----
UID = 500
GID = 500
Last modified time = 1699338097
DATA #6 : String, 33 bytes
I/O attempt not implemented yet.
DATA #7 : String, 399 bytes
File System Information of the target file :
Block size = 4096 bytes
Total size = 322112061440 bytes
Free size = 20480 bytes
Total # of inodes = 23912
FS name = /dev/mapper/datavg-db2inst1lv
Mount poi
表空间信息:


查看IBM官网给出说明,此报错包含数据库的其中一个文件系统已满。此文件系统可能包含数据库目录、数据库日志文件或表空间容器。
附上链接: https://www.ibm.com/support/pages/sql0968c-file-system-full-sqlstate57011
检查数据库相关的物理文件系统目录、日志文件目录、表空间使用的文件系统目录均未使用满。百度搜索相关报错,文档少之又少,偶然在一篇分析
DB2 SMS tablespace 容器大小不等测试的文章中发现类似内容,附上链接:https://blog.csdn.net/guoyanxi/article/details/83952892
由此怀疑临时表空间为SMS系统表空间,但未开启自动存储(AR)功能,也就是不能根据物理文件系统空间的大小自动增长,在执行存储过程中,临时表空间使用率满引发的报错,但不确定问题根本原因是什么,不可下定结论。
希望遇见过此报错的大佬给予回答,感谢!




