有关 Oracle 的执行计划说明,参考我的 Blog :
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 ;
如:
整理自网络
-------------------------------------------------------------------------------------------------------
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 表空间和数据文件的关系,否则拒绝申请