怎樣使用oracle 的DBMS_SQLTUNE package 來執行 Sql Tuning Advisor 進行sql 自己主動調優

來源:互聯網
上載者:User

標籤:style   io   os   使用   ar   for   資料   sp   div   

怎樣使用oracle 的DBMS_SQLTUNE package 來執行 Sql Tuning Advisor 進行sql 自己主動調優



1》。這裡簡單舉個範例來說明DBMS_SQLTUNE 的使用
首先現運行下某個想要調優的sql,然後擷取sqlid

SQL> select * from v$sqltext where sql_text like ‘select * from dual%‘;

ADDRESS          HASH_VALUE SQL_ID        COMMAND_TYPE      PIECE SQL_TEXT
---------------- ---------- ------------- ------------ ---------- ----------------------------------------------------------------
0000000069BC2BE0  942515969 a5ks9fhw2v9s1            3          0 select * from dual

1 row selected.


2》。執行sqltrpt 指令碼


sqltrpt 裡預設記錄兩種資料
15 Most expensive SQL in the cursor cache
15 Most expensive SQL in the workload repository
當然這裡我們也能夠手動輸入我們想要調整的其它sql



SQL> @?/rdbms/admin/sqltrpt


15 Most expensive SQL in the cursor cache
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL_ID           ELAPSED SQL_TEXT_FRAGMENT
------------- ---------- -------------------------------------------------------
b6usrg82hwsa3      97.69 call dbms_stats.gather_database_stats_job_proc (  )
6gvch1xu9ca3g      38.88 DECLARE job BINARY_INTEGER := :job; next_date DATE := :
cvn54b7yz0s8u      21.34 select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length
dbvkky621gqtr      16.22 SELECT /*+ parallel */ EXTRACTVALUE(VALUE(T), ‘/select_
3ktacv9r56b51       9.68 select owner#,name,namespace,remoteowner,linkname,p_tim
ga9j9xk5cy9s0       7.01 select /*+ index(idl_sb4$ i_idl_sb41) +*/ piece#,length
39m4sx9k63ba2       6.09 select /*+ index(idl_ub2$ i_idl_ub21) +*/ piece#,length
8swypbbr0m372       5.90 select order#,columns,types from access$ where d_obj#=:
db78fxqxwxt7r       5.62 select /*+ rule */ bucket, endpoint, col#, epvalue from
g5m0bnvyy37b1       5.38 select sql_id, plan_hash_value, bucket_id,        begin
424h0nf7bhqzd       5.02  SELECT sqlset_row(sql_id, force_matching_signature,

SQL_ID           ELAPSED SQL_TEXT_FRAGMENT
------------- ---------- -------------------------------------------------------
32hbap2vtmf53       4.31 select position#,sequence#,level#,argument,type#,charse
9s0xa5dgvuq55       4.29 DECLARE job BINARY_INTEGER := :job;  next_date TIMESTAM
d4taszv1bpc0w       4.02 DECLARE   cnt      NUMBER;   bid      NUMBER;   eid
96g93hntrzjtr       3.78 select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null

15 Most expensive SQL in the workload repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL_ID           ELAPSED
------------- ----------
SQL_TEXT_FRAGMENT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
b6usrg82hwsa3     198.03
call dbms_stats.gather_database_stats_job_proc (  )

6gvch1xu9ca3g     169.58
DECLARE job BINARY_INTEGER := :job; next_date DATE := :

1jqcpqf8fpdr8     139.13
select count(*) from dba_objects a, dba_objects b where


SQL_ID           ELAPSED
------------- ----------
SQL_TEXT_FRAGMENT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cvn54b7yz0s8u      82.99
select /*+ index(idl_ub1$ i_idl_ub11) +*/ piece#,length

f6cz4n8y72xdc      63.29
SELECT space_usage_kbytes  FROM  v$sysaux_occupants  WH

6mcpb06rctk0x      44.62
call dbms_space.auto_space_advisor_job_proc (  )


SQL_ID           ELAPSED
------------- ----------
SQL_TEXT_FRAGMENT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3ktacv9r56b51      42.79
select owner#,name,namespace,remoteowner,linkname,p_tim

12a2xbmwn5v6z      39.87
select owner, segment_name, blocks from dba_segments wh

05s9358mm6vrr      37.59
begin dbms_feature_usage_internal.exec_db_usage_samplin


SQL_ID           ELAPSED
------------- ----------
SQL_TEXT_FRAGMENT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5zruc4v6y32f9      33.12
DECLARE job BINARY_INTEGER := :job;  next_date TIMESTAM

dbvkky621gqtr      31.66
SELECT /*+ parallel */ EXTRACTVALUE(VALUE(T), ‘/select_

63n9pwutt8yzw      28.03
MERGE /*+ dynamic_sampling(ST 4) dynamic_sampling_est_c


SQL_ID           ELAPSED
------------- ----------
SQL_TEXT_FRAGMENT
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7xa8wfych4mad      27.86
SELECT SUM(blocks)  FROM x$kewx_segments  WHERE segment

8swypbbr0m372      26.81
select order#,columns,types from access$ where d_obj#=:

db78fxqxwxt7r      26.37
select /*+ rule */ bucket, endpoint, col#, epvalue from


Specify the Sql id
~~~~~~~~~~~~~~~~~~
Enter value for sqlid: a5ks9fhw2v9s1

Sql Id specified: a5ks9fhw2v9s1

Tune the sql   -----------------------------------------------這裡為sql tuning advisor 的 建議
~~~~~~~~~~~~

GENERAL INFORMATION SECTION
-------------------------------------------------------------------------------
Tuning Task Name   : TASK_219
Tuning Task Owner  : SYS
Workload Type      : Single SQL Statement
Scope              : COMPREHENSIVE
Time Limit(seconds): 1800
Completion Status  : COMPLETED
Started at         : 05/17/2014 17:07:54
Completed at       : 05/17/2014 17:07:54

-------------------------------------------------------------------------------
Schema Name: SYS

SQL ID     : a5ks9fhw2v9s1
SQL Text   : select * from dual

-------------------------------------------------------------------------------
There are no recommendations to improve the statement.

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


備忘:在生產環境下沒有測試過,不知道Sql Tuning Advisor 的效果怎樣,這個有待然後驗證下!

怎樣使用oracle 的DBMS_SQLTUNE package 來執行 Sql Tuning Advisor 進行sql 自己主動調優

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.