Oracle Database TIP
10046 Trace event 7 0 9,740

by 김정식 10046 TRACE DBMS_SYSTEM ALTER SESSION [2006.05.14]


관련 강좌로 Oracle Tuning 강좌를 참고하세요

10046 TRACE

  - 일반적으로 SQL_TRACE와 동일하나, 레벨에 따라 추가적인 정보 확인이 가능 하다.

  - LEVEL 4 : SQL Trace 정보와 Bind 정보 제공

  - LEVEL 8 : SQL Trace 정보와 Wait Event 정보 제공

  - LEVEL 12 : SQL Trace 정보, Bind 정보, Wait Event 정보 제공

10046 TRACE 예제

  아래는 10046 TRACE를 실행하는 예제들이다.

  10046 TRACE 실행 후 TKPROF를 이용하여 Trace 파일을 분석 하면 된다.

  관련 강좌로 Oracle Tuning 강좌를 참고하세요

 
-- ALTER SESSION 사용 SQL Trace Enable
SQL> ALTER SESSION SET EVENTS '10046 trace name context forever, level 12';
SQL> ALTER SESSION SET EVENTS '10046 trace name context off'

 
-- SET_SQL_TRACE_IN_SESSION 프로시저 사용 SQL Trace Enable
SQL> EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(sid=>123, serial#=>1234, sql_trace=>TRUE);
SQL> EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(sid=>123, serial#=>1234, sql_trace=>FALSE);


-- SET_EV 프로시저 사용 SQL Trace Enable
-- si : User session id (sid) 
-- se : User session serial number (serial#) 
-- ev : Trace event number 
-- le : Trace event level 
-- nm : Trace event name
SQL> EXEC DBMS_SYSTEM.SET_EV(si=>123, se=>1234, ev=>10046, le=>8, nm=>' ');
SQL> EXEC DBMS_SYSTEM.SET_EV(si=>123, se=>1234, ev=>10046, le=>0, nm=>' ');
 
-- sid, serial# 정보 조회
SQL> SELECT sid, serial#, username  FROM v$session;  
    

SET_SQL_TRACE_IN_SESSION

  - SET_SQL_TRACE_IN_SESSION procedure는 다른 사용자 세션에 SQL Trace를 enable/disable 할 수 있다.

  - 아래는 프로시저의 헤더부분 이다.

 
 PROCEDURE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION
   (sid IN NUMBER
   ,serial# IN NUMBER
   ,sql_trace IN BOOLEAN);
    

- 강좌 URL : http://www.gurubee.net/lecture/1905

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입