How to use STA(sql tuning advisor)

一、手工生成Sql tuning advisor

1、SQL text format:

DECLARE

my_task_name VARCHAR2(30);

my_sqltext   CLOB;

BEGIN

my_sqltext := ‘SELECT * FROM DBA_SEGMENTS WHERE OWNER=‘‘CLIC‘‘ AND SEGMENT_TYPE=‘‘TABLE‘‘‘;

my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_text    => my_sqltext,

scope       => ‘COMPREHENSIVE‘,

time_limit  => 60,

task_name   => ‘test_sql_tuning_task1‘,

description => ‘Task to tune a query‘);

DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => ‘test_sql_tuning_task1‘);

END;

/

2、SQL id format:

DECLARE

my_task_name VARCHAR2(30);

my_sqltext   CLOB;

BEGIN

my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id => ‘b3uaak09jfaxc‘,

scope       => ‘COMPREHENSIVE‘,

time_limit  => 60,

task_name   => ‘test_sql_tuning_task1‘,

description => ‘Task to tune a query‘);

DBMS_SQLTUNE.EXECUTE_TUNING_TASK(task_name => ‘test_sql_tuning_task1‘);

END;

/

二、查看生成的STAreport:

set long 999999

set LONGCHUNKSIZE 999999

set serveroutput on size 999999

set linesize 200

select dbms_sqltune.report_tuning_task(‘test_sql_tuning_task1‘) from dual;

exec dbms_sqltune.drop_tuning_task(‘test_sql_tuning_task1‘);

删除优化任务

SQL> execdbms_sqltune.drop_tuning_task(task_name => ‘li_sql_1‘);

三、accept sql profile

接受建议的 SQL 概要文件,即创建SQL_Profle

SQL> execute dbms_sqltune.accept_sql_profile(task_name => ‘test_sql_tuning_task1‘,task_owner =>‘SYS‘, replace => TRUE);

查看创建起来的SQL_Profile信息

SQL>select a.name,a.task_id,a.createdfrom dba_sql_profiles a,dba_advisor_log bwhere a.task_id=b.task_idand b.task_name=‘test_sql_tuning_task1‘;

删除SQL_Profile

SQL>exec dbms_sqltune.drop_sql_profile(name =>‘SYS_SQLPROF_01411bdf99410002‘);

How to use STA(sql tuning advisor)

时间: 2024-08-24 07:09:27

How to use STA(sql tuning advisor)的相关文章

如何用 SQL Tuning Advisor (STA) 优化SQL语句

在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等.在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包.使用STA一定要保证优化器是CBO模式下. 执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限: SQL> create user dave identified by dave; 用户已创建. SQL> gra

[terry笔记]Oracle SQL 优化之sql tuning advisor (STA)

前言:经常可以碰到优化sql的需求,开发人员直接扔过来一个SQL让DBA优化,然后怎么办? 当然,经验丰富的DBA可以从各种方向下手,有时通过建立正确索引即可获得很好的优化效果,但是那些复杂SQL错综复杂的表关联,却让DBA们满头大汗. 如下特别介绍一种oracle官方提供的科学优化方法STA,经过实践,不敢说此特性绝对有效,但是可以开阔思路,并且从中学到许多知识,不再用“猜”的方式去创建索引了. SQL优化器SQL Tuning Advisor (STA),是oracle的sql优化补助工具.

oracle11g中SQL优化(SQL TUNING)新特性之SQL Plan Management(SPM)

1.   简单介绍 Oracle Database11gR1引进了SQL PlanManagement(简称SPM),一套同意DBA捕获和保持随意SQL语句运行计划最优的新工具,这样,限制了刷新优化器统计数据.已有应用改变.甚至数据库版本号升级带来的影响.本文帮助对SPM原理基本了解,并对其性能优化能力进行简要的说明. 2.   SPM原理和机制 Oracle 11g通过一个简单而优雅的方法实施了解决SQL计划意外恶化的一套称为SQL Plan Management(SPM)的新特点.仅仅要用户

初次使用SQL调优建议工具--SQL Tuning Advisor

在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包. 使用STA一定要保证优化器是CBO模式下.可是我觉得使用这样的工具,仅适合全然不懂SQL的调优的人群,不要觉得工具能解决好问题. SQL说究竟是表达的是一个业务,工具怎么可能理解业务.SQL调优还是要用autotrace,10046,10053,display_cursor这些优秀的工具做诊断.然后依据业务和所具备的oracle基础的知识

使用SQL Profile及SQL Tuning Advisor固定执行计划

SQL Profile就是为某一SQL语句提供除了系统统计信息.对象(表和索引等)统计信息之外的其他信息,比如运行环境.额外的更准确的统计信息,以帮助优化器为SQL语句选择更适合的执行计划. SQL Profiles可以说是Outlines的进化.Outlines能够实现的功能SQL Profiles也完全能够实现,而SQL Profiles具有Outlines不具备的优化,最重要的有二点: SQL Profiles更容易生成.更改和控制. SQL Profiles在对SQL语句的支持上做得更好

rac数据库默认sql tuning advisor,导致大量library cache lock

问题现象:客户反映周六周日固定十点钟,一个程序会特别慢(大概10分钟),平时1到2秒.查看当时的日志发现:DBMS_STATS: GATHER_STATS_JOB encountered errors.  Check the trace file.Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_j002_51847.trc:ORA-04021: timeout occurred while waiting to l

怎样使用oracle 的DBMS_SQLTUNE package 来执行 Sql Tuning Advisor 进行sql 自己主动调优

 怎样使用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        COMMA

SQL Tuning 基础概述08 - SQL Tuning Advisor

SQL调优顾问 SQL Tuning Advisor的使用案例: 1.构建测试表T SQL> conn zjy/zjy Connected. SQL> create table t as select * from dba_objects; Table created. SQL> select count(*) from t; COUNT(*) ---------- 653500 2.对“select owner, object_id, object_name from t where

Oracle调整顾问(SQL Tuning Advisor 与 SQL Access Advisor

在Oracle数据库出现性能问题时,使用Oracle本身的工具包,给出合理的调优建议是比较省力的做法. tuning advisor 是对输入的sql set的执行计划进行优化accsee advisor 是对sql set当前如果引入索引.分区的话,性能有多大的提升,给出建议.sql tuning advisor是从一方面给出的建议,access advisor可以针对一个表或者多个表的所有操作给出分析建议,比如说对于select语句他会建议增加索引,而会降低DML的性能,sql access