데이터 사이언스 DataScience/Data Base 데이터베이스
[Oracle] OGG Classic 모드 테이블 변경시 가동 순서
섭코딩
2022. 1. 19. 22:57
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 확인
반응형