db2 快照 SNAPSHOT

系统 2335 0

打开和关闭快照
缺省情况不打开 DB2 监控,必须在连接或实例级别上进行设置。有一系列监视器开关来决定是否监控某种数据元素。还预留了一个内存堆,用于包含为监控而存储的信息。
1:在instance级别上设置监视器开关
在实例级别上设置监视器开关会影响连接到该实例中任何数据库的所有用户。
下面是监视器开关
DFT_MON_STMT:语句监视器(用于动态 SQL)
DFT_MON_TABLE:表监视器
DFT_MON_LOCK:锁监视器
DFT_MON_BUFPOOL:缓冲池监视器
DFT_MON_SORT:排序监视器
DFT_MON_UOW:工作单元信息
DFT_MON_TIMESTAMP:跟踪时间戳记信息
这些开关的值存储在数据库管理器配置信息中(都是联机配置参数)
例:db2 update dbm cfg using DFT_MON_LOCK ON

2:在应用程序级别上设置监视器开关
也可以在应用程序级别上设置监视器开关;用这种方法设置开关只适用于特定的应用程序。如果您在命令提示符或命令窗口中使用下面列出的方法,所做的更改将只适用于这个特定的提示符窗口。
开关名称:
Bufferpool
Lock
Sort
Statement
Table
Timestamp
UOW
列出开关:
db2 get monitor switches
设置开关:
db2 update monitor switches using switchName [ON | OFF]
复位开关
可将监视器开关的所有值复位成空值或 0:
db2 reset monitor [ALL | for database databaseName] [at dbpartitionnum partitionNum]
使用动态 SQL 快照来查找执行速度较慢的 SQL
可以用它来查找数据库中最耗时的 SQL 语句:
SELECT stmt_text, total_exec_time, num_executions FROM TABLE( SNAPSHOT_DYN_SQL('DREW_DB', -1)) as dynSnapTab ORDER BY total_exec_time desc FETCH FIRST 1 ROW ONLY

第二个示例查找平均执行时间最长的五条 SQL 语句:
SELECT stmt_text, CASE WHEN num_executions = 0 THEN 0 ELSE (total_exec_time / num_executions) END avgExecTime,num_executions FROM TABLE( SNAPSHOT_DYN_SQL('DREW_DB', -1)) as dynSnapTab ORDER BY avgExecTime desc FETCH FIRST 5 ROWS ONLY

db2 快照 SNAPSHOT


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论