ERRORCODE=-4228, SQLSTATE=null


同事反饋問題:
[jcc][t4][102][10040][3.57.82] 非原子批處理出現故障。雖然已經提交了批處理,但是該批處理的某個成員至少發生了一個異常。
使用 getNextException() 來檢索已經過批處理的特定元素的異常。 ERRORCODE=-4228, SQLSTATE=null

查看db2diag.log日志:
2012-11-20-10.00.33.551000+480 E27658279F1143 LEVEL: Error
PID : 2276 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : NCTEST
APPHDL : 0-49794 APPID: 20.10.80.247.48084.121120015251
AUTHID : NCTEST
EDUID : 3796 EDUNAME: db2agent (NCTEST) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbAllocateExtent, probe:840
MESSAGE : ADM6044E The DMS table space "NNC_INDEX01" (ID "5") is full. If
this is an autoresize or automatic storage DMS tablespace, the
maximum table space size may have been reached or the existing
containers or storage paths cannot grow any more. Additional space
can be added to the table space by either adding new containers or
extending existing ones using the ALTER TABLESPACE SQL statement. If
this is an autoresize or automatic storage DMS table space,
additional space can be added by adding containers to an autoresize
table space or by adding new storage paths to an automatic storage
database.
2012-11-20-10.00.33.551000+480 I27659424F1147     LEVEL: Warning
PID : 2276 TID : 3796 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : NCTEST
APPHDL : 0-49794 APPID: 20.10.80.247.48084.121120015251
AUTHID : NCTEST
EDUID : 3796 EDUNAME: db2agent (NCTEST) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbObtainDataExtent, probe:800
MESSAGE : ZRC=0x85020021=-2063466463=SQLB_END_OF_CONTAINER
"DMS Container space full"
DATA #1 : Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 88 bytes
Obj: {pool:5;obj:11020;type:1} Parent={4;1360}
lifeLSN: 000000005AAC4D6E
tid: 0 0 0
extentAnchor: 78560
initEmpPages: 0
poolPage0: 0
poolflags: 102
objectState: 27
lastSMP: 0
pageSize: 4096
extentSize: 32
bufferPoolID: 2
partialHash: 705429509
bufferPool: 0x000000001a7837a0
pdef: 0x000000001a804160
從上述錯誤來看,是表空間NNC_INDEX01表空間被占滿了。
看下NNC_INDEX01表空間使用情況:
db2 => list tablespaces show detail
發現可用頁數已經變成了0。
查看報錯的地方,是一個綁定變量+Batch的操作。insert into IC_ATP_F,這個表有一個主鍵索引,而批量插入的時候肯定會用到索引表空間。
添加一個容器,alter tablespace nnc_index01 add (file '\db2\nnc_index01_2' 204800)
再次執行,問題解決。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM