'SESSION'에 해당되는 글 1건

  1. 2010.08.13 Oracle Session별 Trace 생성 방법

Oracle Session별 Trace 생성 방법

Oracle 2010. 8. 13. 16:43

sqlplus를 이용하여 sysdba 계정에서 아래의 파일을 실행합니다.


 SQL> @dbmsutil.sql                                           <==  ORACLE_HOME\rdbms\admin 에 파일이 존재함
 SQL> @prvtutil.plb                                             <==  ORACLE_HOME\rdbms\admin 에 파일이 존재함

 SQL> grant execute on dbms_system to system;


- DBMS_SYSTEM.set_sql_trace_in_session(sid, serial#, TRUE) 
 지정된 session에 대해 SQL trace를 실행하여 user_dump_dest parameter에 지정된 위치에 trace file이 생성된다.
 
 - DBMS_SYSTEM.set_sql_trace_in_session(sid, serial#, FALSE)  
 지정된 session에 대한 SQL trace를 해제한다.


[예제] system user에서 scott user를 지정하여 SQL trace 생성하기.

sqlplus system/manager

SQL> select sid, serial# 
     from v$session
     where username = 'SCOTT';

SID         SERIAL#
--------- ---------
        8        12

SQL> exec sys.dbms_system.set_sql_trace_in_session(8, 12, TRUE);

 -> scott user에 대한 SQL trace가 실행된다.

SQL> exec sys.dbms_system.set_sql_trace_in_session(8, 12, FALSE);

 -> scott user에 걸린 SQL trace가 해제된다.


==> 위와 같이 trace 처리된 내역은 DBMS가 설치된 server의 user_dump_dest 경로에 trc 파일로 생성됩니다.

    이렇게 해서 생성된 trace 파일을 TKPROF를 이용하여 가독이 용이한 형태로 내용을 변환하여 확인하면 됩니다.

     ex) tkprof '원본파일' '변환파일' [option] sys=no aggregate=no explain=계정ID/계정PWD
         --> tkprof C:\oracle\admin\orcl\udump\orcl_ora_3012.trc c:\test.text sys=no aggregate=no explain=scott/tiger

:     

TISTORY에 Login하려면 여기를 누르세요.