Oracle Database Admin/Oracle Golden Gate(OGG)

[OGG] Coordinated Replicated

다소곳한 직장인 DBA 일생 기록 2025. 5. 6. 19:54

Coordinated Replicat 개요

  • Coordinated Replicat은 복제를 병렬로 처리하기 위해 여러 개의 쓰레드를 사용하는 복제 유형입니다.
  • 각 쓰레드는 독립적으로 트랜잭션을 처리하지만, 전체적으로는 단일 Replicat 인스턴스처럼 작동합니다.
  • 처리 속도 향상을 위해 설계되었으며, 고성능 복제 환경에 적합합니다.

 


작동 방식

  • Replicat 프로세스는 여러 개의 쓰레드로 구성되어 있고, 각 쓰레드는 서로 다른 트랜잭션을 병렬로 처리합니다.
  • 쓰레드는 복제 데이터를 받아들여 정해진 기준에 따라 트랜잭션을 분배받습니다.
  • 트랜잭션은 충돌을 피하기 위해 키 매핑 또는 해시 알고리즘을 사용하여 특정 쓰레드에 할당됩니다.

 


장점

  • 병렬 처리로 인해 데이터 적재 속도 및 처리량이 증가
  • 단일 Replicat보다 더 많은 트랜잭션을 동시에 처리
  • 고성능 데이터 웨어하우징 및 분석 시스템에서 효과적

 


내용 요약

  1. Replicat 프로세스 STOP
  2.  Replicat 프로세스 INFO - seqno, rba 확인
  3. Replicat 프로세스 Edit Param - THREADRANGE(n)
  4. Replicat 프로세스 ADD - maxthreads
  5. Replicat 프로세스 START - NOFILTERDUPTRANSACTIONS
  6. Replicat 프로세스 Edit Param 또는 DELETE REPLICAT rep1

 


1. Replicat 프로세스 STOP

  • replicat 프로세스 중지 
  • (threadrange 사용하는 경우) synchronize rep
GGSCI> stop rep1
GGSCI> synchronize rep rep1    ------>> Threadrange

 

2. Replicat 프로세스 INFO - seqno, rba 확인

  • Replicat 프로세스 중지 후 seqno, rba 확인
GGSCI> info rep1

REPLICAT   REP1      Last Started 2024-02-10 16:42   Status STOPPED
COORDINATED          Coordinator                      MAXTHREADS 25
Checkpoint Lag       05:49:52 (updated 00:00:03 ago)
Log Read Checkpoint  File ./dirdat/a1000052287	------>>  a1 제외한 뒤의 숫자(seq)
                     2024-01-18 09:30:44.366131  RBA 362665405	----->> RBA 값 362665405

 

3. Replicat 프로세스 Edit Param - THREADRANGE(1-n)

-- Threadrange 적용할 replicat param 조회
GGSCI> view param rep1

REPLICAT rep1 
USERID ogg, PASSWORD oracle
REPERROR 1403, DISCARD
REPERROR 1, DISCARD 
DISCARDFILE ./dirrpt/rep1.dsc , append megabytes 2000 
---- TABLE List
MAP TEST.TEST , TARGET TEST.TEST ;

-- 신규 프로세스 생성 
GGSCI> edit param rep2

REPLICAT rep2 
USERID ogg, PASSWORD oracle
REPERROR 1403, DISCARD
REPERROR 1, DISCARD 
DISCARDFILE ./dirrpt/rep2.dsc , append megabytes 2000 
---- TABLE List
MAP TEST.TEST , TARGET TEST.TEST, THREADRANGE(1-8);

 

4. Replicat 프로세스 Add 추가

-- replicat 추가
dblogin userid ogg, password oracle
add rep REP2, COORDINATED  , exttrail ./dirdat/a1,   maxthreads 16 

-- replicat ext 추출시점 변경  
alter rep REP2,  extseqno 52287, extrba 362665405

 

5. Replicat 프로세스 START

-- 신규 threadrange 적용한 replicat 프로세스 기동
start REP2, NOFILTERDUPTRANSACTIONS

-- DML 처리속도 확인 
stats REP2 , reportrate sec , table test.* 

info REP2
info REP2, detail

 

6. 기존 Replicat 프로세스 삭제 & 수정 

  • 삭제 : replicat 프로세스 1개의 테이블만 사용한 경우(다시 start할 필요없음)
  • 수정 : replicat 프로세스 n개의 테이블을 사용한 경우(다시 start해야함)
-- 삭제 : replicat 프로세스에서 1개의 테이블만 사용한 경우(다시 start할 필요없음)
delete rep1

-- 수정 : replicat 프로세스에서 n개의 테이블을 사용한 경우(다시 start해야 함)
/* 
A,B,C,D 총4개의 테이블에서 C테이블만 분리했다면.. 
나머지 A,B,D 테이블은 계속 동기화해야하므로, C테이블만 주석처리하고 재기동
*/ 
edit param rep1	-----> MAP C 테이블 주석처리

-- replicat 기동
start rep1

 

반응형

'Oracle Database Admin > Oracle Golden Gate(OGG)' 카테고리의 다른 글

OGG 연동 테이블 추가  (0) 2025.03.08
OGG 추가 시 주의사항 정리  (0) 2025.03.02
OGG 명령어 정리  (0) 2025.03.02