개요
TSC(Tiber Standby Cluser) 환경에서 recovery 방식은 운영 모드에 따라 두 가지 방식으로 처리됩니다.
recovery 모드와 read only 모드에서 각각 적용되는 복구 방식인 MMR과 TMMR에 대해 설명합니다.
방법
TSC (Tiber Standby Cluser) recovery 방식은 recovery 모드와 read only 모드일 때 아래와 같이 recovery 방식에 차이 발생합니다.
•
recovery 모드: MMR(Multi-Master Replication) 방식 적용
•
read only 모드: TMMR(TSN-based Multi-Master Replication) 방식 적용
1. MMR(Multi-Master Replication)
•
TSC에서 MMR을 이용해 redo record 반영합니다.
•
MMR 은 MBR(Multiple Block Read) 과 MBW(Multiple Block Write) 기능을 위해서 redo record 를 TSN 순이 아닌 DBA 순으로 recovery 진행합니다.
•
DBA 순으로 진행하다 보니 space meta block 이 먼저 반영되고 아직 반영되지 않은 data block 을 가리키고 있는 상태에서 select query 가 들어오면 문제 발생할 수 있습니다.
•
Standby DB 가 recovery 모드일 때는 MMR 을 통해서 반영합니다.
참고
•
space meta block :
Tablespace(논리적 데이터 저장 단위), Segment(객체의 실제 저장 영역), Extent(세그먼트를 구성하는 연속된 블록 집합), Block(디스크에서 입출력되는 최소 단위), Space management 등 메타 정보 블록을 의미합니다.
2. TMMR(TSN Multi-Master Replication)
•
select query 정합성을 위해서 TSN 순으로 redo record를 recovery 진행합니다.
•
MMR을 이용해서 recovery 할 모든 block을 cache에 적재합니다. (이때 exl pin lock을 걸어 cache out을 방지합니다.)
•
TSN 순으로 redo record recovery를 진행하여 수정되는 block에 bucket lock을 적용합니다. bucket lock을 잡고 있기 때문에 도중에 select query가 들어오면 lock이 풀릴 때까지 대기합니다.
•
redo record recovery 모두 처리한 이후에 cache out 합니다.
•
Standby DB 가 read only 모드일 때는 TMMR 을 통해서 반영합니다.