ORACLE/이중화(HA)

OGG Replict의 SPLIT / MERGE (분할/결합)

argoLee 2017. 6. 29. 11:45

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

-----------------------------------------------------------------------------------------

REPLICAT   RDISPG    Last Started 2017-06-21 13:53   Status STOPPED

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