by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

4.8 동적 리소스 리마스터링




4.8 동적 리소스 리마스터링

RAC 에서는 자신의 로컬 캐시에 존재하지 않는 특정 블록을 읽기 위해서 반드시 해당 블록을 관리하는 마스터 노드와 통신을 해야 한다.
만일 특정 블록을 자주 액세스하는 인스턴스가 해당 블록의 마스터 노드가 된다면 인스턴스간 통신이 줄어들기 때문에
RAC 시스템 전체의 성능을 향상시키게 된다.
특정 블록을 자주 액세스하는 인스턴스가 해당 블록의 마스터 노드로 변경되는 것을
동적 리소스 리마스터링(Dynamic Resource Remastering: DRM)이라고 부른다. 10g 구현

V$GCSPFMASTER_INFO 뷰 : 리마스터링 발생 여부 확인

  • 10g R1 - 파일 단위의 리마스터링 *
  • 10g R2 - 오브젝트 단위의 리마스터링 *

oradebug lkdebug 명령을 통해서 특정 오브젝트에 대한 리소스 리마스터링 직접 수행 가능

●_GC_AFFINITY_TIME
: 리소스 리마스터링을 몇 분 단위로 수행할 지를 결정, 기본값을 10분,
즉, 리마스터링 자격을 조사하여, 필요하다면 리마스터링 수행 값이 0 이면 리소스 리마스터링을 수행하지 않겠다는 의미

●_GC_AFFINITY_LIMIT
: 리마스터링 수행 여부의 기준을 정하는 파라미터로 노드 간에 어느 정도 액세스 편차가 리마스터링 기준,기본값은 50
즉, A 노드 테이블 X, 1000 번 ACCESS, B노드 테이블 X , 1100 번 ACCESS , 노드간 액세스 편차 = 1100 - 1000 = 100
100은 50보다 큼으로 리마스터링 대상이 됌

●_GC_AFFINITY_MINIMUM
: 객체의 대한 최소의 접근 빈도값, 기본값은 분당(Minute) 600(번)
즉 리소스 리마스터링 대상이 되려면 CPU당 1분에 최소한 600번 이상 같은 객체를 액세스 해야 한다.

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. 4월 21, 2011

    장태길 says:

    – 동적 Remastering 가능 여부 확인 SELECT a.ksppinm "Parameter", b.ksppstvl "Sessio...

    – 동적 Remastering 가능 여부 확인
    SELECT
    a.ksppinm "Parameter",
    b.ksppstvl "Session Value",
    c.ksppstvl "Instance Value"
    FROM
    x$ksppi a,
    x$ksppcv b,
    x$ksppsv c
    WHERE
    a.indx = b.indx
    AND
    a.indx = c.indx
    AND
    a.ksppinm ='_lm_dynamic_lms';

    – 동적 리마스터링이 문제가 될 경우
    gcs drm freeze in enter server mode 라는 Wait Event 가 관찰된다고함

    – 리마스터링 관련 성능 뷰
    V$GCSPFMASTER_INFO : DRM 수행 작업 등록
    X$KJDRMAFNSTATS : V$GCSPFMASTER_INFO 의 BASE 가 되는 X$ 테이블인듯.
    X$OBJECT_AFFINITY_STATISTICS : 인스턴스 별 Object 에 대한 통계 제공

    – _gc_undo_affinity : Undo 에 대한 Remastering 활성화 여부(false) , 일반 세그먼트와 다르게 Undo 를 활성화 한 인스턴스가 마스터 노드가 된다.

    – 11G 파라미터 변경
    _gc_policy_limit, _gc_policy_time
    – 11G 뷰 제공
    v$policy_history