DBMS_XPLAN 包关于执行计划的功能如下:(每个函数的参数可以desc dbms_xplan查看)

•DISPLAY - to format and display the contents of a plan table.

•DISPLAY_AWR - to format and display the contents of the execution plan of a stored SQL statement in the AWR.

•DISPLAY_CURSOR - to format and display the contents of the execution plan of any loaded cursor.

•DISPLAY_SQL_PLAN_BASELINE - to display one or more execution plans for the SQL statement identified by SQL handle

•DISPLAY_SQLSET - to format and display the contents of the execution plan of statements stored in a SQL tuning set.

1 explain plan for sql_text-----SELECT * FROM table(DBMS_XPLAN.DISPLAY);

explain plan解释SQL,相关信息默认放在全局临时表PLAN_TABLE中,所以各个会话只看到自己执行SQL的执行计划(可以通过dbms_metadata.get_ddl查看此表),但需要了解的是explain plan for 并不会去执行sql

DBMS_XPLAN.DISPLAY有以下几个参数:

table_name,默认'PLAN_TABLE',跟PLAN_TABLE一样的表结构,也可以读取.

statement_id 默认null,即查该session最后的一条explain plan解释的语句。

format 默认'TYPICAL',全部是'BASIC','TYPICAL','ALL'

'ALL -PROJECTION (-/+) xxx' ,format参数基本是通用的,而参数详情请参考官档,这里就不一样罗列了。这里要注意: (-/+)加减号的前面要有一个空格,要不会报错。

2 DBMS_XPLAN.DISPLAY_AWR

sql_id --输入存储在AWR中的sql_id,你可以先查dba_hist_sql_plan,

plan_hash_value --如果是null的话该sql_id所有的执行计划会输出(默认null)

db_id --如果忽略,默认就是当前的database

format --通用,默认typical

1).请确保AWR已经运行。

2).权限:用户需要select on DBA_HIST_SQL_PLAN,DBA_HIST_SQLTEXT,V$DATABASE的权限。

3).查sql_id,根据sql文本查出sql_id ,可以从dba_hist_sqltext查。

4).来源:展示的执行计划的信息,来源于dba_hist_sql_plan。

例:SELECT * FROM table(DBMS_XPLAN.DISPLAY_AWR('&sql_id',&dbid,null,'all'));

3 DBMS_XPLAN.DISPLAY_CURSOR()

sql_id 指定位于library cache执行计划中SQL父游标,如果不指定就返回最后一条SQL的sql_id。

child_number 默认是0,如果是null,则返回sql_id父游标下的所有子游标的执行计划。

format --通用,默认typical

例:select * from table(dbms_xplan.display_cursor('&sql_id',&child_number,'all allstats last outline'));

ALLSTATS - A shortcut for 'IOSTATS MEMSTATS'

LAST - By default, plan statistics are shown for all executions of the cursor. The keyword LAST can be specified to see only the statistics for the last execution.

直接关联查询SQL执行计划:

SELECT t.*

FROM v$sql s,

table(DBMS_XPLAN.DISPLAY_CURSOR(s.sql_id, s.child_number)) t

WHERE sql_text LIKE '%XXXXX%';

dbmsxplan oracle_Oracle dbms_xplan相关推荐

  1. Oracle Compile 编译 无效对象(ORA-04063: package body SYS.DBMS_XPLAN 有错误)

    使用AUTOTRACE 前要做好准备工作 创建角色Plustrace SQL>        @?/sqlplus/admin/plustrce.sql 将Plustrace角色授于要执行AUT ...

  2. dbms_xplan.display_cursor 获取执行过的sql的执行计划

    该函数的语法: DBMS_XPLAN.DISPLAY_CURSOR(    sql_id        IN VARCHAR2 DEFAULT NULL,    child_number IN NUM ...

  3. dbms_xplan之display_cursor函数的使用

    文章来源:http://blog.csdn.net/leshami/article/details/6866925 DBMS_XPLAN包中display_cursor函数不同于display函数,d ...

  4. dbms中怎么跨数据源拷贝数据_Oracle中使用DBMS_XPLAN处理执行计划详解

    概述 DBMS_XPLAN是Oracle提供的一个用于查看SQL计划,包括执行计划和解释计划的包:在以前查看SQL执行计划的时候,我都是直接使用set autotrace命令,不过DBMS_XPLAN ...

  5. delmatch oracle_Oracle ERP 技术探讨

    DBA常用sql --监控索引是否使用 alter index &index_name monitoring usage; alter index &index_name nomoni ...

  6. dbms_xplan

    测试表:create table tb1 as select dba_objects; SQL>delete from plan_table; SQL>explain plan for s ...

  7. oracle表稅片整理,oracle_Oracle表碎片整理操作步骤详解,高水位线(HWL)下的许多数据 - phpStudy...

    Oracle表碎片整理操作步骤详解 高水位线(HWL)下的许多数据块都是无数据的,但全表扫描的时候要扫描到高水位线的数据块,也就是说oracle要做许多的无用功!因此oracle提供了shrink s ...

  8. cmd连接oracle_Oracle -PLSQLDeveloper 13 数据库连接

    关于oracle 及PLSQLDeveloper 13如何下载,安装流程不一一赘述,网络帖子很多,知乎直接搜索亦可. 本次主要分享:学习前辈们关于安装流程中出现设置报错,应如何处理(本人个例,通过网络 ...

  9. 32位oracle_Oracle 之Hugepage

    1. Hugepage基本概念 系统进程是通过虚拟地址访问内存,但是CPU必须把它转换成物理内存地址才能真正访问内存. 为了提高这个转换效率,CPU会缓存最近的"虚拟内存地址和物理内存地址& ...

最新文章

  1. cuDNN 5对RNN模型的性能优化
  2. 802.11 MAC Header(MAC头)
  3. Spring Cloud Gateway之负载均衡
  4. cocos2d-x初探学习笔记(2)--重要概念及Test例子结构
  5. Caffe: Caffe的Python接口
  6. 摆脱困境:将环境特定的Cron表达式与@Scheduled批注一起使用
  7. linux更改语言脚本,Linux shell脚本入门——shell语言脚本【CentOS】
  8. Qt杂记-QQuick之Android隐藏状态栏以及状态栏透明(QQuick项目)
  9. css3实现的一些灰色的导航条按钮
  10. 您不会相信Buzzfeed如何处理变更管理
  11. mysql主从同步忽略一条错误_mysql主从同步出现异常语句跳过错误处理
  12. CIDR的IP地址与可分配的IP地址辨析
  13. 安装使用反编译工具ILSPY
  14. python基础(16):学生信息管理系统——Python编写(附全部代码)
  15. C语言实现BMP格式转RGB格式、YUV格式
  16. 重启计算机后ip丢失,win10系统重启后ip丢失的处理步骤
  17. android刷机包基带,手机刷机有必要刷底包基带吗?刷安卓机中基带/底包/固件详解...
  18. PAT甲级 1032 Sharing
  19. 学完大数据基础,可以按照我写的顺序学下去
  20. Photoshop钢笔工具抠图和图层填充

热门文章

  1. android 开发过程中涉及到的清除缓存操作
  2. matlab 数组扩充
  3. arduino 读取模拟电压_Arduino内置教程-基本原理-读取模拟电压
  4. 硬件加密算法HITAG2流程分析
  5. pycharm debug 提示 Python Debugger Extension Available Cython extension speeds up Python debugging
  6. html表单及其属性
  7. PID 控制器代码实现
  8. Matlab:表示 MATLAB 中的日期和时间
  9. 幼儿抽象逻辑思维举例_张俊:幼儿到底是怎么学习数学的?
  10. 5个开源免费的Java项目快速开发脚手架