`
marb
  • 浏览: 422226 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DB2对sql语句的性能检测

 
阅读更多

因为工作中的需要,对一些sql语句引起死锁,要彻底地查一遍,即DB2对sql语句的性能检测, 不然老是down机;下面是操作步骤:

在DB2命令窗口DB2 CLP状态下:
1、启动db2数据管理器
D:\Program Files\IBM\SQLLIB\BIN>db2 db2start
DB20000I DB2START 命令成功完成。
2、链接数据库
D:\Program Files\IBM\SQLLIB\BIN>db2 connect to cndb

数据库连接信息

数据库服务器         = DB2/NT 8.1.0
SQL 授权标识        = DB2ADMIN
本地数据库别名       = CNDB

3、查看DB2监控器状态
db2 select evmonname, EVENT_MON_STATE(evmonname) as state from syscat.eventmonitors
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
举例输出为

EVMONNAME       STATE

——————————– ——–

DB2DETAILDEADLOCK      1
注:STATE=0 表明事件监视器的开关为“关闭”状态,连接数据库后,这样的事件监视器不会打开相应的数据库管理器监视器的开关;
STATE=1 表明开关为“打开”状态,连接数据库后,这样的事件监视器将打开相应的数据库管理器监视器的开关。
///////////////////////////////////////////////////////////////////////////////////////////////////////////
4:创建sql语句的监视器
D:\Program Files\IBM\SQLLIB\BIN>db2 create event monitor statmon for statements
write to file ‘f:\ibm\butone\statmon’
DB20000I SQL 命令成功完成。
////////////////////////////////////////////////////////////////////////////////////////////

使该会话一直处于打开状态,直到这些数据库活动完成。请确保f:\ibm\butone\statmon目录有足够大的空间来保存跟踪文件。
这里选择 f:\ibm\butone\statmon 目录是因为所有用户都可以访问该目录;但也可以选择使用其它目录(请确保对于该目录,DB2 有访问权限)。目录的大小取决于用户想要捕获的 SQL 语句的数目。一开始,最好设为500MB。

///////////////////////////////////////////////////////////////////////////////////////////////

5:创建目录
D:\Program Files\IBM\SQLLIB\BIN>md f:\ibm\butone\statmon

6:启动监视器
D:\Program Files\IBM\SQLLIB\BIN>db2 set event monitor statmon state 1
DB20000I SQL 命令成功完成。
/////////////////////////////////////////////////////////////////////////////////////////////////////
执行正常的数据库活动(即访问你的网站,点击任何用到数据库的页面),直到您想监控的时段结束。这一监控阶段可以是问题产生时期,也可以是通常的数据库活 动过程。在 f:\ibm\butone\statmon目录下,您应该可以看到一组扩展名为“ .evt ”的文件。这些文件就是您的事件监视器文件。
////////////////////////////////////////////////////////////////////////////////////////////////////
7:完成输出

D:\Program Files\IBM\SQLLIB\BIN>db2 flush event monitor statmon buffer
DB20000I SQL 命令成功完成。

8:关闭监视器
D:\Program Files\IBM\SQLLIB\BIN>db2 set event monitor statmon state=0
DB20000I SQL 命令成功完成。
D:\Program Files\IBM\SQLLIB\BIN>db2 terminate
DB20000I TERMINATE 命令成功完成。

9:格式化输出
D:\Program Files\IBM\SQLLIB\BIN>db2evmon -path f:\ibm\butone\statmon > f:\ibm\butone\sqltrce.txt

Reading f:\ibm\butone\statmon\00000000.EVT …

Reading f:\ibm\butone\statmon\00000001.EVT …

////////////////////////////////////////////////////////////////////////////////////////////////////////////
在单个文件 sqltrace.txt 中会有所有已捕获的 SQL 语句及其细节。
在sqltrce.txt里面就可以看到执行过的所有sql语句;注意查看sqltrce.txt中的sql语句的执行时间
////////////////////////////////////////////////////////////////////////////////////////////////////

分享到:
评论

相关推荐

    db2数据库sql语句大全

    ### DB2数据库SQL语句大全 #### 1. 强制关闭所有应用程序 ```sql db2forceapplicationall ``` 此命令用于强制关闭所有正在运行的应用程序,确保在进行维护操作之前所有的应用程序都已关闭。 #### 2. 在线备份...

    DB2 SQL语句性能分析方法

    ### DB2 SQL语句性能分析方法详解 #### 一、引言 在现代数据库管理系统(DBMS)中,SQL语句的性能优化对于提高整体应用程序的响应速度和资源利用率至关重要。IBM DB2 Universal Database (UDB) 作为一款成熟且功能...

    DB2数据库SQL注入语句

    本文将深入探讨DB2数据库中的SQL注入语句,以及如何通过这些语句来猜解数据库结构和数据。 首先,SQL注入的基础原理是通过在合法的SQL查询语句中嵌入恶意代码,以改变原本的查询逻辑。在给定的示例中,攻击者试图猜...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    标题与描述均聚焦于SQL Server, Oracle, 和DB2数据库中的SQL语句比较,这是一个对IT专业人士特别是数据库管理员(DBA)、开发人员以及对数据库技术感兴趣的人来说极为实用的主题。以下是对给定文件中提及的关键知识点...

    DB2数据库SQL注入手册1

    同时,我们还将提供一些实用的SQL语句,用于检测和防止SQL注入攻击。 检测SQL注入 在DB2数据库中,可以使用以下方法来检测SQL注入: 1. 版本信息:可以使用以下SQL语句来获取DB2数据库的版本信息: ```sql SELECT...

    DB2 UDB SQL语句的生命周期.pdf

    首先,DB2 UDB内部对SQL语句的处理是以SQL请求为单位进行的。一个SQL请求可以是静态SQL语句,也可以是动态SQL语句,其中静态SQL语句的文本在编写后不会改变,而动态SQL语句在执行时可能会有所不同。用户提交的SQL...

    DB2中常用SQL语句

    ### DB2中常用SQL语句知识点详述 #### 数据库简介 DB2是IBM公司推出的一款关系型数据库管理系统,广泛应用于各种规模的企业级环境中。为了更高效地管理和操作数据库,掌握常用的SQL语句是非常必要的。SQL...

    db2 SQL语法和语句块大全

    这些函数增强了SQL语句的表达能力和灵活性,常见的有: - 字符串函数:如`CHAR`, `VARCHAR`, `TRIM`, `UPPER`, `LOWER`, `CONCAT`, `SUBSTR`等,用于处理文本数据。 - 数学函数:如`ABS`, `MOD`, `POWER`, `RAND`...

    DB2数据库SQL语句错误代码查询

    ### DB2数据库SQL语句错误代码查询:深入解析与应对策略 #### 引言 在进行数据库操作时,遇到SQL语句错误是常有的事,尤其是对于DB2这样的大型关系型数据库管理系统而言,其丰富的功能和复杂的架构可能导致各种...

    DB2 SQL性能调优秘笈

    2. **SQL Trace记录**:通过对关键SQL语句进行跟踪记录,可以收集到详尽的性能数据,进而深入分析执行效率低下的原因。 3. **SQL Monitor监控**:利用DB2的SQL Monitor功能,可以实时监控SQL语句的执行情况,及时...

    Oracle迁移到DB2 SQL语句差异

    以下是对Oracle与DB2之间SQL语句差异的详细总结: #### 取前N条记录 **Oracle**: 使用`ROWNUM`来限制返回的行数。 ```sql SELECT * FROM TableName WHERE ROWNUM ; ``` **DB2**: 使用`FETCH FIRST`关键字来实现...

    db2查看sql执行计划

    db2expln -d <dbname> -q "<SQL语句>" [-i] [-t] [-g] ``` 其中: - `-d <dbname>`:指定要连接的数据库名称。 - `-q "<SQL语句>"`:指定要执行的SQL语句。 - `-i`:显示索引访问信息。 - `-t`:显示表扫描类型...

    DB2 日期数据库的sql语句

    ### DB2数据库中获取当前日期与时间的相关SQL语句 在DB2数据库系统中,处理日期和时间数据是一项常见的需求。对于开发人员来说,能够准确地获取和操作日期时间数据至关重要。本文将详细介绍如何在DB2数据库中使用...

    Db2 Sql语句参考

    Db2 SQL语句参考是一份全面且详细的指南,主要针对IBM的Db2数据库管理系统。Db2作为一款广泛使用的商业关系型数据库系统,SQL(结构化查询语言)是其核心操作和管理工具。这份资料可能是英文版,因此不仅提供了丰富...

    DB2查看动态SQL语句快照信息.pdf

    在DB2中,查看动态SQL语句的快照信息对于监控数据库性能、诊断问题和优化SQL查询至关重要。"DB2查看动态SQL语句快照信息"是DB2提供的一种功能,允许管理员实时查看正在执行的SQL语句及其相关统计信息。 `db2 get ...

    db2的sql调试工具-cse工具

    DB2的SQL调试工具——CSE(Command Line SQL Editor)是IBM为数据库管理员和开发人员提供的一款强大而直观的命令行界面工具,用于诊断、测试和优化SQL语句。CSE全称为Command Line Performance Tool,它允许用户在不...

Global site tag (gtag.js) - Google Analytics