设为首页 收藏本站
查看: 818|回复: 0

[经验分享] DB2对sql语句的性能检测

[复制链接]

尚未签到

发表于 2016-11-14 10:08:23 | 显示全部楼层 |阅读模式
  因为工作中的需要,对一些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语句的执行时间
////////////////////////////////////////////////////////////////////////////////////////////////////

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300145-1-1.html 上篇帖子: DB2 递归 SQL 的语法 下篇帖子: IBM DB2 Cube View安装配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表