AutoTrace는 Explain Plan과 달리 SQL을 실제로 수행한 이후 SQL 실행결과, 실 제 수행계획(옵션에 따라 예상계획), 통계 자료 등의 정보를 옵션에 따라 전체 혹은 일부 출력한다
Explain Plan보다 다양한 정보들을 많이 포함하고 있어 SQL 튜닝 에 보다 유용하지만 DBA 권한 혹은 PLUSTRACE 권한이 존재하는 계정으로 tbsql 을 통해서만 사용이 가능하다.
SET AUTOTRACE 옵션(OFF | ON | TRACEONLY | ON EXPLAIN | ON STATISTICS | ON PLANSTAT)
GRANT PLUSTRACE TO TIBEROTEST; (생성: @$TB_HOME/scripts/plustrace.sql)
옵션 | 내용 |
---|---|
SET AUTOTRACE OFF | AUTOTRACE를 수행하지 않는다(기본값). |
SET AUTOTRACE ON | 예상 실행계획, 실행결과, 통계 자료 출력 |
SET AUTOTRACE TRACEONLY | 예상 실행계획, 통계 자료를 출력 |
SET AUTOTRACE ON EXPLAIN | 실행결과, 예상 실행계획을 출력 |
SET AUTOTRACE ON STATISTICS | 실행결과, 통계 자료를 출력 |
SET AUTOTRACE ON PLANSTAT | 실제 실행계획 (단, alter session set GATHER_SQL_PLAN_STAT=’Y’ 필요), 실행결과 |
@tibero:/tibero/tibero6/scripts # tbsql sys/***** -- ROLE 생성 및 부여 SQL> @$TB_HOME/scripts/plustrace.sql SQL> GRANT PLUSTRACE TO TIBEROTEST; @tibero:/tibero/tibero6/scripts # tbsql tiberotest/tibero -- 보유 ROLE 확인 SQL> SELECT GRANTED_ROLE FROM USER_ROLE_PRIVS; ------------------ GRANTED_ROLE ----------------- CONNECTED PLUSTRACE -- AUTOTRACE 수행 SQL> alter session set GATHER_SQL_PLAN_STAT='Y'; Session altered. SQL> SET AUTOTRACE ON PLANSTAT SQL> select sum(1) from code; SUM(1) ---------- 4 1 row selected.
SQL ID: 4z6z9dm60n68k Child number: 8915 Plan hash value: 509625169 Execution Stat(실제 실행계획) ---------------------------------- 1 COLUMN PROJECTION(Time:.01ms, Rows:1, Starts:1) 2 SORT AGGR (Time:.08 ms, Rows:1, Starts:1) 3 TABLE ACCESS(FULL):CODE(Time:.38ms, Rows:4, Starts:1) ** 만약 set autotrace on을 할 경우는 실제 실행계획이 아닌 예상 실행계획과 함께 아래 통계자료가 함께 출력됨 Execution Plan ------------------------------------- 1 COLUMN PROJECTION (Cost:132, %%CPU:0, Rows:1) 2 SORT AGGR (Cost:132, %%CPU:0, Rows:1) 3 TABLE ACCESS(FULL): CODE (Cost:132,%%CPU:0, Rows:19239) NAME VALUE --------------- --------- db block gets 10 <-- fullscan시 datafile의 metablock(block관리를 위한 정보가 적재)을 current로 읽음 consistent gets 19 <-- 실제 data가 적재되어 있는 block을 일관성있게 consistent read로 읽음 physical reads 0 redo size 60 sorts(disk) 0 sorts(memory) 0 rows processed 1
- 강좌 URL : http://www.gurubee.net/lecture/4152
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.