热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

DB29.5中的锁定超时分析新方法

回顾DB29.1中的锁定超时分析使用db2pd工具和db2cos脚本进行锁定超时分析的方法包含以下几步:使用一个特殊的DB2脚本—名为db2cos—在每

回顾 DB2 9.1 中的锁定超时分析

使用 db2pd 工具和 db2cos 脚本进行锁定超时分析的方法包含以下几步:

  1. 使用一个特殊的 DB2 脚本 — 名为 db2cos — 在每次调用 db2cos 脚本时执行一个 db2pd 调用。db2pd 调用收集与锁定、事务、应用程序、语句缓存相关的信息,并将信息存储在一个文本文件中以供分析。
  2. 要在锁定超时发生时自动执行 db2cos 脚本(以及包含的 db2pd 命令,需要使用 db2pdcfg 命令注册锁定超时事件。
  3. 在锁定超时事件中,DBA 可以检查通过自动调用 db2cos 脚本生成的 db2pd 输出。这使 DBA 能够确定发生锁定争用的原因,从而设法在以后避免发生这类情形。

要通过一个示例场景了解详细的步骤说明,请参阅 参考资料 部分中刚刚提到的文章。

尽管其中介绍的方法提供了大量信息,使得锁定超时分析比以前的 DB2 9 for Linux, Unix, and Windows 版本更加简单,但它仍然存在一些不足:

  • 使用此方法需要手动改写 db2cos 脚本并通过调用 db2pdcfg 来注册锁定超时事件。两个步骤都不复杂,但是对于新手来说可能有些困难。
  • 解释 db2pd 输出以识别锁定超时情形中涉及的应用程序和 SQL 语句,这个任务并不容易,而且需要一些尝试。
  • 如果锁定超时是由包含多个 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 数据库不存在,可以调用下面的命令创建一个:

 

 

本文转自IBM Developerworks中国

        请点击此处查看全文


推荐阅读
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
author-avatar
ndo2205188
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有