前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过shell脚本来查看Undo中资源消耗高的sql(r2笔记88天)

通过shell脚本来查看Undo中资源消耗高的sql(r2笔记88天)

作者头像
jeanron100
发布2018-03-14 17:21:38
7690
发布2018-03-14 17:21:38
举报

在查看undo的使用率的时候,在Undo_management为auto的时候,经常会看到undo自己在不断的伸缩扩展,自我调节。 有时候看到Undo收缩的很紧,就想知道哪些sql语句在运行,可能有哪些潜在的问题。对于在线业务系统而言,如果某一条sql语句运行时间较长,而且消耗的undo资源极高的情况下,sql语句很可能是有问题的。 可以通过如下的sql语句来简单定位,找到一个sql_id列表,可以看到每个sql_id消耗的Undo资源情况。 sqlplus -s $DB_CONN_STR@$SH_DB_SID <<EOF set pages 53 select sum(undoblks)*8/1024 total_size_MB from v\$undostat ; select *from ( select maxqueryid, round(sum(undoblks )*8/1024) consumed_size_MB from v\$undostat group by maxqueryid order by consumed_size_MB desc ) where rownum<50; EOF Exit 脚本运行结果如下:

TOTAL_SIZE_MB ------------- 70299.2188

MAXQUERYID CONSUMED_SIZE_MB ------------- ---------------- 7wx3cgjqsmnn4 39990 210ndtcx5fwgs 20738 648600hq1s1s8 5795 cjqdgd14xjwjm 1116 4ad8ypr3nf6vm 869 0my2xfpqrk6gw 597 f3pq3mdycwcd2 455 cwp9zk1y7cthy 312 ddtx15a9nzmjt 139 csrj5pnpx4wtr 72 6tshctswzutbk 49 3a4vsqkf8yaxs 49 gpzkq2kv9vhan 27 fa311gg43yjyf 21 cysbbg2h86xc6 19 fjzknc02f7019 18 aty7a3bvqfxxx 17 ftmvqxfzq1fv0 16 可以看到sql_id为7wx3cgjqsmnn4 的sql 消耗资源情况最严重,很有可能存在一定的性能问题。在查看执行计划后发现,确实如此。 具体的细则就不罗列了,此处略去几百字。 总之通过undo的使用情况来查看可能存在的性能sql也是一种方式。当然了undo的使用情况是频繁变更的,可以根据自己的情况来对undo进行一定范围内的监控,相信会有一定的收获。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档