DB2锁表或超时解决方案

摘要:
命令如下:db2"forceapplication"4、使用命令listapplication查看是否已经断开了哪些进行了死锁的进程。

DB2锁表或超时

一、场景

对数据表进行更新(查询没问题),错误提示如下:

SQLCODE=-911, SQLSTATE=40001, DRIVER=3.63.75
SQL0911N The current transaction has been rolled back because of a deadlock

这是DB2表死锁或超时的错误:

二、解决方案

1、进入数据库服务器后台,进入一个实例
su - 实例名(比如我们使用的是DB2inst)

2、使用命令get snapshot来查询哪些进程锁了哪些表
db2 get snapshot for locks on databasename

3、使用命令force来断开这些进行了死锁的进程。命令如下:

db2 "force application (handle id)"

4、使用命令list application查看是否已经断开了哪些进行了死锁的进程。命令如下:

db2inst1@HOST1:db2 list applications

查看是否所有相关的进程都停止,若还有没杀掉的,再次杀掉即可。

PS:如果确定杀掉所有进程没有影响,可以杀掉所有进程,命令如下:
db2 "force application all"

免责声明:文章转载自《DB2锁表或超时解决方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇fiddler抓包+雷电模拟器 完成手机app抓包的配置seata启动报错的可能原因,以及解决方案下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

db2 sqlcode

DB2错误信息(按sqlcode排序)  sqlcode sqlstate 说明  000 00000 SQL语句成功完成  01xxx SQL语句成功完成,但是有警告  +012 01545 未限定的列名被解释为一个有相互关系的引用  +098 01568 动态SQL语句用分号结束  +100 02000 没有找到满足SQL语句的行  +110 0156...

DB2维护手册

一、 DB2日常维护日操作 31、 检查管理服务器是否启动 32、 检查DB2实例是否已经启动 33、 查看表空间状态是否正常 34、 查看表的状态 45、 查看磁盘空间 46、 检查存储管理软件是否正常 47、 检查数据库备份是否正常 58、 检查归档日志是否正确归档了 59、 查看缓冲池的命中率 510、 查看当前运行最频繁的SQL,其命中率是否正常...

db2数据库创建删除主键约束和创建删除唯一键约束

创建、删除唯一约束: db2 "alter table tabname add unique(colname)" db2 "alter table tabname drop unique CONSTNAME " 创建主键约束: db2 "alter table staff add primary key (id)" db2 "alter table t_d...

DB2sql——DB2临时表的创建

DB2支持session临时表. 该表只能存在于某一session或某一交易上下文中,对其他用户不可见. DB2 V8增加了对临时表的索引的支持, 这对于提升查询速度比较有意义; 下面举例子来说明session临时表的使用: 1. 在创建session临时表前, 您必须创建临时表空间 create user temporary tablespace tes...

db2 常用命令

1、将常用命令,设置为别名,方便记忆 alias listapp='db2 list applications' alias listappx='db2 list applications show detail' alias listtran='db2 list INDOUBT TRANSACTIONS' alias listtranx='db2 lis...

DB2中有关like的使用心得。

DB2中的like的使用是有限制的,它不允许跟在它后面的是一个变量或者是字段,目前比较多的是:like '%测试%'这样,因此,在函数或者是存储过程中,就不能通过窗体一个参数给like来组成动态的条件。 如果真要在函数或者是存储过程中,去搜索某个字段是否拥有某个字符串在里面,可以使用locate。下面是locate的用法: locate(arg1,arg2...