最近有一项目经常出现DB2表锁情况,从存储过程,到应用程序,如果你靠去查代码还真是费劲,也记得以前有人问过我如何看DB2表的锁,这次都在这里一一讲清楚了,讲归讲,大家记得自己多去试试,实战是最佳的学习方法,我一直比较崇尚“从问题中学习结”。
―――Dream
第一步,打开Snapshot监控
db2 update monitor switches using lock on statement on uow on
第二步,检查锁等待情况
db2pd -db sample -locks wait showlocks
Database Partition 0 -- Database SAMPLE -- Active -- Up 3 days 08:33:05
Locks:
AddressTranHdlLockname Type Mode Sts Owner Dur
0x050A0240 6 02000600050040010000000052 Row ..X W 2 1
0x050A0DB0 2 02000600050040010000000052 Row ..X G 2 1
HoldCount Att ReleaseFlg
0 0x00 0x40000000 TbspaceID 2 TableID 6 PartitionID 0 Page 320 Slot 5
0 0x00 0x40000000 TbspaceID 2 TableID 6 PartitionID 0 Page 320 Slot 5
|
--Sts列 W 表示等待 G代表被授权获得锁
第三步,找到TransID对应的ApplID
db2pd -db sample –trans
Database Partition 0 -- Database SAMPLE -- Active -- Up 3 days 08:34:47
Transactions:
AddressAppHandl[nod-index]TranHdl Locks State Tflag Tflag2
0x0514188030 [000-00030]2 9 WRITE 0x00000000 0x00000
0x0514488034 [000-00034]6 5 WRITE 0x00000000 0x00000
|
第四步,通过获取快照,定位锁的SQL
db2 get snapshot for application agentid 30
db2 get snapshot for application agentid 34
接下来也可以通过db2pd分析,不通过snapshot
第五步,获得应用程序与相关代理信息
db2pd -agents
Database Partition 0 -- Active -- Up 3 days 08:35:42
Agents:
Current agents: 2
Idle agents: 0
Active coord agents: 2
Active agents total: 2
Pooled coord agents: 0
Pooled agents total: 0
AddressAppHandl[nod-index]AgentTid Priority Type State
0x04449BC034 [000-00034]3392 0 Coord Inst-Active
0x0444924030 [000-00030]2576 0 Coord Inst-Active
ClientPid Userid ClientNm Rowsread Rowswrtn LkTmOt DBName
3916 USER_B db2bp.ex 43 43 NotSet SAMPLE
2524 USER_A db2bp.ex 153 14 NotSet SAMPLE
|
第六步,获取应用程序其他信息
db2pd -db sample -applications
Database Partition 0 -- Database SAMPLE -- Active -- Up 3 days 08:36:14
Applications:
AddressAppHandl[nod-index] NumAgents CoorTid Status
0x04AF808034 [000-00024] 1 3940 Lock-wait
0x0384196030 [000-00020] 1 2548 UOW-Waiting
C-AnchIDC-StmtUID L-AnchID L-StmtUID Appid
195 1 0 0 *LOCAL.DB2.061122195637
0 0 60 1 *LOCAL.DB2.061122195609
|
第七步,检查动态语句缓存的内容
db2pd -db sample -dynamic
Database Partition 0 -- Database SAMPLE -- Active -- Up 3 days 08:37:39
Dynamic Cache:
Current Memory Used 187188
Total Heap Size 1271398
Cache Overflow Flag 0
Number of References 2
Number of Statement Inserts 3
Number of Statement Deletes 0
Number of Variation Inserts 2
Number of Statements 3
Dynamic SQL Statements:
Address AnchID StmtUID NumEnv NumVar NumRef NumExe
0x056CEBD0 60 1 1 1 1 1
0x056CE850 180 1 0 0 0 0
0x056CFEA0195 1 1 1 1 1
Text
UPDATE EMPLOYEE SET BONUS = SALARY * 0.1 WHERE JOB = 'MANAGER'
SET CURRENT LOCALE LC_CTYPE = 'de_DE'
UPDATE EMPLOYEE SET SALARY = SALARY * 0.02
Dynamic SQL Environments:
Address AnchID StmtUID EnvID Iso QOpt Blk
0x056CECD0 60 1 1 CS 5 B
0x056D30A0 195 1 1 CS 5 B
Dynamic SQL Variations:
AddressAnchIDStmtUID EnvID VarID NumRef Typ
0x056CEEB0 60 1 1 1 1 4
0x056D3220195 1 1 1 1 4
Lockname
010000000100000001003C0056
01000000010000000100C30056
|
第八步,锁分析的重复获取
db2pd -db sample -locks wait showlocks -transactions -agents -applications –dynamic -file
分享到:
相关推荐
DB2的并发性,DB2的并发性,DB2的并发性,DB2的并发性,DB2的并发性
讲述DB2优化器和问题诊断方法,对于学习DB2的朋友会有帮助,供学习参考
db2锁的问题db2锁的问题db2锁的问题db2锁的问题db2锁的问题db2锁的问题
DB2问题诊断方法探讨 DB2提供的各种用于问题诊断的工具 DB2管理通知日志和错误诊断日志 db2 ? SQLCODE/ db2diag –rc ZRC DB2监控设施 快照监视器,事件监视器以及其他监控命令 list application等 从DB2 8.2开始...
DB2和 Oracle的并发控制(锁)比较
借助表格,能够帮助理解、分析 DB2 的并发机制,并能对 DB2如何实现这种并发机制窥探一二
DB2和 Oracle的并发控制(锁)比较 在实际的生产运行环境中,笔者在国内很多客户现场都看到开发人员和系统管理人员遇到很多有关于锁而引起的性能问题,进而被多次问起DB2和Oracle中锁的区别比较问题,笔者根据自己在...
DB2锁问题处理最佳实践 DB2锁概述 DB2锁问题监控和定位 DB2锁问题调优 DB2 9.7锁机制深入分析 DB2锁案例分享
关于db2锁说明,以表格对比的方式详细说明db2数据库中各个锁之间的区别。方便理解db2数据库关于锁的处理以及设计。
db2 故障诊断指南 db2 故障诊断指南
db2相关锁情况介绍
DB2 V9.7 锁事件监控 文档 DB2 锁 锁监控 监控 DB2文档
db2 查询锁的方法,实际操作解决数据库锁的方法
DB2故障诊断指南,db2diag.log日志分析
详细介绍DB2数据库锁升级分析及处理步骤。
ibm数据库管理资料db2资源锁管理,ibm数据库管理资料db2资源锁管理.
如果发现任何问题,我们就进入下一个阶段 - 故障诊断阶段。每个阶段都是基于上一阶段,如果没有适当的准备,我们极有可能需要处理比较困难的问题。 本文介绍了 DB2 系统性能的最优方法。我首先涉及到一些有助于我们...
第12章 DB2调优案例、问题总结和技巧 12.1 调优案例一:某移动公司存储设计不当和SQL引起的I/O瓶颈 12.2 调优案例二:某银行知识库系统锁等待、锁升级引起性能瓶颈 12.3 调优案例三:某汽车制造商ERP系统通过调整...
××××这是第1/2部分, 7Zip压缩×××× ...同时,本书还介绍了DB2各种诊断工具的使用,各种数据库配置参数含义及调整、数据库系统视图等。 本书封面贴有清华大学出版社防伪标签,无标签者不得销售。