-- Source : ORACLE to Target : MySQL ( MariaDB )
-- Outline
-- 1. MariaDB 설치
-- 2. GoldenGate 설치
-- 3. 초기적재
-- 4. 동기화
------------------------------------------------------------------
-- Goldengate for MySQL 바이너리 파일을 위치 / 압축해제
------------------------------------------------------------------
------------------------------------------------------------------
-- OGG 에 접속 및 최초 디렉토리 구성
------------------------------------------------------------------
# ggsci
GGSCI > create subdirs
-- MGR 구성을 진행합니다.
GGSCI > view param mgr
port 7809
PURGEOLDEXTRACTS ./dirdat/* , USECHECKPOINTS, MINKEEPHOURS 48
DOWNREPORTMINUTES 30
LAGREPORTMINUTES 5
LAGINFOMINUTES 10
LAGCRITICALMINUTES 60
SYSLOG NONE
------------------------------------------------------------------
-- GLOBALS 구성 및 매니저 프로세스 기동
------------------------------------------------------------------
GGSCI > view param ./GLOBALS
GGSCI > start mgr
-- 이 과정까지 진행되면 source 의 trail file 을 전송 받을 환경 구성이 완료 된 것입니다.
-- 실제 Source 에 pump 를 구성하여 trail file 전송이 이상없이 되는지 확인해 봅니다.
------------------------------------------------------------------
-- OGG 접속 용 MySQL 계정 생성
------------------------------------------------------------------
-- MySQL 에 OGG 가 접속할 수 있도록 계정을 생성합니다.
-- 원활한 진행을 위해 권한을 과도하게 주었기에, 추후 권한 축소에 대한 고민이 필요합니다.
mysql > grant all privileges on *.* to 'mysql'@'localhost' identified by 'mysql';
mysql > grant all privileges on *.* to 'mysql'@'???.???.???.???' identified by 'mysql';
------------------------------------------------------------------
-- OGG 에서 MySQL 에 접속이 가능한지 테스트 합니다.
------------------------------------------------------------------
GGSCI > dblogin sourcedb test@???.???.???.???:3306, userid mysql, password mysql
이 부분을 성공하지 못 하면 이후 replicat 구성 시 에러가 발생합니다.
------------------------------------------------------------------
-- 체크포인트 테이블을 생성합니다.
------------------------------------------------------------------
GGSCI > add checkpointtable test.GGS_CHECKPOINT
CHECKPOINTTABLE test.GGS_CHECKPOINT
------------------------------------------------------------------
-- REPLICAT 구성을 진행합니다.
------------------------------------------------------------------
GGSCI > EDIT PARAM REP_01
replicat rep_01
targetdb test@???.???.???.???:3306, userid maria, password maria
SOURCEDEFS ./dirprm/table.def
SQLEXEC "SET NAMES euckr"
discardfile ./dirout/rep_01.dsc,append
map (SCHEMA).(TABLE_NAME) , target (SCHEMA).(TABLE_NAME) ;
GGSCI > add replicat rep_01, exttrail ./dirdat/kk, extseqno 0, extrba 0
-- 초기 적재 과정은 생략합니다.
-- 주의 사항으로 초기 적재 시 INDEX 가 없으면 MAPPING ERROR 가 발생합니다.
------------------------------------------------------------------
-- 초기적재
------------------------------------------------------------------
-- 이기종 DBMS 로의 데이터 이관입니다.
-- 가장 편한 방법은 OGG 자체에서 제공하는 초기적재를 이용하는 방법입니다.
-- 해당 방법은 테이블 전체 데이터를 읽어 trail file 로 기록합니다.
-- 여기서는 상세를 언급하지 않습니다.
------------------------------------------------------------------
-- 초기적재 후 변경 분 적용
------------------------------------------------------------------
GGSCI > start rep_01
-- 초기 적재의 시점이 소스->타겟 trail 파일 전송 시점보다 느립니다. ( LONG-TX 확인 필요함 )
-- 최근의 스냅샷을 만들어놓고 이후의 변경분을 중첩 적용하는 식으로 처리합니다.
-- (pk index 가 있는 경우 사용할 수 있음)