关于如何创建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
[] []