`
youyu4
  • 浏览: 440326 次
社区版块
存档分类
最新评论

解除被锁定的表

 
阅读更多
解除DB2数据库中表的死锁

某日无法查询DB2的数据库的某一张表,执行查询语句的后返回死锁或超时的错误:

SQL0911N The current transaction has been rolled back because of a deadlock
or timeout. Reason code "68". SQLSTATE=40001

 其他的表实行数据库没有什么问题,只有一张或几张表出现这个问题,造成这个原因一般是由于表被锁造成的,也可以使用查看DB2数据库的建康状态来确认,处理方法见以下步骤。

 

步骤一:使用命令get snapshot来查询哪些进程锁了哪些表。命令如下:

db2 get snapshot for locks on databasename

db2inst1@HOST1:~> db2 get snapshot for locks on mydb

 

            Database Lock Snapshot

Database name                              = MYDB

Database path                              = /home/db2data/db2inst1/NODE0000/SQL00001/

Input database alias                       = MYDB

Locks held                                 = 20

Applications currently connected           = 21

Agents currently waiting on locks          = 0

Snapshot timestamp                         = 04/16/2009 14:59:29.185370

 

                …………………………

                …………………………

Application handle                         = 838

Application ID                             = GA47AA28.D60B.0154C5152621

Sequence number                            = 1432

Application name                           = javaw.exe

CONNECT Authorization ID                   = DB2INST1

Application status                         = UOW Waiting

Status change time                         = Not Collected

Application code page                      = 1208

Locks held                                 = 0

Total wait time (ms)                       = Not Collected

 

 

Application handle                         = 1076

Application ID                             = GA47AA28.GF12.0194C4113924

Sequence number                            = 0001

Application name                           = javaw.exe

CONNECT Authorization ID                   = DB2INST1

Application status                         = UOW Waiting

Status change time                         = Not Collected

Application code page                      = 1208

Locks held                                 = 8

Total wait time (ms)                       = Not Collected

 

List Of Locks   #在application handle紧跟后面出现list of locks表明该application handle锁了表或对象

 Lock Name                = 0x030039020DFF11000000000052

 Lock Attributes             = 0x00000000

 Release Flags               = 0x00000004

 Lock Count                  = 1

 Hold Count                  = 0

 Lock Object Name            = 1163533    #被锁对象名称

 Object Type                 = Row        #被锁对象类型

 Tablespace Name             = tbs_data    #被锁对象所在的表空间

 Table Schema                = DB2INST1

 Table Name                  = t_mytable1   #被锁的表名

 Mode                        = X

 

 Lock Name                   = 0xFF000000010000000100120056

 Lock Attributes             = 0x00000000

 Release Flags               = 0x40000000

 Lock Count                  = 2

 Hold Count                  = 0

 Lock Object Name            = 0

 Object Type                 = Internal Variation Lock

 Mode                        = S

 

 Lock Name                   = 0x0300390200FF11000000000052

 Lock Attributes             = 0x00000000

 Release Flags               = 0x00000002

 Lock Count                  = 1

 Hold Count                  = 0

 Lock Object Name            = 1163520

 Object Type                 = Row

 Tablespace Name             = tbs_data

 Table Schema                = DB2INST1

 Table Name                  = t_mytable2

 Mode                        = X

 

  …………………………………………………………………………………

 

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

db2 "force application (handle id)"

db2inst1@HOST1:~>db2 "force application (838)"

DB20000I  The FORCE APPLICATION command completed successfully.

DB21024I  This command is asynchronous and may not be effective immediately.

db2inst1@HOST1:~>db2 "force application (1076)"

DB20000I  The FORCE APPLICATION command completed successfully.

DB21024I  This command is asynchronous and may not be effective immediately.

 

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

db2inst1@HOST1:~> db2 list applications

 

Auth Id  Application    Appl.      Application Id                 DB       # of

         Name           Handle                                    Name    Agents

-------- -------------- ---------- ------------------------------ -------- -----

DB2INST1 db2bp          1330       *LOCAL.db2inst1.090416134941   MYDB    1   

DB2INST1 db2jccThread-8 85         GAB40153.G869.0120AF1F5A2E     MYDB    1   

DB2INST1 db2bp.exe      63         GA47AA28.BA0C.018346132405     MYDB    1   

DB2INST1 db2bp         825        *LOCAL.db2inst1.090416103954   MYDB    1   

DB2INST1 javaw.exe      1039       GA47AA28.F411.0194C4113304     MYDB    1   

DB2INST1 db2bp.exe      928        GA47AA28.L710.015844102651     MYDB    1   

DB2INST1 dbdaemon       877        *LOCAL.db2inst1.090408150559   MYDB    1    
 
分享到:
评论

相关推荐

    解除文件锁定,释放ID。

    在这种情况下,常规的删除操作往往无效,需要采取特定的方法来解除锁定。描述中提到的“文件解锁.exe”可能是一个专门用于解除文件锁定的工具,它可以强制关闭占用文件的进程,从而解锁文件。 首先,理解文件锁定的...

    解除文件锁定工具,文件强制删除工具.rar

    3. 强制删除:在解除锁定后,工具会尝试立即删除文件,即使文件权限设置较为严格也能尝试操作。 三、使用方法 1. 解压文件:首先,我们需要将“解除文件锁定工具,文件强制删除工具.rar”解压到一个目录下。 2. ...

    解除电脑中文件被锁定工具

    标题提到的“解除电脑中文件被锁定工具”就是这样一款实用的软件,它可以帮助用户解决因文件被占用而无法正常操作的问题。 锁定文件的情况通常发生在以下几个场景: 1. **系统进程占用**:系统运行过程中,某些...

    解除注册表锁定

    解除注册表锁定,如果注册表被锁定了,下载本文件,在.inf文件上,点击右键,点击安装即可。

    解除USB锁定软件

    标题中的“解除USB锁定软件”指的是专门用于解决USB设备无法正常卸载问题的工具。在日常使用中,我们有时会遇到USB设备(如U盘、移动硬盘)在Windows系统中被锁定,导致无法直接安全删除硬件,这主要是由于系统还在...

    文件解除锁定工具

    "文件解除锁定工具"如Unlocker1.9.211.exe,它是一个小巧而实用的软件,可以帮助用户快速解决文件被占用的问题。Unlocker的工作原理是通过扫描文件的当前状态,找出哪个进程正在占用该文件,然后提供选项让用户结束...

    SQL Server数据库表锁定原理以及如何解除表的锁定.doc

    了解并掌握SQL Server的锁定原理和解除锁定的方法对于数据库管理员和开发人员来说至关重要,这不仅可以提高系统的并发性能,还能避免因锁定问题引发的系统异常和数据不一致。在实际应用中,需要根据具体场景和需求,...

    强制解除锁定,强制删除

    总之,"强制解除锁定"是一个解决文件被占用问题的有效方法,Unlocker作为其中的一款工具,能帮助用户方便快捷地解决这一问题。在日常的电脑使用中,了解并合理运用这类工具,可以大大提高工作效率,减少因文件锁定...

    解除windows正版锁定

    解除windows正版锁定 微软正版认证离线安装包

    SQL2005 解除用户锁定的方法

    ### SQL2005 解除用户锁定的方法 在SQL Server 2005环境中,管理员可能会遇到用户账户被锁定的情况,这种情况通常是由于密码输入错误次数过多或其他安全策略导致的。当用户账户被锁定后,他们将无法登录到SQL ...

    ULSetup,解除资源锁定的小工具

    是不是经常出现文件被锁定而无法删除的情况,你可以试试这个解决文件锁定的工具,很好用,几乎什么文件都可以解除!

    解除锁定注册表BAT

    解除锁定注册表.bat解除锁定注册表.bat

    WinRAR锁定解除补丁v1.00绿色版(解除RAR的文件锁定)onlyisu作品

    解除WinRAR压缩文件的文件锁定。 烈火的WinRAR汉化版已有无视锁定的功能,但本人不太喜欢直接修改WinRAR主程序,故做了这个补丁,给大家多一种选择。 ^0^ WinRAR 锁定解除补丁v1.0在 WinRAR 3.7、3.8、3.9上测试有效...

    解除EXCEL工作表锁定优质资料.doc

    解除EXCEL工作表锁定优质资料.doc

    解锁keil中被锁定的文件 修改其中的代码

    另一种方法是在Keil软件内解除锁定。打开项目,选择菜单栏的“Project” > “UnLock Files”,这将解锁所有项目中的文件,使你能够编辑代码。 4. **修改代码**: 解锁文件后,你就可以在Keil的源代码编辑器中自由...

    解除系统文件锁定工具

    解除系统文件锁定工具 <br>很多时候我们删除某个文件夹,电脑会提示某文件正在使用中,无法删除,该软件安装后在鼠标右键菜单中有个魔术棒标记,我们只要删除时有无法删除的文件,在该软件的弹出框中会显示与电脑...

    锁定解除注册表编辑器

    - 将`DisableRegistryTools`的值设为`0`,或者直接删除该键即可解除锁定。 #### 四、注意事项 - 修改注册表前,请确保已经备份了注册表或整个系统,以防万一出现问题时能够恢复。 - 在进行任何修改之前,请确保充分...

    如何解除EXCEL工作表锁定优质资料.doc

    当忘记工作表保护密码时,可以尝试以下方法解除锁定: 1. 使用宏: - 打开含有受保护工作表的Excel文件。 - 依次点击“工具”->“宏”->“录制新宏”,输入宏名称,例如“易尔拓”,然后停止录制。这将创建一个空...

    如何解除EXCEL工作表锁定.doc

    如何解除EXCEL工作表锁定.doc

Global site tag (gtag.js) - Google Analytics