WEB开发网
开发学院数据库DB2 DB2 9.5 中的锁定超时分析新方法 阅读

DB2 9.5 中的锁定超时分析新方法

 2008-07-07 16:24:14 来源:WEB开发网   
核心提示: 锁定超时报告包括 4 部分:第一部分提供与锁定超时发生的日期和时间,以及相应的实例和数据库相关的信息,DB2 9.5 中的锁定超时分析新方法(5), Lock Information 部分显示导致锁定超时的锁,除了内部锁名以外,对于这一点,新的锁定超时报告功能也提供了改进,还会显示锁的类型

锁定超时报告包括 4 部分:

第一部分提供与锁定超时发生的日期和时间,以及相应的实例和数据库相关的信息。

Lock Information 部分显示导致锁定超时的锁。除了内部锁名以外,还会显示锁的类型(行锁或表锁)和表信息。要确定表名称,需要使用给定的表空间 ID 和表 ID 查询编目视图 SYSCAT.TABLES:

清单 7. 将表空间 ID/表 ID 映射到表名称

SELECT TABSCHEMA, TABNAME
FROM SYSCAT.TABLES
WHERE TBSPACEID = tbspaceid AND TABLEID = tableid

发生锁定超时的应用程序在 Lock Requestor 部分中描述。这部分还包含一些更有趣的条目:用于连接到数据库的身份验证 ID、应用程序名称、请求的锁模式(以及该锁是否由一个锁升级引起)、需要锁的语句的隔离级别,以及 SQL 语句文本本身。

最后一部分 Lock Owner (Representative) 列出持有有问题的锁的应用程序。使用另一个应用程序,还可以查看身份验证 ID、应用程序名称和锁模式等信息。在一些情形下,可能不止一个应用程序持有(共享)一个锁,这会阻塞对锁的请求。在这些情形下,锁定超时报告中只会显示一个锁持有者。这就是这部分具有额外的 Representative 的原因。

在本文开始部分,我们提到了使用 db2cos 和 db2pd 进行锁定超时分析的三点不足。第一点是可用性。结合使用 db2cos 和 db2pd 的方法需要执行一些步骤来设置锁定超时监视。新的方法简单得多,只需设置 DB2_CAPTURE_LOCKTIMEOUT=ON。第二点不足是复杂性,因为它需要进行一些尝试来读取 db2pd 输出和关联不同的 db2pd 部分。使用新的方法,DB2 会生成一个报告文件,其中包含所有必要的信息。但是如何解决最后一点不足:锁定超时情形涉及的 SQL 语句的信息不够充分?目前为止,您只知道被现有的锁定阻塞的 SQL 语句,但是一点都不了解导致锁定的语句。对于这一点,新的锁定超时报告功能也提供了改进。现在看看它的工作原理。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 锁定 超时

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接