DB2提供了一个创建事件监听的功能,用于检查数据库的日常运行情况,这里给出一个对于日常开发我认为最有用的监听——STATEMENT,它的好处就是不必逐行逐行的读代码,直接从应用的操作所产生的数据变化来理解业务。
-- 连接数据库
db2 "connect to 【dbname】"
-- 创建事件监听
db2 "create event monitor stmtmon for statements write to file '/home/【login_username】/'"
-- 启动事件监听
db2 "set event monitor stmtmon state=1"
--
-- 切换至应用程序进行数据库操作
--
-- 停止事件监听
db2 "set event monitor stmtmon state=0"
-- 删除事件监听
db2 "drop event monitor stmtmon"
-- 结束连接
db2 "terminate"
-- 整理监听内容
db2evmon -db 【dbname】 -evm stmtmon </home/【login_username】/sqltrace.out
-- 去除SELECT语句
grep -E 'Text +:' ./sqltrace | grep -v -i 'SELECT' | uniq > dml.sql.out
下面是一小部分输出内容:
Text : UPDATE xxx SET NOTREAD=1 WHERE id=730927
Text : INSERT INTO yyy(asign_id, taskcause, comments, submitter) VALUES(730927, 1, '', 93)
Text : UPDATE xxx SET NOTREAD=1 WHERE id=730927
Text : UPDATE xyz SET needappr=2178.38 WHERE idtask = 730927
在启动监听的时候,最常见的就是目录路径与读写权限的问题,以下内容可供参考,根据错误返回码做对应调整即可。
PS:
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=/com.ibm.db2.luw.messages.sql.doc/doc/msql01614n.html
SQL1614N
An I/O error occurred when activating an event monitor. Reason code = reason-code.
Explanation
An I/O error was detected when an event monitor was activated. >reason-code< is one of the following:
1
Encountered an unknown event monitor target type.
2
The Event monitor target path was not found.
3
Access to event monitor target path was denied.
4
Event monitor target path is not the name of a pipe.
5
No process has opened the event monitor target pipe for reading.
6
Encountered an unexpected I/O error.
User response
Where possible, fix the problem described by the reason code, and resubmit the SET EVENT MONITOR statement.
sqlcode: -1614
sqlstate: 58030
参考文档:Tuning DB2 Universal Database Using the Statement Event Monitor
分享到:
相关推荐
本章节将详细介绍如何通过DB2 UDB的语句事件监测器来监控和分析SQL语句的执行情况。以下步骤展示了整个过程: 1. **连接数据库** 首先,需要确保已连接到目标数据库。可以通过DB2命令行工具实现这一操作: ```...
结合具体的业务场景,通过监控SQL执行,我们可以制定相应的性能优化策略,如调整数据库参数、优化存储过程、重构SQL语句等,实现DB2性能的持续改进。 总的来说,通过对DB2中的SQL执行进行监控,我们可以全面了解...
- **权限要求**:为了执行事件监控,用户同样需要具有相应的权限。 #### 使用事件监控 - **事件定义**:用户可以通过定义特定的事件来捕捉感兴趣的数据。 - **事件触发**:当预定义的事件发生时,系统将自动记录...
5. **监控和分析**:使用DB2的性能监控工具,如MON_GET_PROCEDURE和MON_GET_CALL,来分析存储过程的执行情况,找出瓶颈并进行优化。 6. **代码优化**:避免冗余的计算和无效的数据库访问,确保SQL语句简洁高效。 7...
为了更详细地了解锁的情况,可以配置监控开关以开启锁监控功能。步骤如下: 1. **连接到数据库**: ```sql db2 connect to ``` 2. **获取当前监控开关设置**: ```sql db2 get dbm monitor switches ``` 3...
- `ELAPSED_TIME_MIN`表示SQL语句执行的总时间(以分钟为单位)。 7. **查看其他常用管理视图**: - 除了上述两个视图外,还可以查看以下管理视图来获得更全面的性能指标: - `APPLICATIONS`:应用程序连接信息...
这些快照能够帮助我们深入了解应用执行情况、表的读写效率以及动态SQL语句的执行效率等。 #### 关键性能指标(KPI) 在进行性能调优的过程中,还需要关注一些关键性能指标(KPI),这些指标能够帮助我们评估系统的...
3. **SQL Monitor监控**:利用DB2的SQL Monitor功能,可以实时监控SQL语句的执行情况,及时发现并解决性能瓶颈。 #### 二、索引策略与优化 索引对于提高SQL查询性能至关重要。合理设计和维护索引可以显著加快查询...
4. **Health Monitor/Health Center**:这是一个持续监控DB2关键性能指标的工具,例如内存使用、磁盘I/O和CPU利用率。当检测到潜在问题时,它会提供警告和建议,帮助管理员预防性能下降或系统故障。 5. **db2pd**:...
2. **资源使用情况跟踪**:监控CPU使用率、内存使用量等系统资源利用情况。 3. **日志记录与分析**:记录系统运行日志,并支持对这些日志进行分析,以便于故障排查。 4. **预警机制**:当检测到异常情况时,能够自动...
《LoadRunner监控DB2数据库详解》 在性能测试领域,LoadRunner是一款强大的负载测试工具,能够模拟大量用户并发操作,以此来评估系统性能。当我们的应用涉及到DB2数据库时,LoadRunner提供了监控DB2数据库的功能,...
- **SQL Trace**:跟踪SQL执行情况,包括执行时间、资源消耗等信息,对优化SQL语句非常重要。 **2.2 最佳实践**: - **调整缓冲池大小**:根据实际工作负载调整缓冲池大小,可以显著提高数据访问速度。 - **优化...
- **DB2 Explain**:利用DB2 Explain工具分析SQL语句的执行计划,查看是否存在不必要的索引扫描或全表扫描等情况。 - **SQL Event Monitor**:使用SQL Event Monitor收集SQL语句的执行统计信息,包括执行时间、读写...
5.2 事件监视器及监控案例 5.3 利用表函数监控 5.4 性能管理视图及案例 5.5 db2pd 5.6 db2mtrk及监控案例 5.7 本章小结 第6章 数据库配置参数调整 6.1 数据库配置参数 6.2 监控和调优实例(DBM)配置参数 6.3 监控和...
通过执行`db2 "update monitor switches using lock ON sort ON bufferpool ON uowON table ON statement ON"`命令,您可以确保收集到关于锁、排序、缓冲池、事务和语句执行的相关信息,这对于诊断性能瓶颈非常有用...