使用在线重定义重构亿级分区表(r10笔记第34天)

作者: admin 分类: 公众号存档            2 次浏览 发布时间: 2016-09-26 23:25

公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2016-09-26 23:25:23 · 原文链接

在我的印象中,一直以来都会收到一封报警邮件,之前分析过,排查过,最后发现是一个遗留问题,协调开发同学,停业务维护还是有一些难度,最后不了了之了,在今天又突然想起了这件事情,觉得还是需要做点什么。
报警邮件类似下面的形式: ZABBIX-监控系统:
————————————
报警内容: Disk I/O is overloaded on 10.127.2.134_xx机房_xxxx
————————————
报警级别: PROBLEM
————————————
监控项目: CPU iowait time:17.21 %
————————————
报警时间:2016.09.26-04:05:33
这是一台备库11gR2的环境,在ADG模式下的数据变化也会单独采样,这一点非常难得。所以很看到备库的DB time情况,可以明显看到在早间的时候有很大的抖动。

而基于快照,定位到具体的语句情况下,可见SQL_ID(4rhpc838qfsmy)就是我们要攻坚的重点了。

这是什么样的一个语句呢,让我很感意外。语句竟然看起来很简单,而且看起来竟然有两个执行计划。
$ sh showsqltext.sh 4rhpc838qfsmy
select * from (select user_ip,end_time from bill_logout_cn where cn=:1 order by end_time desc) where rownum=1
而且仔细看语句还是有一点优化的味道。 这样一个语句怎么性能会很差呢。
通过awrsqrpt得到的结果如下:

对这样一个语句,存在两个执行计划,就很奇怪了。

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注