设为首页 收藏本站
查看: 1029|回复: 0

[经验分享] 怎样使用oracle 的DBMS_SQLTUNE package 来执行 Sql Tuning Advisor 进行sql 自己主动调优

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-13 09:46:31 | 显示全部楼层 |阅读模式
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.
-------------------------------------------------------------------------------


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-25927-1-1.html 上篇帖子: Oracle Delete与系统资源 下篇帖子: System.Data.OracleClient 需要 Oracle 客户端软件 version 8.1.7 或更高版本 package oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表