Utilize Sql Tuning Advisor from Script
beginDBMS_SQLTUNE.drop_tuning_task('&task_name');
end;
/DECLAREmy_task_name VARCHAR2(30);my_sqltext CLOB;my_sqlid varchar2(30);
BEGINmy_sqlid := '&sqlid';my_task_name := dbms_sqltune.create_tuning_task(sql_id => my_sqlid,scope => 'COMPREHENSIVE',time_limit => 300,task_name => '&task_name',description => 'comment');
END;
/BEGINdbms_sqltune.execute_tuning_task(task_name => '&task_name');
END;
/SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = '&task_name';SET LONG 10000
SET LONGCHUNKSIZE 10000
SET LINESIZE 100
set pages 60SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('&task_name') FROM DUAL;
具体使用示例:
SQL> beginDBMS_SQLTUNE.drop_tuning_task('&task_name');
end;
/
Enter value for task_name: newtask
old 3: DBMS_SQLTUNE.drop_tuning_task('&task_name');
new 3: DBMS_SQLTUNE.drop_tuning_task('newtask');
begin
*
ERROR at line 1:
ORA-13605: The specified task or object newtask does not exist for the current
user.
ORA-06512: at "SYS.PRVT_ADVISOR", line 2307
ORA-06512: at "SYS.DBMS_ADVISOR", line 172
ORA-06512: at "SYS.DBMS_SQLTUNE", line 751
ORA-06512: at line 3SQL> DECLAREmy_task_name VARCHAR2(30);my_sqltext CLOB;my_sqlid varchar2(30);
BEGINmy_sqlid := '&sqlid';my_task_name := dbms_sqltune.create_tuning_task(sql_id => my_sqlid,scope => 'COMPREHENSIVE',time_limit => 300,task_name => '&task_name',description => 'comment');
END;
/
Enter value for sqlid: 17usubxchdf2w
old 11: my_sqlid := '&sqlid';
new 11: my_sqlid := '17usubxchdf2w';
Enter value for task_name: new_task
old 19: task_name => '&task_name',
new 19: task_name => 'new_task',SQL> BEGINdbms_sqltune.execute_tuning_task(task_name => '&task_name');
END;
/
Enter value for task_name: new_task
old 3: dbms_sqltune.execute_tuning_task(task_name => '&task_name');
new 3: dbms_sqltune.execute_tuning_task(task_name => 'new_task');PL/SQL procedure successfully completed.SQL> SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = '&task_name';
Enter value for task_name: new_task
old 1: SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = '&task_name'
new 1: SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'new_task'STATUS
-----------
COMPLETEDSQL> SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('&task_name') FROM DUAL;
Enter value for task_name: new_task
old 1: SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('&task_name') FROM DUAL
new 1: SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('new_task') FROM DUALDBMS_SQLTUNE.REPORT_TUNING_TASK('NEW_TASK')
----------------------------------------------------------------------------------------------------
GENERAL INFORMATION SECTION
-------------------------------------------------------------------------------
Tuning Task Name : new_task
Tuning Task Owner : SYS
Workload Type : Single SQL Statement
Scope : COMPREHENSIVE
Time Limit(seconds): 300
Completion Status : COMPLETED
Started at : 03/25/2011 00:14:41
Completed at : 03/25/2011 00:14:45-------------------------------------------------------------------------------
Schema Name: SYS
SQL ID : 17usubxchdf2w
SQL Text : select count(t1) from hashtab-------------------------------------------------------------------------------
FINDINGS SECTION (1 finding)
-------------------------------------------------------------------------------1- Statistics Finding
---------------------Table "SYS"."HASHTAB" was not analyzed.Recommendation--------------- Consider collecting optimizer statistics for this table.execute dbms_stats.gather_table_stats(ownname => 'SYS', tabname =>'HASHTAB', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,method_opt => 'FOR ALL COLUMNS SIZE AUTO');Rationale---------The optimizer requires up-to-date statistics for the table in order toselect a good execution plan.-------------------------------------------------------------------------------
EXPLAIN PLANS SECTION
-------------------------------------------------------------------------------1- Original
-----------
Plan hash value: 485915006------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 2 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 13 | | |
| 2 | TABLE ACCESS FULL| HASHTAB | 102 | 1326 | 2 (0)| 00:00:01 |
------------------------------------------------------------------------------
转载于:https://blog.51cto.com/maclean/1277736
相关文章:

Isight 命令行运行任务
说明书参考:https://abaqus-docs.mit.edu/2017/English/DSSIMULIA_Established.htm 不一定对版本。但是大部分还可以。 不对的可以在命令里敲help 首先,说明书里的命令行客户端默认加入环境变量。 实测win/linux安装没有环境变量。可以自行添加也可找到目录自行运行…

【二级java】软件工程基础
1、软件工程三要素 : 方法 工具 过程 2、软件工程中根本上来说是为了研究软件开发技术 3、软件工程的定义 : 应用于计算机软件的定义、开发维护的一整套方法、工具、文档、实践标准和工序 4、软件危机的表现 : 软件的生命周期:…

ASP.NET WebAPI 11 参数验证
在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性. ModelState 在ApiController中一个ModelState属性用来获取参数验证结果. public abstract class ApiController : IHttpController, IDisposable{public ModelStateDictionary …

C#WinForm的线程及Invoke应用(转)
C#多线程异步访问winform中控件 http://zwkufo.blog.163.com/blog/static/25882512009111453957552/?fromdm&fromSearch&isFromSearchEngineyes 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传…

C/C++语言点滴
C/C学习笔记 1.C语言中使用关键字sizeof来求数组长度 char temp[3]; int tempLen sizeof(temp)/sizeof(char); strlen只能用来求字符串长度 2.交换两个数据的几种方法及其区别 方法一:值传递,在main函数中并未改变a,b 的值,虽然在swap中a…

[C#][EF] 添加表添加不进来
确认此表有没有主键,没有主键时就会这样。转载于:https://www.cnblogs.com/z5337/p/8891230.html

DNN 数据访问策略 (转)
经过几天断断续续的努力,这篇文章终于翻译结束,文章主要讲了DNN的数据访问策略,对于了解系统整体上是如何工作的有一定的帮助,希望能给dnn的初学者一些有用的信息。由于翻译的匆忙水平有限,错误或不当之处在所难免&…

Windows程序设计学习笔记(1):一个简单的windows程序
《Windows程序设计》(第五版)(美Charles Petzold著) 1 #include<windows.h>2 3 LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);4 5 int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdline,int iCmdShow) 6 //第一个参数是实例句柄&#…

【二级java】模拟题知识点总结
算法的复杂度 : (一)时间复杂度 : 执行算法所需要的计算工作量,与计算机的运行速度和存储空间无关 (二)空间复杂度 : 算法在运行过程中临时占用的存储空间的大小。 零散知识点 &am…

虚拟化市场成熟
调查称虚拟化市场已经成熟 VMware份额领先 存储在线 11年03月18日 WangFei 导读:据市场研究公司Forrester Research最新研究表明,虚拟服务器技术的应用实际上是从去年开始的,虚拟服务器技术终于完成了测试和研发阶段。 关键词:…

python day two,while
一、运算符号 算数运算符: 、-、*、/、//(取整除)、%(去余)、** 比较运算符:>、< 、>、<、 赋值运算符:、、-、/、%、** 逻辑预算符:and、or、not 布尔值 成员运算符&am…

【模板】树状数组 2
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的值 输入输出格式 输入格式: 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格…

【java】Maven工程引入各种jar包的功能
1、mysql驱动 : 代码实现 : <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>6.0.6</version></dependency> 2、数据库操作工具 : 代码实现…

[转]Android横竖屏切换解决方案
本文转自:http://www.cnblogs.com/domybest/archive/2011/06/30/2094779.html 首先在Mainifest.xml的Activity元素中加入android:configChanges"orientation|keyboardHidden"属性<activity android:name".FileBrowser" android:label"s…

【百度地图API】——国内首款团购网站的地图插件
摘要: 本文介绍了一款应用在团购网站上的地图插件,适用于目前非常流行的团购网站。使用这款地图插件,无需任何编程技术,你就把商家的位置轻松地标注在地图上。 前台地址 http://map.baidu.com/fwmap/upload/r/map/fwmap/tuangou/u…

Wannafly挑战赛14
A.直角三棱锥 枚举推式子 1 #include <bits/stdc.h>2 using namespace std;3 typedef long long LL;4 LL gcd(LL a, LL b){5 return a % b ? gcd(b, a % b) : b;6 }7 int main(){8 int T;9 scanf("%d", &T); 10 while(T--) { 11 …

第八章 泛型程序设计
1.带有【超类型限定 super】的通配符可以向泛型对象写入,带有【子类型限定 extends】的通配符可以从泛型对象读取,反之则不然。转载于:https://www.cnblogs.com/baokang/p/7441122.html

【java】过滤器filter的使用
一、创建filter的实现类 代码实现 : package com.zzxtit.common.filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax…

简单统计分数的程序
//设计一个程序,统计某个班级某门考试成绩中的最高分、最低分和平均分。 //当输入分数为-1时,输入结束 #include<iostream> using namespace std; int main() { int value,total,max,min,noOfInput; total0; //总分 max0; min100; noOfInput0; //人…

SugarCRM ListView查询中加入默认条件
在$_REQUEST[where] $where;$storeQuery->process_views($currentModule);上面加入以下代码,下面的代码指默认为查询本月if($where){ $date_period thismonth; $date_from get_date_from($date_period); $date_to get_date_to($date_period); if(isset($date_from) &…

Vue2.0使用vue-cli脚手架搭建
一:安装node.js Node.js官网:https://nodejs.org/en/download/ 选择相应的版本即可安装 通过node自带的npm包管理工具 二、安装依赖 安装依赖:npm install 如果国外安装比较慢,可采用国内淘宝镜像安装:npm install -g …

【javaweb】eclipse重启后tomcat打不开解决方法
https://blog.csdn.net/enniexiaorui/article/details/70161040

编写高性能的 JavaScript 程序的几个提示
2019独角兽企业重金招聘Python工程师标准>>> 这是一篇来自国外的文章,从各个方面介绍如何编写一个高性能的 JavaScript 应用程序。例如应该在页面最底部加载JS文件、合并多个js文件、异步加载js文件等等。 全文阅读(英文) 转载于:…

[网络流24题] 最长k可重区间集
对于区间 u->v ,连接边 u->v,权值为-len,容量为1,之后对每个点 i->i1,连边 i->i1,容量为k,权值为0,求区间最左端点到最右端点的费用流,费用相反数即为答案。…

Gym - 102082G
Gym - 102082Ghttps://vjudge.net/problem/2198225/origin对于数列中任意一个数,要么从最左边到它不递减,要么从最右边到到它不递减,为了满足这个条件,就要移动,而移动的最少步数就是逆序对数。所以这个数要么往左移动…

JAVA环境变量配置与配置后CMD的使用
JAVA环境变量配置: 直接在环境变量Path(或PATH,大小写无所谓)里加上 :JDK安装路径名/bin 也可以先设JAVA_HOME然后再设JAVA_HOME/bin,但必须是在同一区域中进行设置,系统变量区域或用户变量区域,否则设置的…

【web】从数据库读取多条数据到前台
servlet 代码实现 : package com.zzxtit.order;import java.io.IOException; import java.sql.SQLException; import java.util.List;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet…

FUSE——用户空间文件系统
用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs和luster使用FUSE实现。 Linux…

29个简单直观的移动设备网页设计
毫无疑问的是移动网络已经风靡世界。运行在iOS或Android智能手机,这两者提供了出色的网页浏览平台。而且这个数字仅仅是预期增加人口的平均工资增长率扩大。 然而该过程的设计和编码移动模板可以是非常乏味。我希望提供一个创造性的思路在这个画廊29个直观的手机设计…

【java】maven工程使用switch时不能使用String解决方法
原因 : 1.7之前不支持使用String 解决方法 : 1、右击程序------》 Build Path ------》Config Build Path 2、选择图示选项 3、更改选项,如图 4、更改编译器 5、将版本改为1.8 6、应用