获取当前运行的执行计划

如何获取当前正在跑程序的执行计划

1获取当前程序执行SQL 的SQL_ID, 这有两种途径:

a .

SELECT T. SQL_ID FROM GV$SESSION T WHERE T. STATUS 'BACKGROUND'

AND T. STATUS ='ACTIVE' AND T. MODULE LIKE '%MCA_APD_CHECK_PUBLIC_PKG%';

b .

根据日志记录,定位到程序目前执行到哪一步,再提取这一步的SQL , 根据SQL 文本获取: SELECT *FROM GV$SQL T WHERE T. SQL_TEXT LIKE '%INSERT INTO

OWR_AP_BALANCE_F%';

根据SQL_ID, 在PLSQL DEVELOPER 中执行下面的脚本,获得CLOB 格式的执行计划,建议打开后粘贴到文本编辑器查看;

SELECT DBMS_SQLTUNE. REPORT_SQL_MONITOR(SQL_ID =>'3mf9uj08kxj30' ) FROM DUAL ;

1.ORACLE 中所有的V$打头的视图都是动态视图,在运行时随时变化的,因此一个存储过程程序执行一段时间,SQL_ID可能在不断变化;

2. 每个V$视图都有对应的GV$视图,多节点的环境(如目前我们使用的exadata 平台)下需要使用GV$,如果查看V$视图只能获取当前连接节点

(数据库实例)的信息。

3. 调用了DBMS_SQLTUNE.REPORT_SQL_MONITOR获取的执行计划报告,最大的特点是包含了SQL 当前执行状态的信息,即计划估算值和实际执行状态有个明显对比;

SQL MONITOR生成执行计划报告的阅读要点:

1. 从头到尾,依次是SQL 文本信息,SQL 总体执行信息(包含执行时间),并行相关信息,执行计划;

2. 执行计划中,ROW (Estim ) 列是计划估算值(就是前面介绍的基数

Cardinality ), rows (Actual ) 是实际执行值,两者差异太大就说明执行计划有严重偏差,可能需要优化;

3. 执行计划的Activity Detail(#samples), 详细说明了每个步骤操作具体消耗,因为都是通过系统等待事件表示的,所以需要对等待事件有一定基础。

如何获取当前正在跑程序的执行计划

1获取当前程序执行SQL 的SQL_ID, 这有两种途径:

a .

SELECT T. SQL_ID FROM GV$SESSION T WHERE T. STATUS 'BACKGROUND'

AND T. STATUS ='ACTIVE' AND T. MODULE LIKE '%MCA_APD_CHECK_PUBLIC_PKG%';

b .

根据日志记录,定位到程序目前执行到哪一步,再提取这一步的SQL , 根据SQL 文本获取: SELECT *FROM GV$SQL T WHERE T. SQL_TEXT LIKE '%INSERT INTO

OWR_AP_BALANCE_F%';

根据SQL_ID, 在PLSQL DEVELOPER 中执行下面的脚本,获得CLOB 格式的执行计划,建议打开后粘贴到文本编辑器查看;

SELECT DBMS_SQLTUNE. REPORT_SQL_MONITOR(SQL_ID =>'3mf9uj08kxj30' ) FROM DUAL ;

1.ORACLE 中所有的V$打头的视图都是动态视图,在运行时随时变化的,因此一个存储过程程序执行一段时间,SQL_ID可能在不断变化;

2. 每个V$视图都有对应的GV$视图,多节点的环境(如目前我们使用的exadata 平台)下需要使用GV$,如果查看V$视图只能获取当前连接节点

(数据库实例)的信息。

3. 调用了DBMS_SQLTUNE.REPORT_SQL_MONITOR获取的执行计划报告,最大的特点是包含了SQL 当前执行状态的信息,即计划估算值和实际执行状态有个明显对比;

SQL MONITOR生成执行计划报告的阅读要点:

1. 从头到尾,依次是SQL 文本信息,SQL 总体执行信息(包含执行时间),并行相关信息,执行计划;

2. 执行计划中,ROW (Estim ) 列是计划估算值(就是前面介绍的基数

Cardinality ), rows (Actual ) 是实际执行值,两者差异太大就说明执行计划有严重偏差,可能需要优化;

3. 执行计划的Activity Detail(#samples), 详细说明了每个步骤操作具体消耗,因为都是通过系统等待事件表示的,所以需要对等待事件有一定基础。


相关内容

  • OracleDBA日常工作手册
  • Oracle DBA日常工作手册 概述 .................................................................................................................................. ...

  • 软件生存周期过程
  • <信息技术 软件生存周期过程> --ISO/IEC 12207与GB/T 8566 摘 要对于保证软件质量,提高软件工程能力,关键是科学地建立和管理软件工程过程.ISO/IEC12207 <信息技术一软件生存周期过程>总结了有关研究成果,描述了软件生存期的各个过程及其关系,成 ...

  • 全球电力行业未来发展报告(2016年)
  • 当前电力行业环境 2 当前电力行业环境 电力和公用事业行业正面临诸多挑战,同时也正经历前所未有的变革-- 能源需求 消费者角色变化 数字化工具 可再生能源的渗透 煤:一个有效(廉价)的解决方案? 二氧化碳减排核电升级或退役 承诺度 燃料的不同成本及发电组合结构 天然气产量提高 电网基础设施老化 降低 ...

  • 六西格玛管理之DFSS
  • Six Sigma 着手于流程的输入X而不是流程的产出Y Y= f (X) Y 因变 流程产出 结果 症状 监视 X1. . . XN 自变 流程输入 原因 问题 控制 Six Sigma 比较DMADV和DMAIC 定义 否 现有流 程? 是 设计一个新的 产品/服务 测量 测量 改进一个 已存在 ...

  • 批处理常用符号详解
  • (一) @ 一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上.请把下面的代码保存为test.cmd 文件,然后运行,比较一下两条echo 语句在屏幕上的输出差异: echo a @pause @echo b @pause 执行结果如下: C:\Documents a ...

  • 01-03 常用信息采集
  • 关于本章 常用信息采集 本章简单介绍设备重要信息的采集方法,无论是用户自己对设备故障进行定位,还是将信息提交给代理商或华为技术有限公司进行故障处理,采集信息都是进行故障定位的基础,信息采集的越完整越及时,就越有利于准确快速的定位. 如果故障需要提交给代理商或华为技术有限公司进行处理,信息采集完成后, ...

  • SA-03001 信息技术服务管理体系术语定义-V1.0
  • 文件密级:内部使用 常州大江网络工程有限公司 信息技术服务管理体系 术语定义 文件编号:SA-03001 [本文件中出现的任何文字叙述.文档格式.插图.照片.方法.过程等内容,除另有特别注明,版权均属公司所有,受到有关产权及版权法保护.任何个人.机构未经公司的书面授权许可,不得以任何方式复制或引用本 ...

  • 手机考勤定位管理系统
  • 手机考勤定位管理系统 (http://phgps.cn) 2013年10月V3.0版 2010年9月V1.0正式运营 深圳市澎和科技有限公司 目录 1 1.1 1.2 1.3 系统概述 . ....................................................... ...

  • labview实践出真知
  • 第二章 强筋健骨:由程序流程的控制展开 按照通常的教程,现在一般要介绍各种数据类型,例如数字.字符串.数组与簇等等.不过从程序结构入手,在掌握流程控制VI的同时认识各数据类型应该更有效,毕竟如果老是把目光集中在树木上,那很容易忘了郁郁葱葱的森林. 本章仍然通过实例来学习,依次完成For循环.Whil ...