2

我已经阅读了这篇文章这篇优秀的文章

我的问题是,如何获得Oracle 11g 中的实际执行计划

没有sys 权限和 DBA 权限。(您可以将我的案例视为只读用户)

我可以使用SYS.PLAN_TABLE$or CTRL+ Ein获得解释计划TOAD

但我的理解是解释计划=估计的执行计划?

在 Oracle 的文档中找到

由于以下原因,执行计划可能会有所不同:

  • 不同的模式

  • 不同的成本

请给我任何你能提供的帮助来清除我的概念。

4

2 回答 2

4

如果你想使用dbms_xplan.display_cursor,你至少需要这些授权

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;
于 2013-01-30T05:22:04.367 回答
2

如果您是开发人员,也许我可以请求授予您 SELECT_CATALOG_ROLE。在 11g 中授予它是无害的。这将允许对 DBA 拥有的大多数信息进行只读访问。

这将使您可以访问 v$sql_plan*、v$session_longops、V$lock、V$SQL_BIND_CAPTURE 和其他与性能相关的数据。

于 2013-01-30T18:19:51.343 回答