oracle通過sql_id獲取執行計劃

1、使用@?/rdbms/admin/sqltrpt.sql,按照提示輸入sql_id,注意有會話卡死的風險,會話卡死後需要kill會話,否則以後對相關表的DDL都會hang

 

2、 DISPLAY_AWR

 

需要首先從AWR或者v$sqlarea或者DBA_HIST_SQLTEXT中獲取sql_id

select sql_id,to_char(substr(sql_text,0,2000)) from dba_hist_sqltext where sql_text like '%EMP%';

select * from v$sqlarea where sql_text like '%emp%';

需要具有對DBA_HIST_SQL_PLAN和DBA_HIST_SQLTEXT等有select權限

然後

select * from table(dbms_xplan.display_awr('&sql_id'));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章