문서유형ㅣ기술정보
분야ㅣ백업/복구
적용제품버전ㅣ6FS07, 6FS07PS, 7FS01, 7FS02, 7FS02PS
문서번호ㅣTBATI009
개요
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 수행 과정 :
- Recovery 대상 block을 모두 cache에 올립니다. (MBR)
- cache에 올라온 block이 cache out 되지 않게 ex pin lock을 설정합니다.
- TSN 순으로 redo record recovery를 반영하며, 수정하는 block에 대하여 bucket lock을 설정합니다. (bucket lock 획득 시 select query가 인입되면 bucket lock 해제할 때까지 대기)
- recovery할 redo record를 모두 반영한 뒤 cache를 해제합니다.
주의
READ ONLY 모드일 때
TMMR 사용 (SELECT 정합성 보장)READ ONLY 외
MMR 사용 (TMMR이 설정되어 있어도 SELECT 쿼리 정합성이 필요하지 않은 상황에서 MMR로 동작)