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번 이상 같은 객체를 액세스 해야 한다.