`

DB2如何将数据库表解锁

阅读更多
在DB2的命令行中输入:

update monitor switches using lock on table on

然后打开另一个DB2命令窗口执行我的那个被吊死的Update语句。

然后在第一个DB2命令窗口执行:

get snapshot for locks on Database_Name(你的数据库的名字)> locks.TXT

然后,可以看到第一个DB2的窗口有一个信息输出,把这些信息输出到TXT中,大致如下:

应用程序句柄                    = 36
应用程序标识                    = AC100C47.IC05.00F6C6095828
序号                          = 0246
应用程序名                      = java.exe
CONNECT 授权标识                = DB2ADMIN
应用程序状态                    = UOW 正在等待
状态更改时间                    = 未收集
应用程序代码页                  = 1208
挂起的锁定                      = 0
总计等待时间(毫秒)            = 0


应用程序句柄                    = 43
应用程序标识                    = *LOCAL.DB2.060512054331
序号                          = 2273
应用程序名                      = java.exe
CONNECT 授权标识                = DB2ADMIN
应用程序状态                    = 联合请求暂挂
状态更改时间                    = 未收集
应用程序代码页                  = 1208
挂起的锁定                      = 6
总计等待时间(毫秒)            = 0

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

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

锁定名称                       = 0x020006000F1700000000000052
锁定属性                       = 0x00000000
发行版标志                     = 0x00000001
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 5903
对象类型                       = 行
表空间名                       = USERSPACE1
表模式                         = DB2ADMIN
表名                           = C_USER
方式                           = NS

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

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

锁定名称                       = 0x02000600000000000000000054
锁定属性                       = 0x00000000
发行版标志                     = 0x00000001
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 6
对象类型                       = 表
表空间名                       = USERSPACE1
表模式                         = DB2ADMIN
表名                           = C_USER
方式                           = IS


应用程序句柄                    = 557
应用程序标识                    = *LOCAL.DB2.060512053913
序号                          = 1254
应用程序名                      = java.exe
CONNECT 授权标识                = DB2ADMIN
应用程序状态                    = 联合请求暂挂
状态更改时间                    = 未收集
应用程序代码页                  = 1208
挂起的锁定                      = 6
总计等待时间(毫秒)            = 0

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

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

锁定名称                       = 0x02000600071D00000000000052
锁定属性                       = 0x00000000
发行版标志                     = 0x00000001
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 7431
对象类型                       = 行
表空间名                       = USERSPACE1
表模式                         = DB2ADMIN
表名                           = C_USER
方式                           = NS

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

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

锁定名称                       = 0x02000600000000000000000054
锁定属性                       = 0x00000000
发行版标志                     = 0x00000001
锁定计数                       = 1
挂起计数                       = 0
锁定对象名                     = 6
对象类型                       = 表
表空间名                       = USERSPACE1
表模式                         = DB2ADMIN
表名                           = C_USER
方式                           = IS



其中应用程序句柄43和557的状态都是死锁了,猜测是这2个应用争用DB2的表,造成死锁,根据日志提示,在DB2的命令窗口输入:

force application (43)

force application (557)

提示这个操作是异步的,我执行list applicaions,结果进程中还有那2个进程,那2个进程可能是在执行比较大的操作,需要耐心等待,如何还不行,则使用下面的命令来强制所有的应用都停止,然后重启DB2:

force application all

terminate

db2stop force

db2start

    如果DB2在Window上,则可以使用“控制中心”->实例->右键“应用程序”,可以看到当前的锁定情况,并且可以强行关闭某个进程,也可以显示“锁定链”。

分享到:
评论

相关推荐

    db2 Load锁表 后解锁详解

    ### DB2 Load锁表后解锁详解 #### 一、引言 在数据库管理与维护过程中,数据加载(Load)操作是常见的数据导入手段之一。在DB2环境下进行数据加载时,由于Load操作不生成事务日志,这可能导致加载完成后表被锁定的...

    Linux下db2常用命令总结

    本文将深入探讨Linux下DB2的常用命令,帮助开发者更好地理解和操作DB2数据库。 1. **安装与启动DB2** - `sudo rpm -ivh db2_v11.5_linux_x86_64.rpm`:在Linux上安装DB2的RPM包。 - `db2start`:启动DB2实例。 -...

    db2_查询锁方法

    在DB2数据库管理系统中,锁是一种重要的机制,用于管理多个用户对数据资源的同时访问,确保数据的一致性和准确性。当一个事务正在修改数据时,其他试图访问同一数据的事务可能会被阻止,直到第一个事务完成。这种...

    Db2数据库中常见的堵塞问题分析与处理方法

    本文将探讨Db2数据库中常见的堵塞问题及其分析与处理方法。 首先,数据库堵塞的主要表现是数据库活动会话增多,SQL执行速度减缓,甚至出现无法连接的情况。这可能是由于锁问题、大SQL执行或系统资源耗尽等原因导致...

    DB2表相关操作的文档二三事儿

    使用`db2look`命令导出数据库`testdb`的全部表结构到文件`test.sql`中。此步骤对于备份或迁移数据库结构非常有用。 ##### 5. 导入数据库表结构 ```bash db2 -tvf test.sql ``` 执行SQL脚本`test.sql`,导入之前导出...

    Toad for DB2 license key 注册

    Toad for DB2是一款强大的数据库管理工具,专为IBM的DB2数据库系统设计。它提供了丰富的功能,包括SQL开发、...通过遵循上述步骤,并留意可能遇到的问题,你将能够充分利用这个强大的工具,提升你的DB2数据库管理工作。

    DB2实用工具QC(Quest Central for DB2 v5.0 注册码)

    Quest Central for DB2 v5.0 是一款强大的数据库管理工具,专门针对IBM DB2数据库设计,旨在帮助DBA(数据库管理员)、开发者以及IT专业人士更高效地管理、监控和维护DB2环境。它提供了一系列全面的功能,包括性能...

    DB2学习手册

    1. **Instance(实例):** DB2中的实例是指运行DB2数据库管理系统的单一进程或一组进程。每个DB2实例都有一个唯一的名字,并且可以管理多个数据库。实例是DB2运行的基本单位。 2. **DB2 Administration Server(管理...

    DB2手册pdf

    在DB2环境中,**实例**是指运行DB2数据库管理系统软件的一个特定进程集合。每个实例都由一个唯一的名称标识,并且该名称通常与操作系统用户账户关联。一个操作系统上可以安装多个DB2实例,每个实例独立管理自己的...

    db2常用命令大全,有说明

    **说明**:这条命令用于锁定表 `TEST`,阻止其他用户对该表进行修改,直到解锁。 #### 二十二、共享锁表 **命令**: ```sql LOCK TABLE TEST IN SHARE MODE; ``` **说明**:这条命令为表 `TEST` 加上共享锁,允许...

    Quest Central for DB2 v5.0 注册码

    Quest Central for DB2 是一款由 Quest Software 开发的专业数据库管理工具,旨在为用户提供全面且直观的方式来管理 IBM DB2 数据库。该软件支持多种版本的 DB2,包括 DB2 LUW(Linux, Unix, Windows)、DB2 for z/...

    toad_for_db2_6.5_license_key

    Toad for DB2能够帮助用户提高生产效率、减少错误并简化日常任务,使得DBA(数据库管理员)、开发人员以及其他数据库用户可以更加轻松地进行DB2数据库的管理和维护工作。 ### 二、Toad for DB2 6.5版本特性 Toad ...

    IBM DB2 9.5 9.7企业版License

    IBM DB2是一款由IBM公司开发的关系型数据库管理系统(RDBMS),在企业级应用中广泛使用,尤其在金融、电信等关键领域。标题提到的是IBM DB2 9.5和9.7企业版的License,这涉及到软件授权的重要概念。 在数据库管理...

    Oracle数据库基础学习

    Oracle数据库基础学习是数据库学习的基础部分,本节课程将从DOS命令、SQL命令行、数据库简述、SQL语言简述、表等几个方面对Oracle数据库进行详细的介绍。 一、DOS命令 DOS命令是Disk Operating System的缩写,即...

    Qracle数据库笔记

    在数据库领域,根据其规模和技术特性,可以将数据库大致分为三类:小型数据库、中型数据库以及大型数据库。 - **小型数据库**:这类数据库通常适用于个人或者小型项目的需求。文中提到的**Access**是由微软开发的一...

Global site tag (gtag.js) - Google Analytics