DB2死锁处理

来源:互联网 发布:红宝书软件下载 编辑:程序博客网 时间:2024/06/06 18:22
 

1.查看数据库下的锁
db2 get snapshot for locks on JS
        数据库锁定快照

数据库名称                               = JS
数据库路径                          = D:\DB2\NODE0000\SQL00001\
输入数据库别名                      = JS
挂起的锁定                      = 5
当前已连接的应用程序            = 1
当前正等待锁定的代理程序数      = 0
快照时间戳记                    = 2007-09-04 12:54:33.121513

应用程序句柄                               = 10
应用程序标识                        = *LOCAL.DB2.070904045330
序号                                = 00001
应用程序名                          = db2taskd
CONNECT 授权标识                           = ADMINISTRATOR
应用程序状态                        = 连接已完成
状态更改时间                        = 未收集
应用程序代码页                             = 1208
挂起的锁定                      = 0
总计等待时间(毫秒)            = 未收集


应用程序句柄                               = 9
应用程序标识                        = *LOCAL.DB2.070904045329
序号                                = 00001
应用程序名                          = db2stmm
CONNECT 授权标识                           = ADMINISTRATOR
应用程序状态                        = 连接已完成
状态更改时间                        = 未收集
应用程序代码页                             = 1208
挂起的锁定                      = 0
总计等待时间(毫秒)            = 未收集


应用程序句柄                               = 8
应用程序标识                        = *LOCAL.DB2.070904045327
序号                                = 00011
应用程序名                          = javaw.exe
CONNECT 授权标识                           = ADMINISTRATOR
应用程序状态                        = UOW 正在等待
状态更改时间                        = 未收集
应用程序代码页                             = 1208
挂起的锁定                      = 5
总计等待时间(毫秒)            = 未收集

锁定列表
锁定名称                       = 0x020010000D0080080000000052
锁定属性                       = 0x00000000
发行版标志                     = 0x40000000
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 142606349
对象类型                       = 行
表空间名                       = USERSPACE1
表模式               = JS
表名                 = US_CATALOG
方式                           = X

锁定名称                       = 0x02001000090080080000000052
锁定属性                       = 0x00000000
发行版标志                     = 0x40000000
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 142606345
对象类型                       = 行
表空间名                       = USERSPACE1
表模式               = JS
表名                 = US_CATALOG
方式                           = X

锁定名称                       = 0x01000000010000000100EA0056
锁定属性                       = 0x00000000
发行版标志                     = 0x40000000
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 0
对象类型                       = 内部变化锁定
方式                           = S

锁定名称                       = 0x5359535348323030DDECEF2841
锁定属性                       = 0x00000000
发行版标志                     = 0x40000000
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 0
对象类型                       = 内部方案锁定
方式                           = S

锁定名称                       = 0x02001000000000000000000054
锁定属性                       = 0x00000000
发行版标志                     = 0x40000000
锁定计数                       = 2
挂起计数                       = 0
锁定对象名                     = 16
对象类型                       = 表
表空间名                       = USERSPACE1
表模式               = JS
表名                 = US_CATALOG
方式                           = IX
2.查看句柄所对应的应用
db2 list applications
授权标识程序  应用程序名    应用程序句柄    应用程序标识            数据库名称    代理序号
------------ -------------- -------------- ------------------------ ------------- ----------
ADMINIST     db2taskd       10             *LOCAL.DB2.070904045330  JS              1
ADMINIST     db2stmm        9              *LOCAL.DB2.070904045329  JS              1
ADMINIST    javaw.exe       8              *LOCAL.DB2.070904045327  JS              1
在snapshot的第四段显示应用程序句柄为8的应用有锁存在,在其相应的锁定列表中显示锁定的表是US_CATALOG。
如果您确定是US_CATALOG表上发生了死锁,可以通过命令db2 "force application(8)"来杀掉该应用在数据库上
的连接。注意如果force命令导致该应用的事务回滚得话,force命令不能马上断开应用在数据库上的连接,而是
要等到回滚完成后才能断开该应用的数据库连接。
3.杀掉死锁的应用
force application(application_id);  --注意用这个
force applications all(强迫所有应用程序从数据库断开)
4.查看应用详细情况
db2 list applications show detail

 

原创粉丝点击