關於如何創建DB事件監視器的方法請參看如下步驟:
第一種方法:
db create event monitor statev for tablesstatementstransactionsdeadlocks write to file /home/dbinst/event maxfiles maxfilesize
or
CREATE EVENT MONITOR statev FOR STATEMENTS WRITE TO TABLE STMT(TABLE emstmtTab)
includes(rows_readrows_written_stmt_text)
注:文件大小為*k總大小為*k*大小要足夠大否則新的監控信息無法寫入監視器
db set event monitor statev state
Run the SQL statements 如:insert into test values(default)
db flush event monitor statev
dbevmon gzdb statev > outputtxt
db set event monitor statev state
第二種方法:
創建一個 SQL Event Monitor寫入文件
db create event monitor evmname for eventtype write to file directory
例db create event monitor mymonitor for deadlocksstatements write to file /dbdb/event
激活事件監視器(確保有充足的可用磁盤空間)
$> db set event monitor SQLCOST state =
讓應用程序運行
取消激活事件監視器
$> db set event monitor SQLCOST state =
使用 DB 提供的 dbevmon 工具來格式化 SQL Event Monitor 原始數據(根據 SQL 吞吐率可能需要數百兆字節的可用磁盤空間)
$> dbevmon db DBNAME evm SQLCOST > sqltracetxt
浏覽整個已格式化的文件尋找顯著大的成本數(一個耗時的過程)
$> more sqltracetxt
#利用EXPLAIN分析SQL
[] []
From:http://tw.wingwit.com/Article/program/DB2/201311/11223.html