Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

使用事件监控器 监控SQL语句

Posted on 2009-07-23 23:20 Prayer 阅读(494) 评论(0)  编辑 收藏 引用 所属分类: DB2
由于项目中数据库数据被莫名修改,曾经想过db2能不能对数据操作进行跟踪,包括知道执行的语句是什么,是谁执行的。今天特意google了一下:

/***********************
DB2中跟踪SQL
************************/
1.创建事件监视器
1)查看监视器选项
    db2 get monitor switches
2)修改语句跟踪选项
    db2 update monitor switches using statement on
3)创建语句监视器
    db2 create event monitor state_event for statements write to file 'f:\test\'
4)激活监视器
    db2 set event monitor state_event state=1
5)运行应用程序
    eg:select * from staff
6)完成输出
db2 flush event monitor state_event buffer
7)关闭监视器
    db2 set event monitor state_event state=0
8)格式化结果
    db2evmon -path f:\test > sql.txt

现在可以在当前所在路径的sql.txt文件中查看跟踪结果了,其他监视选项同理。
在sql.txt中可以看到每一个sql语句的应用程序标识(Appl Id)、语句内容、Bufferpool的使用情况。并且从语句的Prepare、Open、Describe、Close每个阶段的执行时间都有记录。
注:应用程序标识中前8位是客户机机器 IP
http://www.ibm.com/developerworks/cn/db2/library/techarticles/0302stolze/0302stolze.html


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理