ITPub博客

首页 > 数据库 > Oracle > 使用sqld360进行特定SQL调优分析

使用sqld360进行特定SQL调优分析

Oracle 作者:lhrbest 时间:2015-06-18 16:05:59 1 删除 编辑

 

 

系统性能问题通常是一个综合性的问题,用户对系统的反馈,通常是一个“慢”字。对调优人员,要从网络、应用服务器、数据库服务器等多个层面进行定位,发现瓶颈。如果落实到数据库层面,执行SQL速度慢就是开发运维DBA所需要关注的范畴。

对系统SQL的调优,一般而言不是“一锤子”买卖。而且,性能问题SQL也都遵循“二八原则”,即百分之八十的性能问题,是由百分之二十的SQL语句引起的。所以,每次集中处理两到三个SQL,之后看效果再决定下一步处理的方式,是比较合适的做法。

特定SQL语句调优,是我们进行调优的重点。一个SQL语句,从执行计划、统计量、实际消耗情况、历史执行情况到CBO计算,都需要综合进行考量。如何“一键式”进行相关信息收集,是本篇要解决的问题。sqld360是一个开源数据收集软件,在不安装任何组件的情况下,可以针对一个特定SQL语句进行数据收集,提供进一步分析处理。

 

1、软件下载安装

 

sqld360是一个完全开源软件,可以从官方网站https://github.com/mauropagano/sqld360进行下载。下载介质是一个单独的zip文件。

上传到服务器上,进行解压。

 

 

[root@localhost ~]# cd /

[root@localhost /]# mkdir sql360d

 

[root@localhost /]# cd sql360d/

[root@localhost sql360d]# ls -l

total 188

-rw-r--r--. 1 root root 189858 Jun 17 14:13 sqld360-master.zip

 

 

使用unzip进行解压,之后更改权限。

 

 

[root@localhost sql360d]# unzip sqld360-master.zip

Archive:  sqld360-master.zip

9c19c022a6439ed729335d156a2a332eb129c5a1

   creating: sqld360-master/

  inflating: sqld360-master/README.txt 

   creating: sqld360-master/js/

  inflating: sqld360-master/js/SQLd360_img.jpg 

  (篇幅原因,有省略……

  inflating: sqld360-master/sql/sqld360_9h_one_org_chart.sql 

  inflating: sqld360-master/sqld360.sql 

[root@localhost sql360d]#

 

[root@localhost sql360d]# cd ..

[root@localhost /]# chown -R oracle:oinstall sql360d/

[root@localhost /]# ls -l | grep sql360d/

[root@localhost /]# ls -l | grep sql360d

drwxr-xr-x.   3 oracle oinstall  4096 Jun 17 14:13 sql360d

 

 

2、执行脚本生成报告包

 

进入sqld360文件夹,执行sqlplus脚本。

 

 

[oracle@localhost ~]$ cd /sql360d/sqld360-master

[oracle@localhost sqld360-master]$ ls -l

total 48

drwxr-xr-x. 2 oracle oinstall  4096 Jun  8 09:14 js

-rwxr-xr-x. 1 oracle oinstall 28942 Jun  8 09:14 license.txt

-rw-r--r--. 1 oracle oinstall  2223 Jun  8 09:14 README.txt

drwxr-xr-x. 2 oracle oinstall  4096 Jun  8 09:14 sql

-rw-r--r--. 1 oracle oinstall  3361 Jun  8 09:14 sqld360.sql

 

 

如果需要分析一个sql语句,首先需要从v$sqlarea或者AWR报告中找到sql_id标示,之后以这个ID作为标示进行报告生成。

 

 

[oracle@localhost sqld360-master]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.4.0 Production on Wed Jun 17 14:21:27 2015

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL> @sqld360.sql 41hkr3jy35zn6 T

(若干输出)

 

     6579  06-17-2015 14:25   00287_sqld360_sicsdb_41hkr3jy35zn6_5_sql_monitor_reports_sqlmon.zip

    38246  06-17-2015 14:25   00288_sqld360_sicsdb_41hkr3jy35zn6_5_tcb_testcase_tcb.zip

    22621  06-17-2015 14:25   00289_sqld360_sicsdb_41hkr3jy35zn6_5_raw_data.html

    87420  06-17-2015 14:25   00290_sqld360_sicsdb_41hkr3jy35zn6_5_raw_data.txt

    75786  06-17-2015 14:25   00291_sqld360_sicsdb_41hkr3jy35zn6_5_raw_data.csv

    10240  06-17-2015 14:25   00292_sqld360_sicsdb_41hkr3jy35zn6_5_eadam_ash.tar

     7096  06-17-2015 14:25   99999_sqld360_41hkr3jy35zn6_drivers.zip

  1244946  06-17-2015 14:25   00005_sqld360_sicsdb_41hkr3jy35zn6_alert_sicsdb.log

  2519140  06-17-2015 14:25   00003_sqld360_sicsdb_41hkr3jy35zn6_tkprof_sort.txt

      139  06-17-2015 14:25   00000_readme_first.txt

---------                     -------

 27165029                     296 files

 

 

在目录中,会生成压缩包文件。

 

 

[oracle@localhost sqld360-master]$ ls -l

total 1420

drwxr-xr-x. 2 oracle oinstall    4096 Jun  8 09:14 js

-rwxr-xr-x. 1 oracle oinstall   28942 Jun  8 09:14 license.txt

-rw-r--r--. 1 oracle oinstall    2223 Jun  8 09:14 README.txt

drwxr-xr-x. 2 oracle oinstall    4096 Jun  8 09:14 sql

-rw-r--r--. 1 oracle oinstall 1402369 Jun 17 14:25 sqld360_sicsdb_41hkr3jy35zn6_localhost_20150617_1424.zip

-rw-r--r--. 1 oracle oinstall    3361 Jun  8 09:14 sqld360.sql

 

 

3、结果显示

 

加压之后,会发现是一系列htmltxtcvs文件构成的文件包。从其中的readme.txt,可以发现初始文件。

 

 

1. Unzip sqld360_sicsdb_41hkr3jy35zn6_localhost_20150617_1424.zip into a directory

2. Review 00001_sqld360_sicsdb_41hkr3jy35zn6_index.html

 

 

打开index.html文件,可以发现所有分析项目。



 

从上面项目中,可以发现对sqld360SQL语句的分析维度:

 

ü  数据库配置和SQL语句信息;

ü  执行计划和过程统计量,包括时间历史信息;

ü  对象统计量,基于CBO优化器基础;

ü  SQL性能信息;

ü  各种其他组件工具;

 

下面根据几个主要功能模块截图:

 

数据库信息:




 

SQL子游标执行计划:



 

执行计划分项统计:




 

数据历史统计量信息:



 

4、结论

SQLD360是第三方提供的SQL性能调优小工具,在进行复杂SQL处理或者求助第三方时,是一个不错的选择。


 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-1704097/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
QQ:646634621| 网名:小麦苗| 微信公众号:xiaomaimiaolhr| 11g OCM| QQ群:618766405 微信群:私聊| 《数据库笔试面试宝典》作者| OCP、OCM、高可用(RAC+DG+OGG)网络班开讲啦,有需要的小伙伴可以私聊我。

注册时间:2012-09-23

  • 博文量
    1367
  • 访问量
    8351792