[3) 오라클 성능 관리]2. AutoTrace

Yu River·2022년 5월 31일
0

AutoTrace

  • SQL 수행 시 실제 일량을 측정하고 튜닝하는데 유용한 정보들을 많이 포함하는 도구이다.

1. AutoTrace 옵션

  • 아래와 같은 옵션에 따라 필요한 부분만 출력한다.
  • set autotrace on
    • SQL을 실행하고 그결과와 함께 실행 계획 및 실행통계를 출력한다.
    • [예시]
        SQL> set autotrace on
        SQL> select * from scott.emp where empno=7900;
  • set autotrace on explain
    • SQL을 실행하고 그결과와 함께 실행 계획을 출력한다.
  • set autotrace on statistics
    • SQL을 실행하고 그결과와 함께 실행통계를 출력한다.
  • set autotrace traceonly
    • SQL을 실행하지만 그 결과는 출력하지 않고, 실행계획과 실행통계만을 출력한다.
    • 실행 통계를 보여줘야 하므로 쿼리를 실제 수행한다.
  • set autotrace traceonly explain
    • SQL을 실행하지않고 실행계획만을 출력한다.
  • set autotrace traceonly statistics
    • SQL을 실행하지만 그 결과는 출력하지 않고, 실행통계만을 출력한다.
    • 실행 통계를 보여줘야 하므로 쿼리를 실제 수행한다.

2. AutoTrace 필요 권한

  • Autotrace 기능을 실행계획 확인 용도로 사용한다면 Plan_Table만 생성 되어 있으면 가능하다.
  • 실행통계 까지 확인 하려면 v_$sesstat, v_$ statname, v_$mystat 뷰에 대한 읽기 권한이 필요하다.
    • dba, select_catalog_role 등의 롤을 부여받지 않은 사용자의 경우 별도의 권한 설정이 필요하다.
    • plustrace 롤을 생성하고 롤을 부여하는 것이 편리 하다.
      • [예시]
          SQL> @?/sqlplus/admin/plustrace.sql
          SQL> grant plustrace to scott;

3. AutoTrace 수행 방식

순서

1> statistics 모드의 AutoTrace를 활성화한다.

3> 새로운 세션이 하나 열린다.

  • 만약 같은 세션에서 수행한다면 세션 통계를 쿼리 할때 수행통계까지 섞이기때문에 별도의 세션을 사용하는 것이다.

4> 현재 세션의 수행 통계 정보를 저장한다.

5> 쿼리 실행 후 수행통계와의 델타(Delta) 값을 계산한다.

profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글