因为工作中的需要,对一些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常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句、db2常用语句
DB2 SQL语句性能分析方法
SQL_Server,Oracle,DB2数据库SQL语句比较
DB2数据库SQL注入手册1
这是一位有经验的前辈对于DB2 sql 语句总结,个人觉得很不错。
很好的东西,使用DB2必备.也可以作平常复习巩固用,免费分享给大家了……
可以试试学习一下,不可以滥用, 猜用户表数量: and 0<(SELECT count(NAME) FROM SYSIBM.SYSTABLES where CREATOR=USER)
DB2 UDB SQL语句的生命周期.pdf
SQL语句错误都可以在里边查到,偶然找到的和大家分享分享。
讲述了DB2的SQL语法,函数功能,语句块等。
DB2 怎么使用语句自动产生数据库 尤其当数据库没有测底删掉成功的时候
《DB2 SQL性能调优秘笈》不仅详尽阐述了100余条SQL语句优化的技巧和最佳实践、编写高性能SQL语句的标准和原则,以及DB2数据库性能优化的“15步法”,而且还包含大量案例,为解决各种复杂的DB2性能问题提供了解决方案...
自己总结的关于 db2数据库当前日期和前一天日期的sql语句
SQL_ServerDB2数据库SQL语句比较
DB2中SQL语句的简单用法,对于初学者的作用还是很明显的,可以了解到DB2中SQL语句的基本用法。
DB2之SQL优化浅析,详细介绍了DB2的一些SQL语句的优化。
DB2中常用的SQL语句 经典SQL语句集锦 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
DB2查看动态 sql 语句快照信息 db2 get snapshot for dynamic sql on dbname