기술 정보
home
채널 소개
home

Standby recovery 방식 (MMR, TMMR)

문서 유형
기술 정보
분야
백업/복구
키워드
MMR
SMR
Standby
TMMR
적용 제품 버전
6FS07
6FS07PS
7FS01
7FS02
7FS02PS

개요

Standby Recovery 방식 중 MMR(Multi Memory Recovery)과 TMMR(TSN Memory Media Recovery) 방식을 중심으로, 복구 성능 최적화 및 쿼리 정합성 유지 방안을 설명합니다.

방법

MMR (Multi Memory Recovery)

성능 개선 / 복구 대상 블럭에 대한 IO를 Multi Block Read로 동작하여 AIO 방식으로 복구 성능 개선을 수행합니다.
Recovery 대상 block들을 cache에 올려 처리합니다.
MMR 장점 : Multi Block Read/Write 가능

TMMR ( TSN Memory Media Recovery)

기존 Standby 에서 Recovery 진행 시 MMR을 이용하여 Redo Record 반영합니다. MMR 장점인 MBR/MBW 기능 사용을 위해 Redo Record가 TSN 순서가 아닌 DBA 순서로 복구가 진행됩니다.
하지만 DBA 순서로 복구를 진행하면, space meta block이 먼저 반영되고 미반영된 Data block을 가리키고 있는 상태에서 SELECT QUERY가 실행되는 경우 문제가 발생하게 됩니다.
따라서 문제해결 및 MMR의 장점은 MBR을 유지하되 SELECT QUERY 정합성을 보장하기 위해 TSN 순으로 Redo record를 Recovery하는 방식으로 TMMR이 동작하도록 개발합니다.
Redo record 단위로 복구를 진행하면 random IO가 발생하여 수정할 모든 Block을 미리 cache에 올려놓고 recovery 수행 후 디스크에 사용합니다.
TMMR 수행 과정 :
1.
Recovery 대상 block을 모두 cache에 올립니다. (MBR)
2.
cache에 올라온 block이 cache out 되지 않게 ex pin lock을 설정합니다.
3.
TSN 순으로 redo record recovery를 반영하며, 수정하는 block에 대하여 bucket lock을 설정합니다. (bucket lock 획득 시 select query가 인입되면 bucket lock 해제할 때까지 대기)
4.
recovery할 redo record를 모두 반영한 뒤 cache를 해제합니다.
주의
READ ONLY 모드일 때 TMMR 사용 (SELECT 정합성 보장)
READ ONLY 외 MMR 사용 (TMMR이 설정되어 있어도 SELECT 쿼리 정합성이 필요하지 않은 상황에서 MMR로 동작)