Sunday, 11 December 2022

Golden Gate UNIDIRECTIONAL and BIDIRECTIONAL configuration.

Download Golden gate software from https://edelivery.oracle.com 

Source Database : ORADB1 : 12c

Target Database : ORADB2 : 19c

Ogg : Version 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191017.1054_FBO


mkdir /u01/app/oracle/product/ogg/ --> for GG_HOME

mkdir /home/oracle/gg_install/ --> (optional) To store zip file


update .bash_profile with below GG_HOME

export GG_HOME=/u01/app/oracle/product/ogg/


cd /home/oracle/gg_install/

unzip 191004_fbo_ggs_Linux_x64_shiphome.zip


Response file :

/home/oracle/gg_install/fbo_ggs_Linux_x64_shiphome/Disk1/response

Backup the response file and then edit it.

vi oggcore.rsp  and update below parameters.


INSTALL_OPTION=ORA19c

SOFTWARE_LOCATION=/u01/app/oracle/product/ogg/

DATABASE_LOCATION=/u01/app/oracle/product/<<DATABASE_VERSION>>/dbhome_1

INVENTORY_LOCATION=/u01/app/oraInventory

UNIX_GROUP_NAME=oinstall


Installation :


cd /home/oracle/gg_install/fbo_ggs_Linux_x64_shiphome/Disk1/ 

./runInstaller -silent -showProgress -waitforcompletion -responseFile /home/oracle/gg_install/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp


Log Details : check  /u01/app/oraInventory/logs/silentInstallYYYY-DD-MM_HH-MM-SSPM.log


cd $GGHOME

./ggsci


ON Source and Target database create a gg user.

sqlplus / as sysdba

create user ggsowner identified by ggsowner default tablespace users temporary tablespace temp;

Grant dba to ggsowner;


If Unidirectional replication you can enable supplemental logging on source only. For Bidirectional enable on both Source and Target.

alter database add supplemental log data;

select supplemental_log_data_min from v$databse;

alter database force logging;


Here I'm using test schema for replication. 


ggsci> DBLOGIN USERID ggsowner, PASSWORD ggsowner

GGSCI (ogg1.localdomain as ggsowner@oradb1) 65> ADD TRANDATA Test.*


Do initial load using datapump ( Impdp/expdp )


SOURCE and TARGET MGR PARAM :


GGSCI (ogg1.localdomain as ggsowner@oradb1) 66> edit params mgr

PORT 7809

DYNAMICPORTLIST 7821-7830

PURGEOLDEXTRACTS /u01/app/oracle/product/ogg/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 3


GGSCI (ogg1.localdomain as ggsowner@oradb1) 68> start mgr


EXTRACT PARAM FILE on source:


GGSCI (ogg1.localdomain as ggsowner@oradb1) 70> edit params EXTHR

EXTRACT EXTHR

USERID ggsowner, PASSWORD ggsowner

EXTTRAIL /u01/app/oracle/product/ogg/dirdat/et

DDL INCLUDE ALL

TABLE TEST.*;


GGSCI (ogg1.localdomain as ggsowner@oradb1) 71> register extract EXTHR, database

GGSCI (ogg1.localdomain as ggsowner@oradb1) 72> add extract EXTHR, integrated tranlog, BEGIN NOW

GGSCI (ogg1.localdomain as ggsowner@oradb1) 73> add exttrail /u01/app/oracle/product/ogg/dirdat/et,extract EXTHR


Datapump PARAM FILE on source:


GGSCI (ogg1.localdomain as ggsowner@oradb1) 75> edit params pext

EXTRACT pext

RMTHOST 192.168.29.34, MGRPORT 7809

RMTTRAIL /u01/app/oracle/product/ogg/dirdat/rt

PASSTHRU

TABLE TEST.*;


GGSCI (ogg1.localdomain as ggsowner@oradb1) 78> register extract PEXT, database

GGSCI (ogg1.localdomain as ggsowner@oradb1) 80> add extract PEXT, exttrailsource /u01/app/oracle/product/ogg/dirdat/et

GGSCI (ogg1.localdomain as ggsowner@oradb1) 81> add rmttrail /u01/app/oracle/product/ogg/dirdat/rt,extract PEXT

GGSCI (ogg1.localdomain as ggsowner@oradb1) 82> start *

GGSCI (ogg1.localdomain as ggsowner@oradb1) 83> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt


MANAGER     RUNNING

EXTRACT     RUNNING     EXTHR       00:00:04      00:00:01

EXTRACT     RUNNING     PEXT        00:00:00      00:00:04



on TARGET :

REPLICAT PARAMs 


sqlplus> alter system set enable_goldengate_replication=TRUE;

ggsci> edit params REP

REPLICAT REP

USERID ggsowner, PASSWORD ggsowner

ASSUMETARGETDEFS

ddlerror default ignore retryop

MAP TEST.*, TARGET TEST.*;


GGSCI (ogg2.localdomain) 44> dblogin userid ggsowner, password ggsowner

GGSCI (ogg2.localdomain as ggsowner@oradb2) 7> add checkpointtable ggsowner.checkpoint_table

GGSCI (ogg2.localdomain as ggsowner@oradb2) 8> edit params ./GLOBALS

GGSOWNER.CHECKPOINT_TABLE


GGSCI (ogg2.localdomain as ggsowner@oradb2) 2>  add replicat rep, integrated exttrail /u01/app/oracle/product/ogg/dirdat/rt

GGSCI (ogg2.localdomain as ggsowner@oradb2) 16> start *


GGSCI (ogg2.localdomain as ggsowner@oradb2) 16> info all


Program     Status      Group       Lag at Chkpt  Time Since Chkpt


MANAGER     RUNNING

REPLICAT    RUNNING     REP         00:00:00      00:00:01



sqlplus / as sysdba

conn test/test

create table ggtest1 as select * from sys.dba_objects where rownum<20;


Now check on target side :

seelct object_name,object_type from dba_objects where owner='TEST';


You can monitor ggserr.log located under $GG_HOME for updates and errors.


To configure BIDIRECTIONAL REPLICATION :

using the same methods as above 

Add extract and pump on target side.

Add a replicat on source side.

Refer below:

SOURCE :

TARGET :



No comments:

Post a Comment