[Book Script] TKPROF 없이 SQL ID 별 실제 수행된 PLAN 확인 하는 쿼리


실제 수행 된 SQL PLAN 을 trace + tkprof 를 수행 하지 않고 실시간으로

Execution Plan

 

을 확인 하는 쿼리 입니다.

 

STEP 별 rows 를 확인 하기 위한 선행 작업으로

 

STATISTICS_LEVEL 파라미터를 ALL 로 변경 합니다.

 

또는 히든 파라미터인 _ROWSOURCE_EXECUTION_STATISTICS 의 Parameter 값을 TRUE 로 설정 합니다.

 

필자는 안전하게 후단을 가이드 합니다. (STATISTICS_LEVEL 파라미터 변경 시 SQL PLAN이 악성 으로 변경 될 위험이 있습니다)

 

이후 아래의 쿼리로 실시간 SQL 의 수행 PLAN 및 통계를 확인 할 수 있습니다.

 

 

 
select LAST_OUTPUT_ROWS “Row”,
LPAD (‘ ‘, DEPTH) || OPERATION ||’ ‘|| OPTIONS ||’ ‘|| OBJECT_NAME || ‘ (cr=’ || LAST_CR_BUFFER_GETS|| ‘ pr=’ || LAST_DISK_READS || ‘ pw=’ || LAST_DISK_WRITES || ‘ time=’ || LAST_ELAPSED_TIME || ‘)’ AS “Row_Source_Operation”
from v$sql_plan_statistics_all
where sql_id=’&&sql_id’
and child_number=’&&child_number’
order by id;

 


Comments

comments

haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다