首页 存档 技术 查看内容

立等可取:工具定制让Oracle优化变得更简单快捷

2018-3-30 13:00 |来自: 互联网 326 0

摘要: 转载声明:本文为DBA 社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA 社群(dbaplus)。 Oracle的优化工具很是丰富,大家基本都会常用到的awr,ash,addm自不必多说,还有大量的tuning ...



转载声明:本文为DBA 社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA 社群(dbaplus)。


Oracle的优化工具很是丰富,大家基本都会常用到的awr,ash,addm自不必多说,还有大量的tuning包,可能在EM中去用感觉还方便一些,就是动动鼠标,所见即所得,而且sql monitor作为11g的新特性,对于调优来说也是如虎添翼。但是作为前线的工程师们,总是会有各种环境的挑战,想用图形工具还是比较困难的,优化工具虽好,但是使用起来如果不太方便,或者很多时候不能很快定位问题,就会让人感觉使不上劲,眉毛胡子一把抓。这也是我简单定制这些工具的一个动力。所谓磨刀不误砍柴工,这些强大的工具简单包装一下,就会有不一样的效果来。我基本会从下面的几个方面来说明一下我所做过的简单定制。如果能够帮助到大家,我深感荣幸。


目录


  • 简单定制的思路

  • 简单定制awr

  • 简单定制ash

  • 简单定制addm

  • 简单定制OSM



1

简单定制的思路




如果说定制的思路,那么我目前是使用了SQL,shell和PL/SQL之间做转换或者互相调用来实现。不管怎么样,能够实现定制需求就行。


2

简单定制awr


1.1 定制awr的动力


首先来看看第一个优化工具AWR,大家在做性能问题诊断的时候,awr是不可或缺的工具,使用?/rdbms/admin/awrrpt.sql可能大家使用的多了, 有时候感觉输入参数还是有些太繁琐了。一边复制,一边在一个快照列表中翻找对应的快照,其实还是不太方便。


比如我想查看某一周以前的早上8点到9点的快照,生成一个awr报告来对比现在的性能情况,那么我首先得算一下大概需要多少天的快照,然后从一个冗长的快照列表中去翻找需要的快照号,
快照列表类似下面的格式。


Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
TEST01 TEST01 1274 19 Oct 2014 08:00 1
1275 19 Oct 2014 08:30 1
1276 20 Oct 2014 09:00 1

好不容易找到begin snap_id,拷贝完成,突然忘了看end snap_id,又得上下翻屏,其实,我只是想生成一个报告而已。


对于历史问题的分析如果经常需要找历史awr报告,这种情况就尤其痛苦,所以我决定改变这种状况。


1.2 awrrpt.sql报告内部的调用关系



我是从$ORACLE_HOME/rdbms/admin/awrrpt.sql开始分析的,其实这个脚本的调用关系如下图所示。


awrinput.sql 是做输入参数的校验的,

awrinpnm.sql 是做报告文件名处理的。


所以最关键的就是第三个脚本了。内容就是调用dbms_workload_repository的方法了。内容如下:


Select output from table(dbms_workload_repository.

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部