[ Oracle SQL튜닝. 성능튜닝 Tool ]

 

1. DESC PLAN_TABLE

 

2. DBA가 PLAN_TABLE만들기

    - 방법 1

      > CREATE PUBLIC SYNONYM PLAN_TABLE FOR SYSTEM.PLAN_TABLE;

    - 방법2

      > @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql

 

3. DBA가 모든사용자에게 권한부여

    > GRANT ALL ON PLAN_TABLE TO PUBLIC;

 

4. 성능Tool종류 4가지

     1. SQL Trace

     2. Explan Plan

     3. Autotrace

     4. DBMS_XPLAN

 

5. 성능 Tool 특징

    1. Explan Plan

         - 사용하기 번거로운 단점

    2. Autotrace

         - 편리한 Tool

          - SQL Trace보다 자유로움.

    3. SQL Trace

       - 필수적인 Tool

     4. DBMS_XPLAN

         -Oracle 9i이후 버전부터 지원 - 사용편리, 유용

 

6. Explan Plan

 

7. Autotrace

    a. Autotrace설치방법 (dba권한 필요)

        dba>@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\plustrce.sql;

    b. Autotrace방법으로 실행계획보기

         sql>SET AUTOTRACE ON;

         sql>SELECT * FROM DUAL;

    c. Autotrace 수행결과 3가지 그룹

        1. SQL 실행결과

        2. SQL 실행계획과 Predicate Information

        3. SQL 실행 시 사용한 자원통계정보

 

8. SQL Trace

    a. Trace파일 생성

        ...

    b. 수행결과  3가지 그룹

        1. SQL문장

        2. SQL처리 단계별 자원사용량과 시간정보

        3. SQL 실행계획과 각 단계별 처리된 Rows수와 Logical ? Physical I/O 및 시간

    c. SQL처리 단계별 자원사용량과 시간정보

        1. count

            - DBMS Call을 의미하며 1개의 sql실행시 4번의 DBMS Call이 발생

        2. cpu

            - DBMS Call을 처리하기 위해 사용한 CPU시간

        3. elapsed

            -

        4. disk

            - sql을 처리하기 위해수행된 Physical Read한 Block의 개수

        5. query

            - Logical Read이며 주로 데이터 조회인 Select연산을 위해 읽어 들인 Block개수

        6. current

            - Logical Read이며 주로 데이터 수정인 DML연산을 위해 읽어 들인Block의 개수

        7. rows

            -

        8. Fetch . SELECT시 만들어진 결과 데이터를 Client에게 보내는 행위

                     . 1회 실행 시 1개의 Row를 가져오지만 Fetch회수가 2인 이유는 마지막 데이터를

                       읽은 후 다음 데이터의 존재 유무를 알기 위해 한번 더 Fetch를 하기 때문.

                     . 먄약, Fetch 10번이고, rows가 10,00이면

                       db는 was에 약(10,000/10) = 1,000건씩 전송했다는 의미

        9. Parse . Sort Parsing하지 않고, hard parsing할 경우 count가 1이 나옴

                      . Misses in library cache during parse과 동일한 숫자임

 

         a. Misses in library cache during parse

             . sql을 aprse하는 동안에 library cache안에서 Miss했다는 뜻.

               즉, Soft Parsing이 아닌 Hard Parsing했을 때 1 이라는 숫자가 조회됨

             . Parse결과절과 동일한 숫자임        

 

 

    

    

 

 

9. SPCPKG

    a. 설치

         sql>CONN SYS AS SYSDBA

         sql>@%ORACLE_HOME%\RDBMS\ADMIN\SPCREATE.SQL

    b. 설치확인

        탐색기 > @%ORACLE_HOME%\RDBMS\ADMIN\spcpkg.lis  파일 확인

    c. 보고서

        sql>conn perfstat    --perfstat : 설치시 id

         ....생략...

    d. 성능모니터링

        sql> conn perfstat/perfstat

        sql>execute statpack.snap;    --구간모니터링 시작

        .. 업무수행...

        sql>execute statpack.snap;    --구간모니터링 종료

 

10. 추가

     . AUTOTRACE나 Explain Plan을 통해서 나타나는 실행계획은 예상실행계획이고

     . SQL Trace를 통해서 나타나는 실행계획은 실제실행계획이다.

 

'(DB) Oracle 튜닝 > 쌍용튜닝교육' 카테고리의 다른 글

Oracle.PL/SQL(Anonymous Block, Stored Block)  (0) 2018.02.24
Oracle SQL튜닝. Optimizer  (0) 2018.02.24
Oracle SQL튜닝. 접근경로(Access Path)  (0) 2018.02.24
Oracle 기본 내용  (0) 2018.02.20
Oracle - db link  (0) 2018.02.10
Posted by 농부지기
,