2

私はこの投稿この素晴らしい記事を読みました

私の質問は、Oracle11gで実際の実行計画を取得する方法です。

sys特権とDBA特権なし。(私の場合は読み取り専用ユーザーとして扱うことができます)

SYS.PLAN_TABLE$またはCTRL+Eを使用して説明プランを取得できます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 に答える