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

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

 2008-07-07 16:24:14 来源:WEB开发网   
核心提示: 如果锁定超时是由包含多个 SQL 命令的事务引起的,那么 db2pd 收集的信息可能还不足以确定导致锁定的 SQL 语句,DB2 9.5 中的锁定超时分析新方法(2), DB2 9.5 中全新的锁定超时报告功能在 DB2 9.5 的锁定超时报告功能中,引入了一个新特性,这并不是期望发生的行

如果锁定超时是由包含多个 SQL 命令的事务引起的,那么 db2pd 收集的信息可能还不足以确定导致锁定的 SQL 语句。

DB2 9.5 中全新的锁定超时报告功能

在 DB2 9.5 的锁定超时报告功能中,引入了一个新特性,使得锁定超时分析变得非常简单。要激活锁定超时报告,只需将 DB2 注册变量 DB2_CAPTURE_LOCKTIMEOUT 设置为 ON,并重新启动您的 DB2 实例:

清单 1. 激活 DB2 9.5 中的锁定超时报告

db2set DB2_CAPTURE_LOCKTIMEOUT=ON
db2stop
db2start

是的,就是这么简单。当 DB2_CAPTURE_LOCKTIMEOUT 设置为 ON 时,DB2 为每个锁定超时事件自动创建一个报告文件。报告文件保存在 DIAGPATH 数据库管理员配置(DBM CFG)参数指向的目录中,包含的信息有:锁定超时的日期和时间、存在问题的锁定、锁定请求程序和锁定拥有者。

那么 DB2 9.5 中就不使用 db2cos 脚本了吗?事实并非如此。将 db2cos 脚本和 db2pd 工具结合具有非常广泛的用途。这意味着,这些工具组合仍然可用于捕捉与 SQL 代码和 DB2 内部返回代码相关的任何 DB2 事件信息,而不仅仅是锁定超时信息。

现在看看新的 DB2 9.5 注册变量 DB2_CAPTURE_LOCKTIMEOUT 并查看一个使用 DB2 SAMPLE 数据库的锁定超时示例场景。如果 SAMPLE 数据库不存在,可以调用下面的命令创建一个:

清单 2. 创建 SAMPLE 数据库

db2sampl

只有当数据库配置(DB CFG)参数 LOCKTIMEOUT 未被设置为 -1 时,锁定超时才会发生。-1 意味着一个应用程序可能在无限期地等待一个必需的锁定,在一些情形中,这并不是期望发生的行为,但是 -1 是 LOCKTIMEOUT 的默认设置。对于此示例场景,假设 LOCKTIMEOUT 被更改为 10 秒(LOCKTIMEOUT 的值以秒为单位):

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

Tags:DB 锁定 超时

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