Oracle 从缓存里面查找真实的执行计划

系统 1592 0

有关 Oracle 的执行计划说明,参考我的 Blog

Oracle Explain Plan

http://blog.csdn.net/tianlesoftware/archive/2010/08/20/5827245.aspx

. 查看当前 session SID

SYS@anqing1(rac1)> SELECT USERENV('SID') FROM DUAL;

USERENV('SID')

--------------

137

SYS@anqing1(rac1)> SELECT SID FROM V$MYSTAT WHERE ROWNUM =1;

SID

----------

137

. 查看缓存中的 Explain Plan

1 )根据 SID ,从 v$sql 中找到相应 SQL HASH_VALUE ADDRESS

/* Formatted on 2011/6/20 17:38:20 (QP5 v5.163.1008.3004) */

SELECT a. sql_text , a. address , a. hash_value

FROM v$sql a, v$session b

WHERE a. hash_value = b . sql_hash_value AND b .sid = & sid;

2 )根据 hash_value address 的值,从 v$sql_plan 中找到真实的执行计划

/* Formatted on 2011/6/20 17:39:22 (QP5 v5.163.1008.3004) */

SET LINE 200 ;

COL oper FORMAT a100 ;

SELECT LPAD ( oper , LENGTH ( oper ) + LEVEL * 2 , ' ' ) oper , cost

FROM (SELECT object_name || ':' || operation || ' ' || options AS oper ,

cost,

id,

parent_id

FROM v$sql_plan

WHERE hash_value = '&hash_value' AND address = '&address' )

START WITH id = 0

CONNECT BY PRIOR id = parent_id ;

如:

Oracle 从缓存里面查找真实的执行计划

整理自网络

-------------------------------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

Email: dvd.dba@gmail.com

DBA1 群: 62697716( ); DBA2 群: 62697977( ) DBA3 群: 62697850( )

DBA 超级群: 63306533( ); DBA4 群: 83829929 DBA5 群: 142216823

DBA6 群: 158654907 聊天 群: 40132017 聊天 2 群: 69087192

-- 加群需要在备注说明 Oracle 表空间和数据文件的关系,否则拒绝申请

Oracle 从缓存里面查找真实的执行计划


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论