1.赋权给调优用户

grant ADVISOR  to xxxxxx;

2.创建调优任务

使用sql_text创建

DECLARE
my_task_name VARCHAR2 (30);
my_sqltext CLOB;
BEGIN
my_sqltext := 'select * from emp where ename= :name and DEPTNO= :deptno';
my_task_name :=
DBMS_SQLTUNE.
CREATE_TUNING_TASK (
sql_text => my_sqltext,
bind_list => sql_binds (anydata.convertvarchar2 (10),
anydata.convertnumber (2)),
user_name => 'TEST',
scope => 'COMPREHENSIVE',
time_limit => 300,
task_name => 'test_sql_tuning',
description => 'Task to tune a query on emp');
END;
/

使用sql_id进行创建

DECLARE
my_task_name VARCHAR2 (30);
BEGIN
my_task_name :=
DBMS_SQLTUNE.
CREATE_TUNING_TASK (
SQL_ID => 'ddw7j6yfnw0vz',
scope => 'COMPREHENSIVE',
time_limit => 60,
task_name => 'tunning_task_ddw7j6yfnw0vz',
description => 'Task to tune a query on ddw7j6yfnw0vz');
END;
/

3.调整优化任务

--这里以调整调优任务时间为例
BEGIN
DBMS_SQLTUNE.
set_tuning_task_parameter (task_name => 'my_sql_tuning_task',
parameter => 'TIME_LIMIT',
VALUE => 300);
END;

4.执行sql调优任务

BEGIN
DBMS_SQLTUNE.EXECUTE_TUNING_TASK (task_name => 'test_sql_tuning');
END;
/

5.查看调优任务状态

SELECT status
FROM USER_ADVISOR_TASKS
WHERE task_name = 'test_sql_tuning';

6.查看调优任务结果

SET LONG 10000
SET LONGCHUNKSIZE 1000
SET LINESIZE 100
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('test_sql_tuning')
FROM DUAL;

7.其他

查看数据库的sql_profile

SELECT * FROM DBA_SQL_PROFILES;

删除sql的sql_profile

exec dbms_sqltune.drop_sql_profile('SYS_SQLPROF_014b39f084c88000'); 

利用sql_tuning_Advisor调优sql的更多相关文章

  1. 调优SQL思路

    --调优SQL --sqlreview ->logshipping -> ag辅助副本 --查看正确的执行计划 打开实际的执行计划set statistics io on --查看错误的执 ...

  2. 我如何调优SQL Server查询

    我是个懒人,我只想干尽可能少的活.当我干活的时候我不想太多.是,你没看错,这看起来很糟糕,作为一个DBA这很不合格.但在今天的文章里,我想给你展示下,当你想对特定查询创建索引设计时,你如何把你的工作和 ...

  3. 数据库性能调优——sql语句优化(转载及整理) —— 篇2

    下面是在网上搜集的一些个人认为比较正确的调优方案,如有错误望指出,定虚心改正 (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中 ...

  4. SQL注入漏洞和SQL调优SQL注入漏洞和SQL调优

    SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“'1'='1'”这 ...

  5. MySQL 性能调优——SQL 查询优化

    如何设计最优的数据库表结构,如何建立最好的索引,以及如何扩展数据库的查询,这些对于高性能来说都是必不可少的.但是只有这些还不够,要获得良好的数据库性能,我们还要设计合理的数据库查询,如果查询设计的很糟 ...

  6. 数据库性能调优——sql语句优化(转载及整理) —— 篇1

    一.问题的提出                    在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实 ...

  7. 标量子查询调优SQL

    fxnjbmhkk4pp4 select /*+ leading (wb,sb,qw) */ 'blocker('||wb.holding_session||':'||sb.username||')- ...

  8. 十分钟释疑Oracle中“小表超慢”之谜(SQL调优/SQL优化)

    前几天,一个用户找到我,说查一个小表的时候非常慢,我问有多慢,他说最快也得半个小时才能出结果,有时干脆不出结果,我说小表多大,他说就几十兆,有点疑惑,让他帮忙获取了相关信息,一看就明白了,原来所谓的小 ...

  9. Destoon B2B 调优SQL后 生成首页仍然慢或不成功的原因

    修改php.ini文件,查找 ;date.timezone = ,把前面的分号去掉在 “=”后面加上时区. 比如:Asia/Shanghai (上海) 自动task有上面的问题 但后台生成时这样修改后 ...

随机推荐

  1. python 类和方法(面向对象)

    类和方法 name = "Jack" city = "bejing" print("my name is %S and come from %s &q ...

  2. [游记]FCS&FJOI2018滚粗记

    省冬连着省选,嗯这篇博客是省冬前就开的 省选是在情人节前一天- day0 中午早早的来了这边(找了个酒店到房间发现非常粉w 下午一个人去附中报到,然而-没有人带队签安全责任书好像不行-签到失败QAQ ...

  3. [OI笔记]基础图论/图算法

    [2017.8.29 00:00]--前几天开始好好学了几天的图论,不过这最近又突然因为一些原因(其实是晚上没睡好导致白天没精神)颓废了几天-一方面为了控制自己同时也可以当做之后noip前复习用的笔记 ...

  4. matplotlib的学11-image图片

    import matplotlib.pyplot as plt import numpy as np ''' 这一节我们讲解怎样在matplotlib中打印出图像. 这里我们打印出的是纯粹的数字,而非 ...

  5. SQL注入fuzz字典

    length Length + handler likeLiKe selectSeleCT sleepSLEEp databaseDATABASe delete having oroR asAs -~ ...

  6. Windows 系统下Vue的安装及环境搭建

    Hope to help those in need and those who use Vue for the first time. 1.获得并安装node.js.nodejs官网:https:/ ...

  7. 面试常问:Mybatis使用了哪些设计模式?

    前言 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式. Mybati ...

  8. Flask基础全套

    Flask简介 Flask是主流PythonWeb三大框架之一,其特点是短小精悍以及功能强大从而获得众多Pythoner的追捧,相比于Django它更加简单更易上手,Flask拥有非常强大的三方库,提 ...

  9. .netcore 微服务快速开发框架 Anno&Viper -分布式锁是个什么鬼

    1.什么是锁 锁是为了解决多线程或者多进程资源竞争的问题. 同一进程的多个线程资源竞争可以用lock解决. lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区. 如果其他线 ...

  10. Elasticsearch分页解决方案

    一.命令的方式做分页 1.常见的分页方式:from+size elasticsearch默认采用的分页方式是from+size的形式,但是在深度分页的情况下,这种使用方式的效率是非常低的,比如from ...