いくつかの SQL クエリを実行するアプリケーションがあります。sqlplus またはその他の Oracle クライアントから現在実行中のクエリの実行計画を取得するにはどうすればよいですか? 必要に応じて、アプリケーションで使用されるオラクル セッションを修正できます。
そのクエリを手動で使用して実行したくないのでexplain plan
、クエリに使用される実際の実行計画を取得する必要があります。
SGA から履歴クエリに対して Explain Plain を実行できます -例
そしてリストB。
例:
SELECT username, prev_sql_id
FROM v$session
WHERE username = 'RDEVALL' -- example user
返された SQL ID
RDEVALL a1d4z5ruduzrd
RDEVALL avmbutuknvb6j
RDEVALL 75g0tqd9x743y
RDEVALL 5fnkh6c8mqqt3
RDEVALL 75g0tqd9x743y
クエリ ID を選択して、ここで使用します。
SELECT *
FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('a1d4z5ruduzrd')); -- replace with sql ID as needed