我的问题是,如何在Oracle 11g中获得 acutual 执行计划
没有 sys权限和DBA权限。 (您可以将我的案例视为只读用户)
我可以在SYS.PLAN_TABLE$
TOAD
或 CTRL + E 获取解释计划
但我的理解是解释计划=仅估计执行计划?
在Oracle的文档中找到
执行计划可能因以下原因而有所不同:
不同的架构
不同的费用
请提供任何帮助以清除我的概念。
答案 0 :(得分:4)
如果您想使用dbms_xplan.display_cursor
,则需要at least these grants:
grant select on sys.v_$sql_plan to larry;
grant select on sys.v_$session to larry;
grant select on sys.v_$sql_plan_statistics_all to larry;
您可能还需要V$SQL
才能找到SQL_ID
:
grant select on sys.v_$sql to larry;
答案 1 :(得分:2)
如果您是开发人员,也许我可以请求SELECT_CATALOG_ROLE授予您。在11g中授予它是无害的。这将允许对DBA拥有的大多数信息进行只读访问。
这将使您可以访问v $ sql_plan *,v $ session_longops,V $ lock,V $ SQL_BIND_CAPTURE 和其他与绩效相关的数据。