본문 바로가기

카테고리 없음

ORACLE autotrace 사용법 v1.0

출처 : OCMKOREA(NAVER) 정열(stormarin)
==========================================

먼저 plan_table을 생성한다.
SQL>@/oracle/ora92/rdbms/admin/utlxplan.sql
(후에 필요하면 직접 drop해도 상관없다 table name은 plan_table 이다.
다만 drop하면 autotrace 기능을 사용하지 못한다.)

SQL>set autotrace on
Result + Execution Plan + Statistics

SQL>set autotrace traceonly
Execution Plan + Statistics

SQL>set autotrace traceonly explain
Execution Plan

SQL>set autotrace traceonly statistics
Statistics

SQL>set autotrace off
trace 종료

개인적 생각으론 보통 첫번째를 사용하게 될것 같고
두번째, 세번째의 경우는 query 최적화(hint 등을 사용할때)를 할때
사용하는 경우가 많을 듯 하다.

뭐 실제로 많이 쓰면 다른 의견이 나올지도...

----------------------------------------------------------------------------------------------
출처 OTN http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/ch8.htm#sthref1518
==============================================================================================

일반유저에서 autotrace가 아래와 같은 에러와 함께 되지 않는 경우가 있다.
SQL> conn test/test
Connected.
SQL> set autotrace on
SP2-0618: Cannot find the Session Identifier.  Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report

(sys는 plustrace role없이 잘만 돌아간다. 해당 role이 없기때문에 생성해야 한다.)

아래 스크립트를 실행한다.
SQL> @/oracle/ora92/sqlplus/admin/plustrce.sql

권한을 해당 유저에게 할당한다
SQL> grant plustrace to test;

Grant succeeded.

SQL> conn test/test
Connected.
SQL> set autotrace on
SQL>
autotrace 실행이 성공했다.