== OGG GLOBALS 파일 설정(Genaral) ======================================================================

#> ./ggsci

GGSCI> EDIT PARAM ./GLOBALS

해당 명령어를 이용하여 OGG 설치 디렉토리의 GLOBALS 파일을 편집하여

저장 할 수 있다

GGSCHEMA OGG -- DB내에 이용할 스키마명

CHECKPOINTTABLE OGG.GGSCHKPT -- DB내에 사용할 체크포인트 테이블명

SYSLOG NONE -- SYS로그 여부

-- SYSLOG 때문에 사용하던 기능이었는데 12cR3 부터는 필요 없어짐으로 있어도 되고 없어도 되는 설정임

== OGG Manager Process 설정 및 기동

#> ./ggsci -- ggsci 툴 이용하여 OGG 연결

GGSCI> EDIT PARAM MGR --

해당 명령어를 이용하여 OGG 설치 디렉토리내 dirprm 디렉토리 밑에 mgr.prm파일을

편집하여 저장 할 수 있다.

-- mgr.prm 파일내용(Source)

PORT 9010

-- mgr.prm 파일내용(Target)

PORT 9010

위와 같이 OGG에서 사용할 수 있는 TCP/IP Port 를 지정한뒤에 파일을 저장한다

GGSCI> START MGR -- Manger Process 기동

GGSCI> info ALL -- 체크

GGSCI> info MGR -- 체크

== 테이블 데이터 동기화를 위한 Supplemental Logging 설정(Source) ================================================================

#> ./ggsci

GGSCI> dblogin userid [OGG Schema]

ex) dblogin userid ogg

passwod : ogg

GGSCI> INFO TRANDATA [owner].[table_name] -- 테이블 Supplemental Logging 설정 여부 확인

ex) INFO TRANDATA APP.TCUSTMER

GGSCI> ADD TRANDATA [owner].[table_name] -- 해당 테이블 Supplemental Logging 설정

ex) ADD TRANDATA APP.TCUSTMER

반드시 PK가 있어야 함 없을시 Warning 에러 발생

GGSCI> INFO TRANDATA [owner].[table_name] -- 테이블 Supplemental Logging 설정 여부 확인

== Checkpoint 테이블 생성(Target) Source에는 필요없음.

#> ./ggsci

GGSCI> dblogin userid [OGG Schema]

ex) dblogin userid ogg

passwod : imsi00

GGSCI> ADD CHECKPOINTTABLE

== Extract Process 생성 및 기동(Source) ====================================================================

OGG에서 가장 중요한 Extrac 즉 Oline Redo/Archive LOG를 읽어서 변경 데이터를

추출하는 Process

#> ./ggsci

GGSCI> EDIT PARAM [EXTRACT_NAME]

ex) EDIT PARAM ext01

해당 명령어를 이용하여 OGG 설치 디렉토리내 dirprm 디렉토리 밑에 ext01.prm파일을

편집하여 저장 할 수 있다.

############################################################################################

-- ext01.prm 파일 내용 작성하여 설정

--# Extract Name

extract ext02

--# DB Information

UserID ogg, Password ogg

TRANLOGOPTIONS INTEGRATEDPARAMS(max_sga_size 2048, parallelism 2, _LOGMINER_READ_BUFFERS 256)

TRANLOGOPTIONS BUFSIZE 10000000

TRANLOGOPTIONS _READAHEADCOUNT 64

_TRAILOUTBUFFERSIZE 1048576

LOGALLSUPCOLS

UPDATERECORDFORMAT COMPACT

--# Management Discard File

DiscardFile ./dirout/ext02.dec, append, megabytes 50

DisCardRollover at 00:01

--# Report File

ReportCount Every 1 Records

ReportRollover at 00:01

--# Trail (Ext)

ExtTrail ./dirdat/et

--# Table List

TABLE GRN.*;

TABLE PRD.*;

############################################################################################

-- Extract Process 등록

위에서 등록한 내용을 토대로 OGG에 Extract 등록

GGSCI> INFO ALL -- 기존 정보 확인

GGSCI> dblogin userid ogg -- ogg 스키마로 DB접속

Password : ogg

GGSCI> ADD EXTRACT [extract name], TRANLOG, BEGIN NOW -- EXT01 이름으로 EXTRACT Process 등록

ex)ADD EXTRACT EXT01, TRANLOG, BEGIN NOW -- EXT01 이름으로 EXTRACT Process 등록

GGSCI> ADD EXTTRAIL ./[extrail 경로], EXTRACT [extract name], MEGEBYTES [file size] -- Trail 파일 경로, EXTRACE 파일명, 파일 사이즈 지정

ex)ADD EXTTRAIL ./dirdat/ex, EXTRACT ext01, MEGEBYTES 50

GGSCI> INFO ALL -- 추가된 EXTRACT Process 확인

GGSCI> INFO [extract name] -- EXTRACT PROCESS 상세 확인

ex) INFO EXT01

-- integrated 모드

GGSCI> ADD EXTRACT TEST_EXT INTEGRATED TRANLOG, BEGIN now

-- Extract Process 삭제

잘못된 Extract Process 등록시 삭제

#> ./ggsci

GGSCI> DELETE [extract name]

ex) DELETE EXT01

-- Extract Process 시작

GGSCI> Start [extract name] -- EXTRACT Process 기동

ex) START EXT01

GGSCI> VEIW REPORT [extract name] -- 기동 상태 및 에러 확인

ex) VEIW REPORT EXT01

GGSCI> INFO [extract name] -- EXTRACT PROCESS 상세 확인

ex) INFO EXT01

-- Extract 디비에 등록

REGISTER EXTRACT TOT_EXT DATABASE

-- intgrated 모드

ADD EXTRACT TOT_EXT INTEGRATED TRANLOG, BEGIN now

== PUMP Process 생성 및 기동(Source) ========================================================================

OGG에서 변경데이터를 전송하는 역할을 하는 PUMP Procss

#> ./ggsci

GGSCI> EDIT PARAM [PUMP_NAME]

ex) EDIT PARAM pmp01

해당 명령어를 이용하여 OGG 설치 디렉토리내 dirprm 디렉토리 밑에 pmp01.prm파일을

편집하여 저장 할 수 있다.

############################################################################################

-- pmp01.prm 파일 내용 작성하여 설정

--# Pump Name

extract pmp05

--# Mode

PassThru

EOFDELAYCSECS 30

FLUSHCSECS 30

--# Target Information

RmtHost 192.168.24.11, MGRPORT 9020

--# Trail (Rmt)

RmtTrail ./dirdat/ek

--# Report File

ReportCount Every 1 Records

--ReportCount EVERY 1 HOURS, RATE

ReportRollover at 00:01

DISCARDFILE ./dirout/psdb01.dsc, APPEND, MEGABYTES 2000

--# Table List

TABLE APP.*;

############################################################################################

-- Pump Process 등록

위에서 등록한 내용을 토대로 OGG에 PUMP 등록

GGSCI> ADD EXTRACT [pump name], exttrailsource [extrail 경로] -- EXT01 이름으로 EXTRACT Process 등록

ex)ADD EXTRACT pmp01, exttrailsource ./dirdat/ex -- EXT01 이름으로 EXTRACT Process 등록

GGSCI> ADD RMTTRAIL ./[extrail 경로], EXTRACT [pump name], MEGEBYTES [file size] -- Trail 파일 경로, EXTRACE 파일명, 파일 사이즈 지정

ex)ADD RMTTRAIL ./dirdat/ex, EXTRACT pmp01, MEGABYTES 50

GGSCI> INFO ALL -- 추가된 EXTRACT Process 확인

GGSCI> INFO [pump name] -- EXTRACT PROCESS 상세 확인

ex) INFO pump01

-- Pump Process 삭제

잘못된 Pump Process 등록시 삭제

#> ./ggsci

GGSCI> DELETE [pump name]

ex) DELETE pump01

-- Pump Process 시작

GGSCI> Start [Pump name] -- EXTRACT Process 기동

ex) START pmp01

GGSCI> VEIW REPORT [Pump name] -- 기동 상태 및 에러 확인

ex) VEIW REPORT pmp01

GGSCI> INFO [Pump name] -- EXTRACT PROCESS 상세 확인

ex) INFO pmp01

== REPLICAT Process 생성 및 기동(TARGET) ===============================================================================================================================================================

Source 시스템의 변경데이터를 Extract/Pump를 받은 변경데이터를 Target DB에 반영하는

REPLICAT Process

#> ./ggsci

GGSCI> EDIT PARAM [REPLICAT_NAME]

ex) EDIT PARAM rep01

해당 명령어를 이용하여 OGG 설치 디렉토리내 dirprm 디렉토리 밑에 rep01.prm파일을

편집하여 저장 할 수 있다.

############################################################################################

-- rep01.prm 파일 내용 작성하여 설정

--# Replicat Name

Replicat rep05

--# DB Information

USERID ogg, Password "ogg!"

--# Management Discard File

DiscardFile ./dirout/rep05.dec, append, megabytes 200

DisCardRollover at 00:01

--# Report File

ReportCount Every 1 Records

--ReportCount EVERY 1 HOURS, RATE

ReportRollover at 00:01

--# Auto Mapping Column

AssumeTargetDefs

--# defgen file

--#SOURCEDEFS /apps/oggdev/ogg123/dirdef/record.def

--# Table List

map APP.*, target ETT.* ;

MAP GRN.TESTFROM, TARGET ODS.TESTTO&

COLMAP

(

USEDEFAULTS,

ODS_LUPD_DT=@DATENOW(),

RGCS_PHYC_DEL_YN=@CASE(@GETENV('GGHEADER', 'OPTYPE'),'DELETE','Y','N')

);

--ALLOWNOOPUPDATES

Updatedeletes

OVERRIDEDUPS

############################################################################################

-- REPILICAT Process 등록

위에서 등록한 내용을 토대로 OGG에 REPLICAT 등록

GGSCI> ADD REPLICAT [REPLICAT_NAME], exttrail [extrail 경로] -- REP01 이름으로 REPLICAT Process 등록

ex)ADD REPLICAT rep01, exttrail ./dirdat/ex -- REP01 이름으로 REPLICAT Process 등록

GGSCI> INFO ALL -- 추가된 REPLICAT Process 확인

GGSCI> INFO [REPLICAT name] -- REPLICAT PROCESS 상세 확인

ex) INFO REP01

-- REPLICAT Process 삭제

잘못된 REPLICAT Process 등록시 삭제

#> ./ggsci

GGSCI> DELETE [REPLICAT name]

ex) DELETE REP01

-- REPLICAT Process 시작

GGSCI> Start [REPLICAT name] -- EXTRACT Process 기동

ex) START pmp01

GGSCI> VEIW REPORT [REPLICAT name] -- 기동 상태 및 에러 확인

ex) VEIW REPORT pmp01

GGSCI> INFO [REPLICAT name] -- EXTRACT PROCESS 상세 확인

ex) INFO pmp01

-- REPLICAT 반영 건수 확인

GGSCI> STATS [REPLICAT_NAME]

===========================================================================

Colmap 사용하기

-- TARGET EXT05 내용

--# Table List

TABLE APP.TCUSTMER;

TABLE APP.TCUSTORD,

token(tk_rowid = @getenv('ORARECORD','ROWID'),

tk_commit_ts=@getenv('GGHEADER','COMMITTIMESTAMP'));

-- REPLICAT REP05 내용

--# Table List

MAP APP.TCUSTMER, TARGET ETT.TCUSTMER;

MAP APP.TCUSTORD, TARGET ETT.TCUSTORD &

COLMAP

(USEDEFAULTS, row_id=@token('tk_rowid'), commit_ts=@token('tk_commit_ts')),

keycols(row_id);

impdp test/test schemas=ODS directory=EXPDP1 logfile=ODS_TABLE_IMPDP.log job_name=ODS_TABLE_IMPDP content=metadata_only parallel=8 NETWORK_LINK=testdb

평소에는 [SCHMA].[*]로 전부 선택해서 사용 할 수있으나

만약 콜맵을 이요하여 변경내용만 추가해서 저장하거나 하는경우 반드시 명시해줘야함.

테스트 문서에는 " 더블쿼테이션으로 되어있으나 실제 테스트에는 '' 싱글 쿼테이션을 사용해야함

-- trail 파일 자동삭제 설정

mgr.prm파일에 작성할것

PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 7

*/

-- Replicat 프로세스 초기화

ALTER REPLICAT [프로세스명] BEGIN NOW

-- 스키마 단위로 supplemental log 설정

GGSCI> ADD SCHEMATRANDATA [스키마명]

-- replicat 초기화

ALTER recplicat TEST_R01, BEGIN NOW

-- SCN 이용한 REPLICAT 프로세스 시작

start recplicat TEST_R01, aftercsn

start replicat [PROCESS NAME] aftercsn [SCN number] -- 반드시 aftercsn 옵션을 써서 수행해야 함.

-- datenow TIMESTAMP 추가

ODS_LUPD_TS=@DATE('YYYY-MM-DD HH:MI:SS.FFFFFF', 'JTS', @GETENV('JULIANTIMESTAMP')), &

ODS_LUPD_TS=@DATENOW(), &

-- 현재 SCN 확인 및 aftercsn 적용 방법

-- 현재 SCN 확인(SOURCE)

SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER CURRENT_SCN

FROM DUAL;

CURRENT_SCN

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

6041742631

-- timestamp 로 scn 확인

select timestamp_to_scn(TO_TIMESTAMP('20180411 14:00:29.988800','YYYYMMDD HH24:MI:SS.FF6'))

from dual

-- scn 으로 timestamp 확인

select scn_to_timestamp(6041841798)

from dual

-- 위에서 확인한 SCN 시점 데이터만 export (source)

expdp test/test dumpfile=test.dmp LOGFILE test.LOG schemas=test_user flashback_scn=6041742631

-- 확인한 SCN 시점 데이터만 import (target)

impdp test/test dumpfile=test.dmp LOGFILE test_imp.LOG schemas=test_user

-- 해당 시점이후 시점에서 동기화포인트 찾으면서 프로세스 스타트 (target)

START replicat test_rep, aftercsn 6041742631

[출처] OGG 프로세스 설정|작성자 경진

'ORACLE > 이중화(HA)' 카테고리의 다른 글

[OGG] COLMATCH  (0) 2024.01.20
[OGG] FILTER 데이터 선택  (0) 2024.01.20
OGG 12c 설치 구성  (0) 2019.10.18
integrated extract 구성  (0) 2019.10.18
parallel replicat  (0) 2019.10.18

+ Recent posts