Versions Compared

Key

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

...

  1. 디스크 임시 테이블스페이스의 최대값 확인

    TEMP_MAX_PAGE_COUNT는 모든 디스크 임시 테이블스페이스가 최대로 사용될 상황을 가정하고 설정해야 한다. 그러므로 아래 질의문으로 Altibase 서버에 생성한 모든 디스크 임시 테이블스페이스의 최대값을 더한 값 을 확인한다.

    Code Block
    title디스크 임시 테이블스페이스 최대값 총 합
    languagesql
    SELECT 'DISK_TEMP_TBS_MAX_SUM'
         , SUM(DECODE(F.MAXSIZE, 0, F.CURRSIZE, F.MAXSIZE)*TBS.PAGE_SIZE) AS 'MAX_SIZE(BYTE)'  
      FROM V$DATAFILES F,
           V$TABLESPACES TBS
     WHERE F.SPACEID = TBS.ID
       AND TBS.TYPE IN (5, 6);



  2. TEMP_MAX_PAGE_COUNT 프로퍼티 적정값 계산

    TEMP_MAX_PAGE_COUNT 프로퍼티의 단위는 페이지 수로, 값은 아래 수식으로 계산한다.

    Panel

    TEMP_MAX_PAGE_COUNT = 디스크 임시 테이블스페이스 최대값 총 합 / 81968192

    Tip
    title디스크 임시 테이블스페이스 최대값 별 TEMP_MAX_PAGE_COUNT 값


    TEMP_MAX_PAGE_COUNT 산정 예시

    디스크 임시 테이블스페이스의 최대값 총 합이 17179869184 byte(16GB) 인 경우, 17179869184 / 8192 = 2097152로 TEMP_MAX_PAGE_COUNT 프로퍼티의 값은 2097152가 된다.

     

    디스크 임시 테이블스페이스의 최대값 총 합 별 TEMP_MAX_PAGE_COUNT 설정 값

      8G 의 경우 TEMP_MAX_PAGE_COUNT = 1048576
    16G 의 경우 TEMP_MAX_PAGE_COUNT = 2096128
    32G 의 경우 TEMP_MAX_PAGE_COUNT = 4192256
    64G 의 경우 TEMP_MAX_PAGE_COUNT = 8388608



  3. TEMP_MAX_PAGE_COUNT 프로퍼티 변경

    TEMP_MAX_PAGE_COUNT는 Altibase 운용 중 시스템 레벨로 변경할 수 있다.

    Code Block
    languagesql
    ALTER SYSTEM SET TEMP_MAX_PAGE_COUNT = value; 

    V$PROPERTY를 조회하여 변경값을 확인한다.

    Code Block
    languagesql
    SELECT NAME, VALUE1 FROM V$PROPERTY WHERE NAME = 'TEMP_MAX_PAGE_COUNT';

    ALTER SYSTEM 으로 변경한 값이 Altibase 서버 재구동 후에도 반영되도록 Altibase 서버 설정 파일도 변경한다.

    Code Block
    themeDJango
    languagebash
    shell> cd $ALTIBASE_HOME/conf
    shell> vi altibase.properties        # altibase.properties 파일에 TEMP_MAX_PAGE_COUNT이 없으면 추가하고 있으면 기존값을 변경한다. 
    TEMP_MAX_PAGE_COUNT = value;         

       

  4. TEMP_MAX_PAGE_COUNT 프로퍼티 변경 시 고려사항

    아래 세 개 프로퍼티는 TEMP_MAX_PAGE_COUNT에 영향을 받는다.

    • TOTAL_WA_SIZE
    • SORT_AREA_SIZE
    • HASH_AREA_SIZE

    따라서 TEMP_MAX_PAGE_COUNT를 변경하면 이 프로퍼티들도 변경해야한다. 

    각 프로퍼티 별 권고값은 아래와 같다.
    권고값은 기본값 비율에 따라 산정한 것으로 운용 중 해당 프로퍼티의 적정값은 변경될 수 있다.

    • TOTAL_WA_SIZE : TEMP_MAX_PAGE_COUNT의 256배
    • SORT_AREA_SIZE : TEMP_MAX_PAGE_COUNT의 2배
    • HASH_AREA_SIZE : TEMP_MAX_PAGE_COUNT의 8배

    예를들어 TEMP_MAX_PAGE_COUNT = 1048576 로 변경할 경우 각 프로퍼티의 권고값은 아래와 같다.

    • TOTAL_WA_SIZE = 1048576*256 = 268435456 (단위는 바이트)
    • SORT_AREA_SIZE = 1048576*2 = 2097152 (단위는 바이트)
    • HASH_AREA_SIZE = 1048576*8 = 8388608 (단위는 바이트)

    아래 세 프로퍼티도 TEMP_MAX_PAGE_COUNT와 마찬가지로 Altibase 운용 중 시스템 레벨로 변경할 수 있다.

    Code Block
    languagesql
    ALTER SYSTEM SET TOTAL_WA_SIZE = value; 
    ALTER SYSTEM SET SORT_AREA_SIZE = value; 
    ALTER SYSTEM SET HASH_AREA_SIZE = value; 

    V$PROPERTY를 조회하여 변경값을 확인한다.

    Code Block
    languagesql
    SELECT NAME, VALUE1 FROM V$PROPERTY WHERE NAME IN ('TOTAL_WA_SIZE', 'SORT_AREA_SIZE', 'HASH_AREA_SIZE');

    ALTER SYSTEM 으로 변경한 값이 Altibase 서버 재구동 후에도 반영되도록 Altibase 서버 설정 파일도 변경한다.

    Code Block
    themeDJango
    languagebash
    shell> cd $ALTIBASE_HOME/conf
    shell> vi altibase.properties        # altibase.properties 파일에서 각 프로퍼티를 찾아서 변경합니다. 
    TOTAL_WA_SIZE                        = 134217728 # default = 134217728
    SORT_AREA_SIZE                       = 1048576   # default = 1048576 
    HASH_AREA_SIZE                       = 4194304   # default = 4194304        

       

  5. 프로퍼티 변경 시 영향도 

    TOTAL_WA_SIZE 프로퍼티의 경우 설정 즉시 V$MEMSTAT의 ALLOC_SIZE와 MAX_TOTAL_SIZE가 증가하며 동시에 Altibase 서버 프로세스의 메모리도 증가한다.

    메모리가 증가하는 영역은 Altibase 버전에 따라 다르다. Altibase 7 의 경우 Temp_Memory 영역이 증가하며, Altibase 6.3.1, 6.5.1의 경우 Storage_Disk_Buffer 영역이 증가한다.

    V$MEMSTAT 확인 방법은 아래와 같다.

    Code Block
    titleAltibase 7 이상
    languagesql
    SELECT NAME, ALLOC_SIZE, MAX_TOTAL_SIZE FROM V$MEMSTAT WHERE NAME = 'Temp_Memory';
    Code Block
    titleAltibase 6.3.1, 6.5.1
    languagesql
    SELECT NAME, ALLOC_SIZE, MAX_TOTAL_SIZE FROM V$MEMSTAT WHERE NAME = 'Storage_Disk_Buffer';


    Unix/Linux의 경우 ps명령어로 Altibase 서버 프로세스의 메모리 증가 여부를 확인할 수 있다.

    TOTAL_WA_SIZE 변경 직후 확인 시 vsz가 증가하며 sort/hash 연산 발생할 때 rss가 증가한다.

    Code Block
    titleLinux, SunOS
    themeDJango
    languagebash
    shell> ps -o vsz,rss -p process_id 
    Code Block
    titleHP-UX
    themeDJango
    languagebash
    shell> export UNIX95=1
    shell> ps -o vsz,rss -p process_id 
    Code Block
    titleAIX
    themeDJango
    languagebash
    shell> ps -o vsz,rssize -p process_id 

...