สำหรับอันนี้เป็น Error มาจากฝั่ง WebAPI ที่ต่อกับ DB2 ครับ มันทำเว็บตายเลยครับ 555 โดยจะมี Log มาแนวๆนี้ครับ
(null) (null) ERROR 2025-04-29 12:16:11.636 (null) dsg.Service.Proxy.ADOInterceptorAsync:0 [1] - Wait for Connection [Timeout] ERROR [55039] [IBM][DB2/LINUXX8664] SQL0290N Table space access is not allowed. IBM.Data.Db2.DB2Exception (0x80004005): ERROR [55039] [IBM][DB2/LINUXX8664] SQL0290N Table space access is not allowed. at IBM.Data.Db2.DB2Connection.HandleError(IntPtr hHandle, SQL_HANDLE hType, RETCODE retcode) at IBM.Data.Db2.DB2Command.ExecuteNonQueryObject(Boolean skipInitialValidation) at IBM.Data.Db2.DB2Command.ExecuteNonQueryObject() at IBM.Data.Db2.DB2Command.ExecuteNonQuery() at Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader) in /_/Dapper/SqlMapper.cs:line 2965 at Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command) in /_/Dapper/SqlMapper.cs:line 656 at Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType) in /_/Dapper/SqlMapper.cs:line 527 at dsg.DAO.ADO.Utilities.dsgImplementor.Delete[T](IDbConnection connection, IDictionary`2 predicate, IDbTransaction transaction) at dsg.DAO.ADO.Utilities.dsgExtensions.DeleteEx[T](IDbConnection connection, IDictionary`2 predicate, IDbTransaction transaction) at dsg.DAO.ADO.RepositoryADO`2.Delete(TID pID) at dsg.Admin.Service.Impl.Deployment.ClientInfoService.DeletePendingById(Int32 pClientId) at Castle.Proxies.Invocations.IClientInfoService_DeletePendingById.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at dsg.Service.Proxy.AbstractInterceptorAsync.DoProceed(IInvocation invocation) at dsg.Service.Proxy.ADOInterceptorAsync.Intercept(IInvocation invocation)
จาก Error SQL0290N Table space access is not allowed. เห็นอันนี้ก็ร้องดังๆในใจแล้ว WTF DB ลูกค้าไปทำอะไรหว่า ซึ่งลูกค้าบอกว่าเปล่า ไม่มี้
เอาจริงๆแอบกลัวเหมือนกัน แต่อยากรู้ว่าลูกค้าไปทำอะไรจริง หรือป่าว เลยไปขอ db2diag.log ของวันที่มีปัญหามาครับ รู้ Lock จาก App ว่าตายช่วงเที่ยง เลยลองไล่ db2diag.log พบว่า
- เจอจุดที่ตายแล้วครับ ตัว DB เอง ก็ฟ้อง Error นี้เหมือนกันครับ
2025-04-29-12.12.29.987888+420 I476814317E593 LEVEL: Error
PID : 1941 TID : 140001853564672 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3330 APPID: ::ffff:192.168.0.156.49931.250429050811
UOWID : 44 ACTID: 1
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 102 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, runtime interpreter, sqlri_tfcls, probe:191
RETCODE : ZRC=0xFFFFFEDE=-290
SQL0290N Table space access is not allowed.- อ้าวไหนหว่าไม่ได้ทำอะไรไง Log บอกว่ามี db2 load
2025-04-29-12.16.53.750878+420 I476833480E598 LEVEL: Error
PID : 1941 TID : 139999165015808 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 130 EDUNAME: db2lfrm1 0
FUNCTION: DB2 UDB, database utilities, sqluCFormatter::iCleanUp, probe:2016
MESSAGE : ZRC=0x8015006D=-2146107283=SQLU_CA_BUILT
"SQLCA has already been built"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : File name, 10 bytes
sqluldat.C
DATA # 3 : ZRC, PD_TYPE_ZRC, 4 bytes
0x82150056
2025-04-29-12.16.53.751121+420 I476834079E1031 LEVEL: Error
PID : 1941 TID : 139999169210112 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 132 EDUNAME: db2lrid0 0
FUNCTION: DB2 UDB, database utilities, sqluTermRidder, probe:3758
MESSAGE : ZRC=0x8015006D=-2146107283=SQLU_CA_BUILT
"SQLCA has already been built"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : String, 84 bytes
Error detected, but we were not originator so not sending it back to the coordinator
DATA # 3 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
sqlcaid : SQLCA sqlcabc: 136 sqlcode: -3005 sqlerrml: 0
sqlerrmc:
sqlerrp : SQLULRID
sqlerrd : (1) 0x82150056 (2) 0x00000056 (3) 0x00000000
(4) 0x00000000 (5) 0x00000000 (6) 0x00000000
sqlwarn : (1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11)
sqlstate:
2025-04-29-12.16.53.751177+420 I476835111E604 LEVEL: Error
PID : 1941 TID : 139999165015808 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 130 EDUNAME: db2lfrm1 0
FUNCTION: DB2 UDB, database utilities, sqluCFormatter::iCleanUp, probe:2019
MESSAGE : ZRC=0x82150056=-2112552874=SQLU_TERM_DIE_NOW
"Load EDU termination requested"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : File name, 10 bytes
sqluldat.C
DATA # 3 : ZRC, PD_TYPE_ZRC, 4 bytes
0x82150056
2025-04-29-12.16.53.751342+420 I476835716E595 LEVEL: Error
PID : 1941 TID : 139999169210112 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 132 EDUNAME: db2lrid0 0
FUNCTION: DB2 UDB, database utilities, sqluCRidder::iCleanUp, probe:1184
MESSAGE : ZRC=0x8015006D=-2146107283=SQLU_CA_BUILT
"SQLCA has already been built"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : File name, 10 bytes
sqlulrid.C
DATA # 3 : ZRC, PD_TYPE_ZRC, 4 bytes
0x82150056
2025-04-29-12.16.53.751443+420 I476836312E597 LEVEL: Error
PID : 1941 TID : 139999165015808 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 130 EDUNAME: db2lfrm1 0
FUNCTION: DB2 UDB, database utilities, sqluLoadEDUDriver, probe:2919
MESSAGE : ZRC=0x82150056=-2112552874=SQLU_TERM_DIE_NOW
"Load EDU termination requested"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : File name, 10 bytes
sqluedus.C
DATA # 3 : ZRC, PD_TYPE_ZRC, 4 bytes
0x82150056
2025-04-29-12.16.53.751543+420 I476836910E601 LEVEL: Error
PID : 1941 TID : 139999169210112 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 132 EDUNAME: db2lrid0 0
FUNCTION: DB2 UDB, database utilities, sqluCRidder::iCleanUp, probe:1187
MESSAGE : ZRC=0x82150056=-2112552874=SQLU_TERM_DIE_NOW
"Load EDU termination requested"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : File name, 10 bytes
sqlulrid.C
DATA # 3 : ZRC, PD_TYPE_ZRC, 4 bytes
0x82150056
2025-04-29-12.16.53.751732+420 I476837512E597 LEVEL: Error
PID : 1941 TID : 139999169210112 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000
HOSTNAME: inv1prddb
EDUID : 132 EDUNAME: db2lrid0 0
FUNCTION: DB2 UDB, database utilities, sqluLoadEDUDriver, probe:2919
MESSAGE : ZRC=0x82150056=-2112552874=SQLU_TERM_DIE_NOW
"Load EDU termination requested"
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : File name, 10 bytes
sqluedus.C
DATA # 3 : ZRC, PD_TYPE_ZRC, 4 bytes
0x82150056
2025-04-29-12.16.54.828880+420 I476838110E583 LEVEL: Warning
PID : 1941 TID : 139999223736064 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3353 APPID: *LOCAL.invsins1.250429051400
UOWID : 13 ACTID: 1
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 109 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, database utilities, sqluRemapReturnCode, probe:0
MESSAGE : Load warning: Early error detected, rc = -2146107283, sqlcode = -3088
2025-04-29-12.16.54.898947+420 I476838694E665 LEVEL: Error
PID : 1941 TID : 139999223736064 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3353 APPID: *LOCAL.invsins1.250429051400
UOWID : 13 ACTID: 1
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 109 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, database utilities, sqluReportErrToDiag, probe:0
DATA # 1 : String, 135 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
Error loading partition. , -2146107283, (nil), Detected in file:sqluvtld.C, Line:4345
2025-04-29-12.16.54.899044+420 I476839360E550 LEVEL: Severe
PID : 1941 TID : 139999223736064 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3353 APPID: *LOCAL.invsins1.250429051400
UOWID : 13 ACTID: 1
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 109 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, database utilities, sqluLoadPartition, probe:4340
MESSAGE : Load Error: Error loading partition.
2025-04-29-12.16.54.899095+420 I476839911E665 LEVEL: Error
PID : 1941 TID : 139999223736064 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3353 APPID: *LOCAL.invsins1.250429051400
UOWID : 13 ACTID: 1
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 109 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, database utilities, sqluReportErrToDiag, probe:0
DATA # 1 : String, 135 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
Error loading partition. , -2146107283, (nil), Detected in file:sqluvtld.C, Line:1257
2025-04-29-12.16.54.970344+420 I476840577E557 LEVEL: Severe
PID : 1941 TID : 139999223736064 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3353 APPID: *LOCAL.invsins1.250429051400
UOWID : 13 ACTID: 1
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 109 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, database utilities, sqlu_register_table_load, probe:1253
MESSAGE : Load Error: Error loading partition.
2025-04-29-12.16.54.970515+420 I476841135E596 LEVEL: Warning
PID : 1941 TID : 139999223736064 PROC : db2sysc 0
INSTANCE: invsins1 NODE : 000 DB : BFMDB
APPHDL : 0-3353 APPID: *LOCAL.invsins1.250429051400
AUTHID : INVEST HOSTNAME: inv1prddb
EDUID : 109 EDUNAME: db2agent (BFMDB) 0
FUNCTION: DB2 UDB, database utilities, sqluvtld_route_in, probe:1616
DATA # 1 : LOADID, PD_TYPE_LOADID, 49 bytes
LOADID: 109.2025-04-29-12.16.53.410589.0 (2;1571)
DATA # 2 : String, 25 bytes
Completed LOAD operation.สำหรับใครที่ไม่รู้ว่า Path db2diag.log อยู่ไหน ลองคำสั่งนี้หาได้ครับ
db2 get dbm cfg | grep DIAGPATHที่เครื่อง DB Server ครับ
หลังจากรู้แล้วว่าคำสั่ง Load ก่อนให้เกิดปัญหาเจ้า SQL0290N Table space access is not allowed ต่อไปก็มาตรวจ Tablespace ครับ ว่าแต่ละตัวมีสถานะเป็นอย่างไร
- ตรวจสถานะ table space
db2 LIST TABLESPACES SHOW DETAIL
- จากนั้นดู State ของ table space ครับ โดยถ้าไม่ใช่ 0x0000
State = 0x0000
Detailed explanation:
Normal
- ต้องลองมาหาดูกันต่อครับว่า 0x0020 ถ้าดูจาก doc ของ db2 จะเป็นตัว Backup Pending

การแก้ไข ทำได้ 2 วิธีครับ
- Backup DB
db2 backup database [your_database_name]
- Backup เฉพาะ Table Space
db2 backup database [your_database_name] tablespace([tablespace_name])
จากนั้นลองรัน db2 LIST TABLESPACES SHOW DETAIL แล้วตรวจสอบ State ของ table space ครับ ต้องเป็น 0x0000
สุดท้ายลอง Restart Container ของ App Server (Web API) จบปิดเคสครับ
Reference
- db2: Table space states
- db2: Table space states during and after load operations
- อาจจะไม่เกี่ยวโดยตรง https://www.ibm.com/support/pages/accessing-tablespace-returns-sql0290n-table-space-access-not-allowed-even-no-container-errors
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.



