转载声明:本文为DBA 社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA 社群(dbaplus)。 Oracle的优化工具很是丰富,大家基本都会常用到的awr,ash,addm自不必多说,还有大量的tuning包,可能在EM中去用感觉还方便一些,就是动动鼠标,所见即所得,而且sql monitor作为11g的新特性,对于调优来说也是如虎添翼。但是作为前线的工程师们,总是会有各种环境的挑战,想用图形工具还是比较困难的,优化工具虽好,但是使用起来如果不太方便,或者很多时候不能很快定位问题,就会让人感觉使不上劲,眉毛胡子一把抓。这也是我简单定制这些工具的一个动力。所谓磨刀不误砍柴工,这些强大的工具简单包装一下,就会有不一样的效果来。我基本会从下面的几个方面来说明一下我所做过的简单定制。如果能够帮助到大家,我深感荣幸。
目录
1 如果说定制的思路,那么我目前是使用了SQL,shell和PL/SQL之间做转换或者互相调用来实现。不管怎么样,能够实现定制需求就行。 2 1.1 定制awr的动力 首先来看看第一个优化工具AWR,大家在做性能问题诊断的时候,awr是不可或缺的工具,使用?/rdbms/admin/awrrpt.sql可能大家使用的多了, 有时候感觉输入参数还是有些太繁琐了。一边复制,一边在一个快照列表中翻找对应的快照,其实还是不太方便。
Instance DB Name Snap Id Snap Started Level 好不容易找到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. |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|