1.AWR报告

  1.1 awr是什么?

  它是关注于数据库整体性能状况,类比于我们去医院看病的体检报告,只是用一些指标对数据库做了一个判断。

  1.2awr怎么获取

  awr报告的获取有两种方式:

  一、直接获取

    命令:"@?/rdbms/admin/awrrpt.sql"

    

    上图可看出:当前使用的数据库实例是orcl,然后输入需要离最近天数的数据库的数据,直接按回车是将数据库所有的信息

    

    上图所示就是查看的上次我数据库运行的一天的snapid以及started时间

    然后再进行输入对应的上面的开始断点和结束断点

    

    此时就生成了名字为awrrpt_1_265_269.html的html格式的文本文件,文件生成路径在当前路径(你进入sqlplus操作时的当前路径);默认如下图:

    

    打开这个文件的内容如下:

    

    内容很多,可以自行进行操作

    对于awr生成的报告主要关注以下五个核心点:

    一、load profile

    load_profile(系统指示性能的总参数,例如:每秒产生的事务数,正常情况200上下,超一千表示非常繁忙,对应的Redo size中每个事务产生的日志长度也可以在一定程度上看出是                 每次分别提交还是批量提交)

    我这个是自己本子上的oracle很久没使用过了,如需实验可以在网上找资料这个应该很多,在这里主要想说明的是对于这个指标我们的关注点

    二、efficiency percentages(命中率指标)

    这里指的是SGA区的命中率,如果在oltp中低于90%,可能存在未使用绑定变量

    可以参照这个网址进行查看:http://blog.itpub.net/23002319/viewspace-1328016/

    三、top 5 events(可以清楚的看到当前系统受阻塞影响最大的前五个事件)

    主要看的是,前五个时间中暂用的db时间

    四、SQL Statistics

    这里面可以看到对应的每个sql的详细信息,可以根据每个sql的执行时长,最简单的方法就是直接优化那些执行时间最长的sql

    五、segment_statistics

    这个可以清楚的对于繁忙的sql落在那个段表进行很好的定位和判断,从而进行优化

  二、命令获取   

select output from table(dbms_workload_repository.awr_report_html
(v_dbid, v_instance_number,v_min_snap_id,v_max_snap_id
));

  对应的参数含义如下:

  v_dbid:数据库主机标识符(可通过select sys_guid() from dual获取

  v_instance_number:标识实例

  V_min_snap_id:设置的初始断点时间(断点之间的范围可以通过输入命令后,在输入num_day时直接回车,通过查看snapid可以确定直接需要的时间段之间的awr报告)

  V_min_snap_id:设置的初始断点时间(断点之间的范围可以通过输入命令后,在输入num_day时直接回车,通过查看snapid可以确定直接需要的时间段之间的awr报告)

  生成的报告文件都在启动sql/plus时的当前路径下

二、ASH报告

  ASH是针对数据库中的等待事件与那些Sql具体对应,相对于awr更加的具体

  ash的获取同样有两种方式:

  1.直接获取

  "@?/rdbms/admin/ashrpt.sql"

  按照提示对应的格式输入对应需要取样的开始时间和结束时间即可生成

  ash表需要关注的点:

  就是看sql的执行和那些等待事件向关联:sql text和event

  

  2.命令获取

  select output from table(dbms_workload_repository.ash_report_html(dbid,inst_num,l_btime,l_etime));

  三、ADDM

  Oracle给出的一些建议:包含整体的建议和局部的建议

  报告的获取:

  直接获取:"@?/rdbms/admin/addmrpt.sql"

  四、AWRDD

  针对不同时段的性能的一个比对报告:比如比较今天9点到10点和昨天9点到10点的的loadfile的数据,可以根据这个来判断是否在这个时间段有什么特别的事情发生

  获取命令:@?/rdbms/admin/awrddrpt.sql

  五、AWRSQ

  具体某个Sql的执行计划,相对于之前的报告可以看到更多更细的东西,可以保存多个执行。

  直接获取命令:@?/rdbms/admin/awrsqrpt.sql

sql整体优化的五种工具的更多相关文章

  1. 善用性能工具进行SQL整体优化

    SQL优化是一个复杂的工程,首先要讲究从整体到局部.今天我们首先学习关于数据库整体优化都有哪些性能工具,接着分析这些工具的特点,并结合案例进行探索,最后再进行总结和思考. 总体学习思路如下图所示: 都 ...

  2. SQL高级优化(五)之执行计划

    一.explain 执行计划:在MySQL中可以通过explain关键字模拟优化器执行SQL语句,从而知道MySQL是如何处理SQL语句的. explain:MySQL执行计划的工具,查看MySQL如 ...

  3. JAVA性能优化的五种方式

    一,JAVA性能优化之设计优化 设计优化处于性能优化手段的上层.它往往须要在软件开发之前进行.在软件开发之前,系统架构师应该就评估系统可能存在的各种潜在问题和技术难点,并给出合理的设计方案,因为软件设 ...

  4. sql语句优化的30种方法

    转载于:https://www.cnblogs.com/Little-Li/p/8031295.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的 ...

  5. 深入浅出数据仓库中SQL性能优化之Hive篇

    转自:http://www.csdn.net/article/2015-01-13/2823530 一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,R ...

  6. 【SQL系列】深入浅出数据仓库中SQL性能优化之Hive篇

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SQL系列]深入浅出数据仓库中SQL性能优化之 ...

  7. 小米正式开源 SQL 智能优化与改写工具 SOAR

    近日,小米正式宣布开源 SOAR. 截至今日,该项目已经获得了 350 个「star」以及 44 个「fork」(GitHub项目地址:https://github.com/XiaoMi/soar) ...

  8. 503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关的结果后返回的一种状态,需要优化网站的时候通常需要制作404出错页以便网站整体优化。

    goldCat1 商城 消息 | 百度首页 新闻网页贴吧知道音乐图片视频地图百科文库 进入词条搜索词条帮助 近期有不法分子冒充官方收费编辑词条,百度百科严正声明:百科词条人人可编辑,词条创建和修改均免 ...

  9. 如何剔掉 sql 语句中的尾巴,我用 C# 苦思了五种办法

    一:背景 1. 讲故事 这几天都在修复bug真的太忙了,期间也遇到了一个挺有趣bug,和大家分享一下,这是一块sql挺复杂的报表相关业务,不知道哪一位大佬在错综复杂的 嵌套 + 平行 if判断中sql ...

随机推荐

  1. shell中输出日期的一个函数

    开始 function T () { date '+%F %T.%N' } 结束

  2. sublime lincense for linux

    sublime lincense for linux Sublime Text 3.x (after Build 3133) —– BEGIN LICENSE —–TwitterInc200 User ...

  3. sublime开启vim模式

    sublime自带vim模式Vintage,只是默认是ignore状态,因此如果按Esc键没有进入vim模式,只需要按ctrl+shift+P进入命令模式,键入Enable package,输入Vim ...

  4. Django框架详细介绍---ORM相关操作

    Django ORM相关操作 官方文档: https://docs.djangoproject.com/en/2.0/ref/models/querysets/ 1.必须掌握的十三个方法 <1& ...

  5. Kubernetes有状态应用管理——PetSet

    目录贴:Kubernetes学习系列 1.介绍 在Kubernetes中,大多数的Pod管理都是基于无状态.一次性的理念.例如Replication Controller,它只是简单的保证可提供服务的 ...

  6. flask 定义数据库关系(多对多)

    多对多 我们使用学生和老师来演示多对多关系:每个学生有多个老师,每个老师有多个学生.多对多关系示意图如下: 在实例程序中,Student类表示学生,Teacher类表示老师.在这两个模型之间建立多对多 ...

  7. arcgis 制图-插值图

    1.生成插值图 插值工具: 方案1:Spatial Analyst 工具-->插值分析-->反距离权重法 (IDW) + Spatial Analyst 工具-->提取分析--> ...

  8. Why Choose MB SD C5 with Engineer Software

    MB SD C5 with engineer software performed good and now is released. Unlike the old clone C5 which us ...

  9. random模块写的验证码

    import randomabc=''for i in range(4):    a=random.randrange(0,4)    if i != a:        b=chr(random.r ...

  10. No Directionality widget found

    The problem is not that you have not wrapped your widgets into MaterialApp. As the documentation say ...