Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

개요

...

알티베이스 서버에서 실행되는 모든 SQL 문을 trace할 수 있습니다.

...

여기에서는 알티베이스 프로파일링 및 결과 확인 방법에 대해 설명합니다.

프로파일링 관련 프로퍼티

...

Property Name설명
QUERY_PROF_FLAG

프로파일링 여부 및 로깅 레벨 설정

0   : 프로파일링 비활성화 (기본값)

1   : SQL문이 실행될 때마다 SQL문, 수행시간, 실행정보, 색인/디스크 접근 정보 출력

2   : prepare된 SQL문이 실행될 때마다 Bind Parameter 값 출력 (변수값 바인딩 정보가 있는 경우에 한함.)

4   : SQL문이 실행될 때마다 실행계획 출력

8   : 3초마다 세션 정보(V$SESSTAT) 출력

16  : 3초마다 시스템 정보(V$SYSSTAT) 출력

32  : 3초마다 메모리 정보(V$MEMSTAT) 출력

bit 단위로 값을 조합해서 설정도 가능합니다.

예를 들어, 7(1 + 2 + 4)로 설정하면 매 SQL문 실행시 Plan과, Bind되는 변수 값,  Statement 및 수행시간 등의 정보가 출력됩니다.

63(1 + 2 + 4 + 8 + 16 + 32)으로 설정하면 출력 가능한 모든 정보가 출력되는데, 매 SQL문 실행시 [BIND] [PLAN] [STATEMENT] 순서로 SQL문 실행정보가 출력되고  

3초마다 [SESSION] [SYSTEM] [MEMORY] 순서로 알티베이스 상태 정보가 출력됩니다.

QUERY_PROF_LOG_DIR

(6.5.1 이상)

프로파일링 결과파일이 저장될 디렉토리 경로

기본값 : $ALTIBASE_HOME/trc

QUERY_PROF_BUF_SIZE

통계 정보가 저장될 버퍼 크기

기본값 : 1MBytes

범위 : 32KBytes ~ 4GBytes-1

QUERY_PROF_BUF_FLUSH_SIZE

버퍼가 얼만큼 찼을 때 flush할지 크기를 설정

기본값 : 32KBytes

범위 : 512Bytes ~ 4GBytes-1

QUERY_PROF_BUF_FULL_SKIP

통계정보 버퍼가 가득찰 경우에, 프로파일링을 안하고 건너뛸 것인지 모두 기록될 때까지 대기할 것인지를 선택.

기본값 : 1

범위 : 0(wait) 또는 1(skip)

QUERY_PROF_FILE_SIZE

프로파일링 로그파일의 최대 크기

기본값 : 100MBytes

범위 : 0 ~ 4GBytes-1

          0  : Limited by OS limits

        > 0 : 해당 크기 만큼 로그를 기록하고, close 후, 새로운 파일을 생성하여 계속 로깅함.

                로그파일명은 alti-#시간-#번호.prof와 같은 형식으로 만들어지며 번호는 0부터 시작해서 1씩 증가함

프로파일링 시작 및 중지 방법

...

  • 프로파일링 시작
    다음 명령어 수행 후부터 실행되는 모든 SQL문에 대한 정보를 로그파일에 기록합니다.

...

Panel

ALTER SYSTEM SET QUERY_PROF_FLAG = 0;

결과 분석 방법

...

프로파일링을 시작하면 $ALTIBASE_HOME/trc/alti#시간-#번호.prof 형식으로 로그파일이 생성됩니다. (6.5.1 이상 버전에서는 QUERY_PROF_LOG_DIR 프로퍼티에 로그파일 경로 설정 가능)

...

Code Block
title예제
[MEMORY STAT] 2007/11/06 11:30:22
         Main_Module_Channel : (155400/ 3/ 155400)
         Main_Module_Distributed : (0/ 0/ 0)
         Main_Module_Interface : (0/ 0/ 65560)
         Main_Module_Thread : (728040/ 16/ 730600)
         Main_Module_Utility : (0/ 0/ 0)
         Query_Common : (1400/ 23/ 2640)
         Query_Meta : (359176/ 2049/ 361360)
         Query_DML : (0/ 0/ 1336)
         Query_Sequence : (0/ 0/ 0)
         Query_Replication : (0/ 0/ 0)
         Query_PSM_Node : (0/ 0/ 0)
         Query_PSM_Execute : (4993992/ 118/ 4993992)
         Query_Prepare : (262240/ 4/ 1770352)
         Query_Execute : (196680/ 3/ 458952)
         Query_Binding : (8384/ 8/ 150048)
         Query_Transaction : (0/ 0/ 0)
         Query_Conversion : (0/ 0/ 19048)
         Mathematics : (50176/ 190/ 109120)
         Storage_Manager : (0/ 0/ 0)
         Storage_Disk_Ager : (8464/ 3/ 8464)
         Storage_Disk_Buffer : (164242040/ 34/ 164258448)
         Storage_Disk_Collection : (0/ 0/ 0)
         Storage_Disk_Datafile : (2760/ 14/ 2792)
         Storage_Disk_Index : (2444760/ 25/ 2444760)
         Storage_Disk_Page : (1056/ 3/ 1056)
         Storage_Disk_Recovery : (0/ 0/ 1072)
         Storage_Memory_Ager : (840/ 5/ 2254144)
         Storage_Memory_Collection : (4195592/ 3/ 4196152)
         Storage_Memory_Interface : (317576/ 321/ 317576)
         Storage_Memory_Locking : (11938744/ 1124/ 11938744)
         Storage_Memory_Manager : (18713376/ 80/ 50179448)
         Storage_Memory_Index : (10836424/ 25/ 11039600)
         Storage_Memory_Page : (5517400/ 33665/ 5517400)
         Storage_Memory_Recovery : (53739512/ 15/ 53740072)
         Storage_Memory_Utility : (11843832/ 5218/ 11843832)
         Storage_Memory_Transaction : (1863448/ 3105/ 1863448)
         Temp_Memory : (0/ 0/ 0)
         Transaction_Table : (205955888/ 3074/ 205955888)
         Transaction_OID_List : (688296/ 3/ 688296)
         Transaction_Private_Buffer : (0/ 0/ 0)
         Transaction_Table_Info : (1990656/ 21504/ 1991296)
         Index_Memory : (4195592/ 3/ 4195592)
         LOG_Memory : (0/ 0/ 0)
         OS_Independent : (27754720/ 228/ 27754720)
         Other : (0/ 0/ 0)

주의사항

...

프로파일링을 활성화 할 경우, 알티베이스 서버 내에서 실행되는 모든 SQL문에 대해 수행정보를 로그파일에 기록하며, 설정에 따라 3초 주기로 알티베이스 상태를 프로파일링하므로, 알티베이스 성능에 영향을 줄 뿐만 아니라 시스템에도 부하를 줄 수 있습니다.

...