使用sqld360進行特定SQL調優分析

darren__chan發表於2015-10-23

 

 

系統效能問題通常是一個綜合性的問題,使用者對系統的反饋,通常是一個“慢”字。對調優人員,要從網路、應用伺服器、資料庫伺服器等多個層面進行定位,發現瓶頸。如果落實到資料庫層面,執行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檔案,可以發現所有分析專案。

使用sqld360進行特定SQL調優分析

 

從上面專案中,可以發現對sqld360SQL語句的分析維度:

 

ü  資料庫配置和SQL語句資訊;

ü  執行計劃和過程統計量,包括時間歷史資訊;

ü  物件統計量,基於CBO優化器基礎;

ü  SQL效能資訊;

ü  各種其他元件工具;

 

下面根據幾個主要功能模組截圖:

 

資料庫資訊:


使用sqld360進行特定SQL調優分析

 

SQL子游標執行計劃:

使用sqld360進行特定SQL調優分析

 

執行計劃分項統計:

使用sqld360進行特定SQL調優分析


 

資料歷史統計量資訊:

使用sqld360進行特定SQL調優分析

 

4、結論

SQLD360是第三方提供的SQL效能調優小工具,在進行復雜SQL處理或者求助第三方時,是一個不錯的選擇。


 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-1815850/,如需轉載,請註明出處,否則將追究法律責任。

相關文章