DB2 的SQLState=40001 和SQLState=55039解决方案

本文详细介绍了如何解决DB2数据库中遇到的SQLState=40001(事务回滚,死锁或超时)和SQLState=55039(不允许访问表空间)的问题。提供了检查表空间状态、定位问题对象、解除锁定以及调整数据库参数等解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决55039故障(SQL0290N 不允许访问表空间,SQLState 55039)

1、db2 list tablespaces show detail;
Tablespace ID = 2
Name = USERSPACE1
Type = Database managed space
Contents = All permanent data. Large table space.
State = 0x0004
Detailed explanation:
Quiesced: EXCLUSIVE
Total pages = 77824
Number of quiescers = 1
Quiescer 1:
Tablespace ID = 2
Object ID = 180

2、--找到有问题的对象TabName例如(USERINFO)
--select * from SYSCAT.TABLES WHERE tableID='有问题的对象ID'
select * from SYSCAT.TABLES WHERE tableID='267'

--3、db2 QUiesce tablespaces for table 对象名字 reset;
db2 QUiesce tablespaces for table USERINFO reset;

模拟55039故障
db2 QUiesce tablespaces for table USERINFO Exclusive;


SQL0911N解决方案(因为死锁或者超时,当前事务已经回滚,原因码68 ,SQLState40001)
本地图片,请重新上传
长久做法建议修改数据库参数
修复这四个参数:DLCHKTIME MAXLOCKS LOCKLIST LOCKTIMEOUT
db2 update db cfg for zhptdb using LOCKTIMEOUT 3600 immediate;

快速解决方案:
1、查找
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值