Oracle执行计划——Oracle 如何启用执行计划
AUTOTRACE是一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE可以用来替代SQL Trace使用,AUTOTRACE的好处是您不必设置跟踪文件的格式,并且它将自动为SQL语句显示执行计划。然而,AUTOTRACE分析和执行语 句;而EXPLAIN PLAN仅分析语句。使用AUTOTRACE不会产生跟踪文件。
1.1 以sys用户,运行utlxplan.sql
sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/utlxplan.sql
1.2 通过执行plustrce.sql脚本创建plustrace角色
SQL> @$ORACLE_HOME/sqlplus/admin/plustrce.sql
1.3 授权
将 plustrace 角色授予当前用户(无 DBA 角色的用户),或者grant plustrace to public;
2 设置Autotrace的命令
序号 |
命令 |
解释 |
1 |
SET AUTOTRACE OFF |
此为默认值,即关闭Autotrace |
2 |
SET AUTOTRACE ON |
产生结果集和解释计划并列出统计 |
3 |
SET AUTOTRACE ON EXPLAIN |
显示结果集和解释计划不显示统计 |
4 |
SET AUTOTRACE TRACEONLY |
显示解释计划和统计,尽管执行该语句但您将看不到结果集 |
5 |
SET AUTOTRACE TRACEONLY STATISTICS |
只显示统计 |
Eg:SET AUTOTRACE ON, set timing on, alter session set time_statistics=true;
以下仅供参考
3 Autotrace执行计划的各列的涵义
序号 |
列名 |
解释 |
1 |
ID_PLUS_EXP |
每一步骤的行号 |
2 |
PARENT_ID_PLUS_EXP |
每一步的Parent的级别号 |
3 |
PLAN_PLUS_EXP |
实际的每步 |
4 |
OBJECT_NODE_PLUS_EXP |
Dblink或并行查询时才会用到 |
4 Autotrace Statistics常用列解释
序号 |
列名 |
解释 |
1 |
db block gets |
从buffer cache中读取的block的数量 |
2 |
consistent gets |
从buffer cache中读取的undo数据的block的数量 |
3 |
physical reads |
从磁盘读取的block的数量 |
4 |
redo size |
DML生成的redo的大小 |
5 |
sorts (memory) |
在内存执行的排序量 |
6 |
sorts (disk) |
在磁盘上执行的排序量 |
Oracle执行计划——Oracle 如何启用执行计划的更多相关文章
- oracle中查看sql语句的执行计划
1.在pl/sql中打开cmd命令容器 2.在cmd命令窗口中输入:explain plan for select * from t; 3.查看sql语句的执行计划:select * from tab ...
- oracle中sql查询语句的执行顺序
查询语句的处理过程主要包含3个阶段:编译.执行.提取数据(sql查询语句的处理主要是由用户进程和服务器进程完成的,其他进程辅助配合) 一.编译parse 在进行编译时服务器进程会将sql语句的正文放入 ...
- Oracle JOB的建立,定时执行任务
Oracle JOB的建立,定时执行任务 oracle job的相关设置 next date: 2010-12-28 18:05:00 interval: to_date(to_char(sysdat ...
- 【定时任务|开机启动】Windows Server 2008/2012 计划任务配置(任务计划程序)每分钟执行BAT
打开计划任务快捷方式(在 “管理工具”内): C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Tas ...
- 对于Oracle中分页排序查询语句执行效率的比较分析
转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...
- ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句
ORACLE-Kill 杀死正在执行的Oracle存储过程和死锁语句 存储过程 1.找到正在执行的存储过程的 sid ,serial# select b.sid,b.SERIAL#,a.OBJEC ...
- Oracle 在函数或存储过程中执行sql查询字符串并将结果值赋值给变量
请看黄色部分 --区县指标 THEN TVALUE_SQL := 'SELECT TO_CHAR(' || CUR_ROW.MAIN_FIELD || ') FROM ' || CUR_ROW.END ...
- 使用V$SQL_PLAN视图获取曾经执行过的SQL语句执行计划
通常我们查看SQL语句的执行计划都是通过EXPLAIN PLAN或者AUTOTRACE来完成.但是这些查看方法有一个限制,它们都是人为触发而产生的,无法获得数据库系统中曾经执行过的SQL语句执行计划. ...
- webapi + windows计划 + mshta 实现定时执行任务
当然,实现定时任务有更好的操作方式,比如方式一:asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任务管理的平台,使用CronTrigger做定时触发, ...
- Linux任务计划、周期性任务执行
Linux任务计划.周期性任务执行 周期性任务执行: cron 守护进程(crond):服务,不间断地运行于后台 # service crond {start|stop|status|restart} ...
随机推荐
- SQL入门学习2-聚合与排序
3-1 对表进行聚合查询 聚合函数 所谓聚合,就是将多行汇总为一行. 函数名 功能 COUNT 计算表中的记录数(行数) SUM 计算表中数值列的数据合计值 AVG 计算表中数值列的数据平均值 MAX ...
- String.Format in Java and C#
原文:String.Format in Java and C# JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String ...
- C++学习笔记36 (模板的细节明确template specialization)和显式实例(template instantiation)
C++有时模板很可能无法处理某些类型的. 例如: #include <iostream> using namespace std; class man{ private: string n ...
- UVA 11584
Problem H: Partitioning by Palindromes We say a sequence of characters is a palindrome if it is the ...
- HDU2451:Simple Addition Expression
Problem Description A luxury yacht with 100 passengers on board is sailing on the sea in the twiligh ...
- java 正则表达式提取html纯文本
本文来自我的个人博客: java 正则表达式提取html纯文本 做内容的大家都知道,从html中直接提取纯文本是一个非常大的问题.现将我做的正则匹配贴上: import java.util.regex ...
- android控件 下拉刷新pulltorefresh
外国人写的下拉刷新控件,我把他下载下来放在网盘,有时候訪问不了github 支持各种控件下拉刷新 ListView.ViewPager.WevView.ExpandableListView.GridV ...
- MySQL 更新中国列:1366 Incorrect string value 问题解决了
周围环境:Win7 64位置,mysql-5.6.25-winx64,MySQL workbench 问题:MySQL在更新时出现异常: warning(s): 1366 Incorrect stri ...
- JMeter怎么在get URL请求、POST请求中添加动态参数用于服务器段安全验证
从前一个页面(含有服务器段返回给客户端的参数,用于在下一次请求时验证)中添加后置处理器中的Regular Expression Extractor,使用正则表达式对参数进行提取. 在用到这些变量时可以 ...
- unix cd使用命令
[语法]: cd [夹] [说明]:此命令用于工作文件以改变当前的文件夹,使用环境变量没有参数$HOME 作为它的参数,$HOME 路径通常在注册时输入. [抽样]: cd 文件夹 c ...