DBA가 되고 싶은 병아리

Cache Fusion과 OPS 본문

Oracle Study

Cache Fusion과 OPS

미스틱스 2021. 4. 28. 13:38

OPS 개념

  1. Instance2 접속한 A프로세스는 Instrance1 존재하는 1 Block 엑세스하기 위해 호출한다.
  2. Instance1 존재하는 1 Block Instance2 호출에 응답하기 위해 Instance2 SGA DB buffer Cache 이동해야 한다. 이동을 위해 공유 Storage 존재하는 Database 1 Block Write한다.
  3. Database 공유 Storage Write 1 Block Instance2 DB Buffer Cache 캐싱된다.
  4. 1 Block Instance2 캐싱되었기 때문에 Instance2 접속한 A프로세스에 의해 엑세스 있게 된다.

Block Transformation : 특정 Instance 존재하는 Block 다른 Instance에서 엑세스하기 위해 Database 존재하는 디스크에 Write한 후 해당 블록 호출한 인스턴스의 DB 버퍼 캐시로 캐싱하여 데이터 블록을 다른 노드로 이동시키는 방식.

 

Cache Fusion 개념

OPS 문제를 극복하기 위해 고안된 아키텍처

특정 인스턴스에 존재하는블록을 인터커넥트를 통해 다른 노드의 인스턴스로 이동시키는 기술.

  1. 인스턴스 2 접속한 A 프로세스는 인스턴스 1 존재하는 1 블록을 액세스하기 위해 호출한다.
  2. 인스턴스 1 존재하는 1 블록은 인스턴스 2 호출에 응답하기 위해 인스턴스 2 SGA DB 버퍼 캐시로 이동해야 한다. 이동을 위해 공유 스토리지에 존재하는 데이터베이스를 이용하지 않고 인스턴스1 인스턴스2 캐싱된 1 블록을 A 프로세스에 의해 엑세스할 있게 된다.
  3. 인터커넥트를 이용하여 인스턴스2 캐싱된 2 블록을 A 프로세스에 의해 엑세스할 있게 된다.

 

목적 : 빠른 블록 이동, 캐시 퓨전은 오라클 RAC 인터커넥트 기술을 통해 원하는 블록을 엑세스할 있다. 블록이 특정 노드의 DB 버퍼 캐시에 Load되어 있다면 디스크 I/O 발생시키지 않기 때문에 블록 이동을 빠르게 처리할 있어 Oracle RAC 성능 향상에 가장 중요한 아키텍쳐이다.

 

GRD : RAC에서 글로벌 리소스를 관리

GRD 모든 정보는 GES GCS 서비스에 의해 관리된다.

  • Data Block 주소
  • 최신 Data Block 위치
  • Data Block 모드(NULL(N), Shared(S), Exclusive(X))
  • Data Block 역할 (로컬, 글로벌)

 

GCS : Data 일관성 무결성을 유지 ( RAC 핵심기능)

 

 

 GCS는 다음을 담당합니다.

  1. 데이터 블록 추적
  2. 인스턴스에서 데이터 블록 요청 수락
  3. 보류중인 인스턴스에 데이터 블록의 잠금을 해제하거나 CR 이미지를 전송하도록 알립니다.
  4. 상호 연결을 통해 인스턴스간에 필요에 따라 데이터 블록 전달 조정
  5. 인스턴스에 PI 유지 또는 폐기 알림

 

GES : Lock 관리

캐시 퓨전 백그라운드 프로세스 종류

ACMS: Atomic Controlfile to Memory Service (ACMS)

GTX0-j: Global Transaction Process

LMON: Global Enqueue Service Monitor

LMD: Global Enqueue Service Daemon

LMS: Global Cache Service Process

LCK0: Instance Enqueue Process

RMSn: Oracle RAC Management Processes (RMSn)

RSMN: Remote Slave Monitor manages background slave process creation and communication on remote instances. These background slave processes perform tasks on behalf of a coordinating process running in another instance.

 

Cache Fusion SSD

Oracle 12c 이전에는 Disk 가장 느리다는 전제로 만들어졌기에 메모리 복제 방식이 좋다고 만들어진 방법이다.

하지만 SSD 인하여 Network 전송보다 디스크 전송이 빠른 경우도 발생하게 되었다.

이런 변경이 있더라도 네트워크 방식과 디스크 방식 중에 가장 효율적인 방식을 선택하여 전송한다. 이런 방식은 자동으로 수행한다.

 

Cache Fusion 활용

Cache Fusion 과다한 발생은 성능 저하를 발생시킨다.

방지책

  • Data 정렬을 통한 Cache Fusion 감소

=> 데이터를 유형별로 정렬하여 Cache Fusion으로 인한 성능 저하 최소화

  • 파티션 테이블을 이용한 Cache Fusion 감소

=> 중복된 블록을 최소화하여 데이터를 삽입하는 방식으로 성능 저하 최소화

(파티션으로 분할하여 논리적으로나 물리적으로 중복 엑세스를 최소화하는 것으로 보임)

 

 

참고 : https://docs.oracle.com/database/121/RACAD/GUID-AEBD3F49-4F10-4BDE-9008-DC1AF8E7DB42.htm#RACAD7275

            https://myalpaca.tistory.com/26

             https://codelib.tistory.com/23

             http://wiki.gurubee.net/pages/viewpage.action?pageId=26739310

             http://oracle-help.com/oracle-rac/oracle-rac-cache-fusion/

            http://www.dba-oracle.com/t_gupta_oracle_rac_cache_fusion.htm

'Oracle Study' 카테고리의 다른 글

오라클 CRS 관리  (0) 2021.04.28
Oracle Clusterware 상태 확인  (0) 2021.04.28
Oracle Flex Cluster  (0) 2021.04.28
Oracleasm 관련  (0) 2021.04.28
GIMR 관련 문서 내용  (0) 2021.04.28