인성장

[OGG] OGG 설치 및 구성 방법 (1) 본문

Oracle/Goldengate

[OGG] OGG 설치 및 구성 방법 (1)

인성장 2025. 6. 19. 14:52

 

 

OGG 설치 및 구성 방법 (1)

 

구성 환경 정보

  Source Server Target Sever
OS CentOS Linux 6.10 Oracle Linux 8.6
Database Version / Edition Oracle Database 11.2.0.4 Enterprise Edition Oracle Database 19.22.0.0 Enterprise Edition
OGG Version 11.2.1.0.33 19.1.0.0

 

 

설치 방법

 

1. ogg 계정 별도 생성    Source   Target 

oracle 계정으로 ogg 설치하여 운영해도 되지만, 프로세스 분리 및 권한 관리 등을 위해 OS상에 별도 ogg 계정을 생성해줍니다.

# useradd -g dba -G dba ogg
# passwd ogg
# su - ogg

 

 

2. ogg 계정 환경변수 설정    Source   Target 

서버별, oracle 계정에 설정되어있는 환경변수를 참고하여 작성해주세요.

$ vi ~/.bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4
export OGG_HOME=/oracle/ogg   # OGG_HOME 설치 경로
export ORACLE_SID=HISDB
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$OGG_HOME    # $OGG_HOME 추가
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$OGG_HOME     # $OGG_HOME 추가
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

 

 

3.  Source   ogg 설치

ogg 11g까지는 설치경로에 압축파일만 해제하면 설치완료

$ unzip V34339-01_112103_Linux-x86-64.zip
$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /oracle/ogg

 

 

4.  Target   ogg 설치

$ unzip V983658-01.zip
$ cd /home/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response
$ vi oggcore.rsp
...(생략)...
INSTALL_OPTION=ORA19g
SOFTWARE_LOCATION=/oradata/ogg
...(생략)...

$ ./runInstaller -silent -responsefile /home/ogg/work/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
Oracle Universal Installer 시작 중...

임시 공간 확인 중: 120MB 이상이어야 합니다..   실제 50015MB    성공
스왑 공간 확인 중: 150MB 이상이어야 합니다..   실제 15249MB    성공
다음에서 Oracle Universal Installer의 시작을 준비하는 중 /tmp/OraInstall2024-04-16_01-26-50PM. 기다리십시오.
다음 위치에서 이 설치 세션의 로그를 찾을 수 있습니다.
 /oracle/app/oraInventory/logs/installActions2024-04-16_01-26-50PM.log
Successfully Setup Software.
Oracle GoldenGate Core의 설치을(를) 성공했습니다.
자세한 내용은 '/oracle/app/oraInventory/logs/silentInstall2024-04-16_01-26-50PM.log'을(를) 확인하십시오.

 

 

5. ogg 초기 환경설정

# su - oracle
$ sqlplus / as sysdba

 

     5-1. supplemental logging 활성화  Source 

SQL> alter database add supplemental log data;
SQL> alter system switch logfile;

 

     5-2. force logging 활성화  Source 

SQL> ALTER DATABASE FORCE LOGGING;

 

     5-3. ogg 관련 파라미터 활성화  Source   Target 

SQL> alter system set enable_goldengate_replication=TRUE scope=both;

 

     5-4. ogg 계정 및 테이블스페이스 생성  Source   Target 

SQL> create tablespace ogg_ts datafile '/oradata/HISDB/datafile/ogg_ts01.dbf' size 1g autoextend on;
SQL> create user ogg identified by manager0 DEFAULT tablespace ogg_ts;

 

     5-5. dba 권한 부여  Source   Target 

SQL> grant dba to ogg;
SQL> begin DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE(
grantee => 'ogg', privilege_type => '*', grant_select_privileges=> true, do_grants => TRUE); 
End; 
/

 

     5-6. 전역변수 설정  Source   Target 

# su - ogg
$ cd $OGG_HOME
$ vi ./GLOBALS
GGSCHEMA OGG
CHECKPOINTTABLE OGG.GGSCHKPT
--ENABLE_HEARTBEAT_TABLE
--HEARTBEATTABLE GG_HEARTBEAT
--ENABLEMONITORING
SYSLOG NONE
--OUTPUTFILEUMASK 022

 

     5-7. GGSCI 접속 및 서브 디렉토리 생성  Source   Target 

$ cd $OGG_HOME
$ ./ggsci

GGSCI> create subdirs

Creating subdirectories under current directory /oracle/ogg

Parameter file                 /oracle/ogg/dirprm: created.
Report file                    /oracle/ogg/dirrpt: created.
Checkpoint file                /oracle/ogg/dirchk: created.
Process status files           /oracle/ogg/dirpcs: created.
SQL script files               /oracle/ogg/dirsql: created.
Database definitions files     /oracle/ogg/dirdef: created.
Extract data files             /oracle/ogg/dirdat: created.
Temporary files                /oracle/ogg/dirtmp: created.
Credential store files         /oracle/ogg/dircrd: created.
Masterkey wallet files         /oracle/ogg/dirwlt: created.
Dump files                     /oracle/ogg/dirdmp: created.

 

     5-8. mgr 파라미터 작성  Source   Target 

GGSCI> edit params mgr

PORT 7809
DYNAMICPORTLIST 7810-7820
AccessRule, Prog *, IPAddr *, Allow
USERID ogg PASSWORD manager0
PurgeOldExtracts ./dirdat/*, usecheckpoints, minkeepdays 3
AUTORESTART ER *, RETRIES 5, WAITMINUTES 2, RESETMINUTES 120
LAGCRITICALSECONDS 600
LAGREPORTMINUTES 10
LAGINFOSECONDS 600

 

     5-9. mgr 프로세스 기동   Source   Target 

GGSCI> start mgr
GGSCI> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING

 

6. OGG DB 연결

GGSCI> dblogin userid ogg, password manager0

 

7. 동기화 대상 계정 트랜잭션 로그 실시간 캡처 설정  Source 

GGSCI> add schematrandata KING
GGSCI> info schematrandata KING

 

8. 추출 파라미터 생성  Source 

GGSCI> edit params EXTA
EXTRACT EXTA
USERID ogg PASSWORD manager0
CACHEMGR CACHESIZE 2G
TranLogOptions excludeuser OGG

TRANLOGOPTIONS DBLOGREADER
DBOPTIONS ALLOWUNUSEDCOLUMN

EOFDELAYCSECS 10
FLUSHCSECS 10

gettruncates

WARNLONGTRANS 2H, CHECKINTERVAL 10M
ReportCount every 10000 records, rate
REPORTROLLOVER AT 00:01
STATOPTIONS RESETREPORTSTATS, REPORTFETCH
exttrail ./dirdat/ea

TABLE KING.*;

 

     8-1. 추출 프로세스 등록 및 기동, 정상 동작 확인  Source 

GGSCI> add exttrail ./dirdat/ea, extract EXTA, megabytes 1024
GGSCI> start EXTA
GGSCI> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXTA        00:00:03      00:00:05

 

9. 펌프 파라미터 생성  Source 

GGSCI> edit params PMPA
EXTRACT PMPA
CACHEMGR CACHESIZE 1G
PASSTHRU
RMTHOST 192.168.0.191, MGRPORT 7809
RMTTRAIL ./dirdat/ra
eofdelaycsecs 10
FLUSHCSECS 10
ReportCount every 10000 records, rate
REPORTROLLOVER AT 00:01
STATOPTIONS RESETREPORTSTATS, REPORTFETCH
--SEQUENCE KING.*;
TABLE KING.*;

 

     9-1. 펌프 프로세스 등록 및 기동, 정상 동작 확인  Source 

GGSCI> add extract PMPA, exttrailsource ./dirdat/ea
GGSCI> add rmttrail ./dirdat/ra, extract PMPA, megabytes 1024
GGSCI> start PMPA
GGSCI> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXTA        00:00:00      00:00:00
EXTRACT     RUNNING     PMPA        00:00:01      00:00:04