OGG Replict의 SPLIT / MERGE (분할/결합)
SPLIT / MERGE 시 절차 주의
- SPLIT 할 경우 REPLICAT 파라미터에서 DDL 문 주석처리하기
- MERGE 할 경우 PUMP 프로세스 중지 후 작업진행 하고 마지막에 기동하기
## SPLIT 작업절차 ################################################
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>> rcommc 의 TB_CM_SEARCH_BULK 테이블의 반영이 6시간 30분 밀려있어 Range분할.
1) 파라미터 copy 후 변경 (반드시 모든 DDL은 주석 처리하기 심각한 오류발생 함.)
2) 분리 작업할 replicat 프로세스 stop
3) 복제 시점 확인
-- info <process>
4) 새로 추가할 replicat 프로세스 등록
-- add replicat <process> exttrail <./dirdat/pa>
5) 복제 시점 맞추기
--> 3)에서 stop 한 시점 info 로 확인
-- alter <process>, extseqno #, extrba #
6) 프로세스 기동 및 확인
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 1. 파라미터 copy 및 파라미터 수정
sh> cp ./dirprm/rcommc.prm ./dirprm/rcommc_a.prm
sh> cp ./dirprm/rcommc.prm ./dirprm/rcommc_b.prm
sh> vi ./dirprm/rcommc_a.prm
* DDL 로 시작되는 모든 파라미터 주석처리
-- include ./dirprm/ddl.prm
* Range 옵션 적용
map TB_CM_SEARCH_BULK , TB_CM_SEARCH_BULK , filter(@range (1,3)); --> rcommc.prm
map TB_CM_SEARCH_BULK , TB_CM_SEARCH_BULK , filter(@range (2,3)); --> rcommc_a.prm
map TB_CM_SEARCH_BULK , TB_CM_SEARCH_BULK , filter(@range (3,3)); --> rcommc_b.prm
# 2. 분리 작업할 Replicat process Stop
GGSCI> stop rcommc
# 3. Replicat 읽는 위치 확인
GGSCI> info rcommc
------------------------------------------------------------------------------------------
--REPLICAT RCOMMC Last Started 2014-07-31 10:07 Status STOPPED
--Checkpoint Lag 06:28:59 (updated 00:02:50 ago)
--Log Read Checkpoint File ./dirdat/pa012835
-- 2014-07-31 09:40:58.729600 RBA 93175351
------------------------------------------------------------------------------------------
GGSCI> info rcommc
------------------------------------------------------------------------------------------
--REPLICAT RCOMMC_A Last Started 2014-07-31 10:07 Status STOPPED
--Checkpoint Lag 06:28:59 (updated 00:00:10 ago)
--Log Read Checkpoint File ./dirdat/pa000000
-- 2014-07-31 09:40:58.729600 RBA 00000000
------------------------------------------------------------------------------------------
# 4. 새로 추가할 replicat 프로세스 등록
GGSCI> add replicat rcommc_a exttrail ./dirdat/pa
GGSCI> add replicat rcommc_b exttrail ./dirdat/pa
# 5. 시점 맞추기
GGSCI> alter replicat rcommc_a, extseqno 12835, extrba 93175351
GGSCI> alter replicat rcommc_b, extseqno 12835, extrba 93175351
# 6. 프로세스 기동 및 확인
-- 추가한 프로세스 먼저 기동 후 확인.
GGSCI> start rcommc_a
GGSCI> start rcommc_b
GGSCI> start rcommc
-- 프로세스 확인.
GGSCI> info all
GGSCI> stats rcommc_a
## MERGE 작업절차 ################################################
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>> rcomma_b 를 rcomma 로 merge
1) 전송 프로세스 Stop (pump 프로세스 중지)
2) Replicat 읽는 위치 확인
3) Replicat Stop
4) Process 결합
5) 프로세스 삭제
6) 프로세스 기동 및 상태확인
7) 전송 프로세스 Start
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 1. 전송 프로세스 Stop
* pump 프로세스 수행서버(sp03)에서 수행
ggsci> stop pbia
* 이하는 replicat 수행서버(spbi02)에서 수행한다
# 2. Replicat 읽는 위치 확인
-- rcomma 와 rcomma_b 프로세스의 RBA 값이 같아 질 때까지 대기 ( pump 중지 후 데이터 동기화 완료 )
ggsci> info rcomma
ggsci> info rcomma_b
-----------------------------------------------------------------------------------------
Checkpoint Lag 01:03:38 (updated 00:03:46 ago)
Log Read Checkpoint File ./dirdat/pa010733
2017-06-22 13:33:11.995440 RBA 536778634
-----------------------------------------------------------------------------------------
# 3. Replicat Stop
-- <2번> 수행 후 진행
ggsci> stop rcomma
ggsci> stop rcomma_b
# 4. Process 결합
-- rcomma_b 프로세스에 있는 테이블을 모두 rcomma 파라미터에 추가
ggsci> edit param rcomma
map TB_CM_SEARCH_BULK , TB_CM_SEARCH_BULK
# 5. 프로세스 삭제
ggsci> dblogin userid ogg, password xxxxxxxxxx
ggsci> delete rcomma_b
ggsci> exit
# 6. 프로세스 기동 및 상태 보기
ggsci> start rcomma
ggsci> info rcomma
# 7. 전송 프로세스 Start
* pump 프로세스 수행서버(sp03)에서 수행
ggsci> start pbia