No. | option | 실제수행 | 수행 결과 | 실행계획 | 실행 통계 |
---|---|---|---|---|---|
① | set autotrace on | O | O | O | O |
② | set autotrace on explain | O | O | O | |
③ | set autotrace on statistics | O | O | O | |
④ | set autotrace traceonly | O | O | O | |
⑤ | set autotrace traceonly explain | O | |||
⑥ | set autotrace traceonly statistics | O | O |
①~③ 수행결과를 출력하므로 실제 수행
④, ⑥ 실행통계를 출력하므로 실제 수행
⑤ 실행계획만 출력하므로 가장 빠름
sQL> @?/sqlplus/admin/plustrce.sq1
sQL> grant plustrace to scott;
h3.(4) AutoTrace 와 세션
0) 최초 세션은 1개
SQL> @session
USERNAME OSUser@Terminal PROGRAM STATUS LoginTIM SID SERIAL# OSPID
--------- ------------- --------- ------ ------- ---- ---- -----
ORAKING oraking@SHCHO sqlplus.exe ACTIVE 08:49:37 13 3309 11546
1) statistics 옵션을 활성화시 신규 세션 추가
SQL> set autotrace on statistics
SQL> @session
USERNAME OSUser@Terminal PROGRAM STATUS LoginTIM SID SERIAL# OSPID
--------- ------------- --------- ------ ------- ---- ---- -----
ORAKING oraking@SHCHO sqlplus.exe ACTIVE 08:49:37 13 3309 11546
ORAKING oraking@SHCHO sqlplus.exe INACTIVE 09:32:30 22 1460 11592
2) explain 모드 변경시 신규 세션 종료
SQL> set autotrace on explain
SQL> @session
USERNAME OSUser@Terminal PROGRAM STATUS LoginTIM SID SERIAL# OSPID
--------- ------------- --------- ------ ------- ---- ---- -----
ORAKING oraking@SHCHO sqlplus.exe ACTIVE 08:49:37 13 3309 11546
3) statistics 옵션을 활성화시 내부적으로 수행되는 SQL문
SELECT PT.VALUE FROM SYS.V_$SESSTAT PT
WHERE PT.SID=:1
-- AND PT.STATISTIC# IN (7,40,41,42,115,236,237,238,242,243) -- 9i
AND PT.STATISTIC# IN (7,47,50,54,134,335,336,337,341,342) -- 10g
ORDER BY PT.STATISTIC#