db2 快照 SNAPSHOT

打开和关闭快照
缺省情况不打开 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

转载于:https://www.cnblogs.com/BradMiller/p/3198081.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值