Posted on 2009-07-23 23:20
Prayer 閱讀(571)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
DB2
由于項(xiàng)目中數(shù)據(jù)庫數(shù)據(jù)被莫名修改,曾經(jīng)想過db2能不能對(duì)數(shù)據(jù)操作進(jìn)行跟蹤,包括知道執(zhí)行的語句是什么,是誰執(zhí)行的。今天特意google了一下:
/***********************
DB2中跟蹤SQL
************************/
1.創(chuàng)建事件監(jiān)視器
1)查看監(jiān)視器選項(xiàng)
db2 get monitor switches
2)修改語句跟蹤選項(xiàng)
db2 update monitor switches using statement on
3)創(chuàng)建語句監(jiān)視器
db2 create event monitor state_event for statements write to file 'f:\test\'
4)激活監(jiān)視器
db2 set event monitor state_event state=1
5)運(yùn)行應(yīng)用程序
eg:select * from staff
6)完成輸出
db2 flush event monitor state_event buffer
7)關(guān)閉監(jiān)視器
db2 set event monitor state_event state=0
8)格式化結(jié)果
db2evmon -path f:\test > sql.txt
現(xiàn)在可以在當(dāng)前所在路徑的sql.txt文件中查看跟蹤結(jié)果了,其他監(jiān)視選項(xiàng)同理。
在sql.txt中可以看到每一個(gè)sql語句的應(yīng)用程序標(biāo)識(shí)(Appl Id)、語句內(nèi)容、Bufferpool的使用情況。并且從語句的Prepare、Open、Describe、Close每個(gè)階段的執(zhí)行時(shí)間都有記錄。
注:應(yīng)用程序標(biāo)識(shí)中前8位是客戶機(jī)機(jī)器 IP
http://www.ibm.com/developerworks/cn/db2/library/techarticles/0302stolze/0302stolze.html