通过监控可感知数据库运行状况,也可帮助分析问题、定位原因。 具体实现方式主要有两种:快照(Snapshot)和事件(Eventmonitor)。 快照监控好比照相机,得到的是获取快照那一刻数据库运行的各种指标;事件监控好比录像机,可记录连续一段时间内数据库的一些活动。 快照获取方式有两种:命令方式或使用SQL访问监控表函数。 前者是早期的方式,仍继续支持;后者在DB2中出现稍晚,推荐使用后者。但需要连接数据库,命令方式则不需要。 命令方式快照需要打开相关监控开关,开关控制可以是实例级别或当前会话级别。实例级别监控开关可用下面命令打开、关闭,以缓冲池活动开关为例。 db2 "UPDATE DBM CFG USING DFT_MON_BUFPOOL ON" 会话级别,只影响当前会话 db2 "UPDATE MONITOR SWITCHES USING BUFFERPOOL ON" 可用下面命令获取数据库整体运行状况。 db2 "GET SNAPSHOT FOR DB ON SAMPLE" 表函数方式,开关控制在数据库配置参数中,比如SQL语句活动状况与MON_ACT_METRICS有关,要收集SQL活动基本信息可如下更改参数。 db2 "CONNECT TO SAMPLE" db2 "UPDATE DB CFG USING MON_ACT_METRICS BASE" 通过表函数MON_GET_PKG_CACHE_STMT获取SQL相关性能数据;下面语句可列出平均执行时间排前十的SQL语句 db2 "SELECT TOTAL_ACT_TIME/NUM_EXEC_WITH_METRICS asAVG_EXE_TIME, SUBSTR(STMT_TEXT,1,40) as SQL FROM TABLE(MON_GET_PKG_CACHE_STMT (NULL, NULL, NULL, -2)) WHERE NUM_EXEC_WITH_METRICS |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|