Oracle GoldenGate Guide 1 - Oracle to Oracle 단방향 동기화
Products/OGG / ODI View Comments
Oracle to Oracle 단방향 동기화
# 본 가이드는 실습 위주로 작성되었으며 좀더 자세한 내용은 첨부된 문서파일에 있습니다.
@ 동일한 Layout을 가진 Table의 Initial Load와 동기화
0 사전 준비
- 단방향 동기화 테스트를 위해 두 개의 Oracle DB instance로 실습환경을 구성하였다.
orcl -> source system
ortest -> target system
- Application : Oracle Database 11g, GoldenGate 11g
- ggsource와 ggtarget에 각각 GG의 압축을 풀어 설치한다.
- Source system과 target system 모두 하위 디렉토리를 생성한다.
Shell> ./ggsci GGSCI> CREATE SUBDIRS |
- DML에 의해 변경된 데이터의 동기화를 위한 로그파일의 활성화
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; |
SQL> ALTER SYSTEM SWITCH LOGFILE; |
1.1 Source 시스템 환경 준비
1.1.1 Source에서의 Manager process 구성
- Source 시스템에 Manager parameter file을 만들고 사용할 포트를 설정한다
GGSCI> edit param mgr ------------------------------------------- port 6001
1.1.2 Source Table을 만들고 데이터를 적재한다.
- GoldenGate 11g에 예제로 포함된 Tcustmer, Tcustord 두 개의 table로 실습을 진행하였다.
- GGSCI로 Source DB에 접속 후 2개의 테이블에 대한 추가 로깅 설정
GGSCI> dblogin userid lovelybin, password ******** GGSCI> add trandata lovelybin.tcustmer GGSCI> add trandata lovelybin.tcustord |
1.2 Target 시스템 환경 구성
1.2.1 Target에서의 Manager process 구성
- Manager가 사용할 Port 설정
GGSCI> edit param mgr ------------------------------------------- port 6002
Target 시스템에 table 생성
- Target System은 Table만 생성하고 Data는 넣지 않는다.
- 초기 데이터를 적재를 위한 장단점을 지닌 BackUp/Restore 또는 Export/Import와 같은 기술이 있다. 그 대신에 어플리케이션이 활성 상태일 동안 초기 데이터 적재를 수행하기 위해 GG를 사용할 것이다. 이번 장에서는 소스 테이블에서 데이터를 가져오기 위한 Extracting 사용과 타깃 시스템에 Replicat을 하기 위해 직접 데이터 전송을 보여준다
- 초기 데이터 capture를 위한 extract를 생성
GGSCI> add extract eini01, sourceistable
GGSCI> edit param eini01 |
--extract parameter extract eini01 userid lovelybin, password ******** rmthost 210.108.181.24, mgrport 6002 rmttask replicat, group rini01 table lovelybin.tcustmer; table lovelybin.tcustord; |
- Target system에 초기 데이터 로드를 위한 배치 작업을 추가한다.
GGSCI> add replicat rini01, specialrun
* Target System이 바라볼 DB로 SETENV 명령을 통해 바꿔준다.
GGSCI> edit param rini01 |
--replicat parameter replicat rini01 setenv (ORACLE_SID="ortest") --Identical Table assumetargetdefs userid lovelybin, password ******** discardfile ./dirrpt/rini01.dsc, purge map lovelybin.*, target lovelybin.*; |
Source system에서 다음과 같이 실행한다.
|
|
GGSCI> VIEW REPORT EINI01 |
- 로그 기반의 Oracle 데이터 Capture의 경우, Capture Process는 Oracle Redo log 또는 Archive log에서 직접 변경 데이터를 capture하고, GoldenGate remote trails인 큐에 변경 사항을 저장하도록 구성된다.
- 변경된 데이터 감지를 위한 Capture Process를 구성한다
GGSCI> ADD EXTRACT EORA01, TRANLOG, BEGIN NOW, THREADS 1 |
- 추가된 Extract Group을 확인한다.
- 변경될 데이터를 Target System을 저장하기 위한 Trail을 추가한다.
ADD RMTTRAIL ./dirdat/01, EXTRACT EORA01, MEGABYTES 5 |
- 생성된 Trail의 정보
INFO RMTTRAIL * |
|
- 변경된 데이터를 감지하여 Target System으로 전달하기 위한 설정을 한다.
- 변경된 데이터를 어디까지 읽어 들였는지 확인하기 위하여 Checkpoint table을 설정한다.
-
Target System에 Checkpoint table을 추가하기 위해 GLOBAL Parameter 파일을 설정한다.
GGSCI> EDIT PARAMS ./GLOBALS --------------------------------------------------------------------------------------------------- checkpointtable lovelybin.ggschkpt |
- Target System DB에 접속해 Replicat Checkpoint table을 생성한다.
GGSCI> DBLOGIN USERID ggtarget1, PASSWORD welcome1 GGSCI> ADD CHECKPOINTTABLE |
Target System에 Replicat Group을 추가한다. Source에서 설정한 Trail과 동일한 파일명으로 한다.
GGSCI> ADD REPLICAT RORA01, EXTTRAIL ./dirdat/01 |
GGSCI> EDIT PRARAM RORA01 |
--replicat parameter replicat rora01 setenv (ORACLE_SID="ortest") --Identical Table assumetargetdefs userid lovelybin, password ******** discardfile ./dirrpt/rini01.dsc, purge map lovelybin.tcustmer, target lovelybin.tcustmer; map lovelybin.tcustord, target lovelybin.tcustord; |
START REPLICAT RORA01
|
GGSCI> INFO REPLICAT RORA01 |
4 Generate Activity and Verify Results
4.1 Generate Database Operation
- GoldenGate 예제로 있는 스크립트를 통해 Source DB의 내용을 변경한다.
4.2 Verify change capture and delivery
Tcustmer
|
Tcustord
|
- Target System으로 변경 데이터 전송
GGSCI> SEND EXTRACT EORA01, REPORT GGSCI> VIEW REPORT EORA01 |
- Log 파일을 통한 변경 확인
GGSCI> SEND REPLICAT RORA01, REPORT GGSCI> VIEW REPORT RORA01 |
- DB Link를 통한 변경 데이터 확인
SQL> (select * from tcustmer minus select * from tcustmer@ortest_link) 2 UNION ALL 3 (select * from tcustmer@ortest_link minus select * from tcustmer);
no rows selected |
# 실습에 관한 좀 더 자세한 사진은 첨부문서에 있습니다.
'Products > OGG / ODI' 카테고리의 다른 글
[OGG] Goldengate 와 expdp 를 활용한 Zero Down-Time Oracle DB Migration 간략 절차 (0) | 2012.05.07 |
---|---|
[OGG] Goldengate 11gR1 CDC 제품에서 Supplemental Logging 설정 (0) | 2012.04.30 |
OGG_FLAT FILE 생성 (2) | 2012.04.21 |
Oracle GoldenGate Guide 2 - Oracle to Oracle 단방향 동기화 (0) | 2012.04.17 |
Recent Comments