optimizer가 SQL 파싱동안 선택하는 실행계획에 대한 trace 

 

1. 기존방식

alter session set max_dump_file_size=unlimited;

alter session set tracefile_identifier='10053_trace_test';

alter session set events ‘10053 trace name context forever, level 1’;

select sysdate from dual;

alter session set events ‘10053 trace name context off’;

 

trace 디렉토리에서 ~10053_trace_test~ 파일 찾아서 확인

 

2. diag 함수사용

v$sql 영역에서 사용된 SQL를 찾아 해당 쿼리에 대한 10053 sql trace 

 

column sql_text format a30

select sql_id from v$sql where sql_text like 'select sysdate from dual%';

execute dbms_sqldiag.dump_trace(p_sql_id=>'7h35uxf5uhmm1', p_child_number=>0,p_component=>'Compiler',p_file_id=>'DIAG');

 

3. 기타

alter session set events 'trace[rdbms.SQL_Optimizer.*][sql:9rjmrhbjuasav]';

select * from dual;

alter session set events 'trace[rdbms.SQL_Optimizer.*]off';

 

 

'RDB > Oracle' 카테고리의 다른 글

oracle sql monitor report  (0) 2019.10.01
oracle sql hint 수정  (0) 2019.09.30
oracle 18c table 통계 정보 pending  (0) 2019.09.25
oracle 18c sequence restart  (0) 2019.09.25
oracle 18c object 통계 정보 수집  (0) 2019.09.25

+ Recent posts