본문 바로가기

데이터 사이언스 DataScience/Data Base 데이터베이스

[Oracle] OGG Classic 모드 테이블 변경시 가동 순서

1. 상황

Classic 모드에서 source 테이블의 컬럼 추가, Online redefinition 등 변경이 발생하는 경우

 

2. 동작순서

1) BR end recovery checkpoint랑 current checkpoint 확인

-- 1) ggsci에서 체크포인트 확인
INFO {EXTRACTOR 이름} SHOWCH

-- 2) ggsci에서 체크포인트 맞추기
SEND {EXTRACTOR 이름} BR BRCHECKPOINT IMMEDIATE

-- 3) ggsci에서 체크포인트 확인
INFO ALL

 

2) Extractor 프로세스 중지

-- ggsci에서 STOP PROCESS
STOP {EXTRACTOR 이름}

 

3) 테이블 변경

--1) 컬럼추가의 경우 SQL로 DDL 실행, 단 이때 dirprm의 parameter에 컬럼 정보는 사전에 추가되어야함

--2) ONLINE REDEFINITION의 경우 - INTERIM 테이블에 LOG GROUP 적용되어있는지 확인
SELECT * FROM DBA_LOG_GROUPS WHERE OWNER='오너' AND TABLE_NAME = '임시테이블'; 

-- 만약에 LOG GROUP 적용 안되어있을 경우 반드시 적용, PK의 경우
ALTER TABLE 오너.임시테이블이름 ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
SELECT * FROM DBA_LOG_GROUPS WHERE OWNER='오너' AND TABLE_NAME = '임시테이블'; 

-- SYNC 맞추고 FINISH

 

4) Extractor 프로세스 재가동

-- 1) ggsci에서 재가동
START {EXTRACTOR 이름}

-- 2) 상태 확인
INFO ALL

-- ABENDED 등 문제 발생시 /dirout에서 log 확인
반응형