Skip to main content

Windows to Linux GoldenGate setup - Extract and Replicat


  • Introduction: In the previous posts, we had covered the installation of Oracle GoldenGate 21c and database configuration for both environments. Please visit, link is given below. In this article, we will go through the essential steps to configure Extract and Replicat for real time replication.

  • Windows to Linux GoldenGate setup - Installation and Preparation

  • Prerequisites: Below are the minimum requirements.
    • Oracle GoldenGate software should be installed.
    • Database configuration for GoldenGate should be done on source and target database.

  • Environment Used:
  • Server Source Target
    Hostname/IP LAPTOP-JO563L1O.oraeasy.com ogg21.oraeasy.com
    OS Windows 11 OEL 8.5
    Database Version 19.28 19.28
    Database Name windb lindb
    GoldenGate Version 21.3.0.0.1 21.3.0.0.1
    GoldenGate Home D:\OGG /u01/ogg/ogg_home

    Below are steps of configuration
    1. Extract configuration.
    2. Distribution path.
    3. Initial Load.
    4. Replicat configuration.

  • Now first we will configure the extract at source side:
1. Login into Source Oracle GoldenGate. Follow below to configure Extract. Here we will create a normal extract and will do the initial load manually.

Click on Administration Service and then click + sign in Extract section.
Select the Extract type and click Next.

Provide the Extract name and trail file name.

Provide the Credentials Domain & Alias and click Next.

Now add the replication schema & table details. Here we are replicating table of CORPDATA schema. Last click on Create & Run.

Now Extract is created & running.


2. Now we need to configure Distribution Path so that trail files can be transferred from Source to Target for repliaction:
Click on Distribution Service and click + sign.


Provide the Path name, Source side (Extract & Trail name) details and Target side (Protocol, Hostname, Port & Trail name) details. Click Next.


Keep the default options.

Keep the default options and click Create & Run.

Now Distribution Path has been creared.


3. Now we need to do initial load from source to target. We will use import utility with DB link.

==> Verify the table data at source. Also note the current scn.
SQL> def
DEFINE _DATE           = "24-FEB-26" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "windb" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1927000000" (CHAR)
DEFINE _EDITOR         = "Notepad" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1927000000" (CHAR)
SQL>
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
    4267104

SQL>
SQL> select * from corpdata.corp_accounts;

ACCOUNT_ID ACCOUNT_NAME                             INDUSTRY             COUNTRY      ANNUAL_REVENUE CREDIT_RAT STATUS               UPDATED_A
---------- ---------------------------------------- -------------------- ------------ -------------- ---------- -------------------- ---------
      1001 Alpha Tech Pvt Ltd                       IT Services          India              45000000 A          ACTIVE               29-NOV-25
      1002 Global Infoworks Ltd                     Software             USA               120000000 AAA        ACTIVE               29-NOV-25
      1003 Zenith Logistics                         Transport            UK                 75000000 BBB        HOLD                 29-NOV-25
      1004 BlueOcean Pharma                         Pharmaceuticals      Singapore          90000000 A          ACTIVE               29-NOV-25
      1005 Nova Retail Corp                         Retail               India              30000000 BB         SUSPENDED            29-NOV-25
      
==> On target create the directory for import. Also create a Public database link to  
connect source.
[oracle@ogg21 ~]$ mkdir -p /u01/app/oracle/imp [oracle@ogg21 ~]$ [oracle@ogg21 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Tue Feb 24 21:25:45 2026 Version 19.28.0.0.0 Copyright (c) 1982, 2025, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.28.0.0.0 SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- LINDB READ WRITE SQL> create or replace directory imp as '/u01/app/oracle/imp'; Directory created. SQL> grant read, write on directory imp to public; Grant succeeded. SQL> create database link import connect to system identified by sys using 'windb'; Database link created. SQL> select sysdate from dual@import; SYSDATE --------- 24-FEB-26 ==> Do the import using DB link with flashback_scn.
[oracle@ogg21 ~]$ impdp schemas=CORPDATA directory=imp logfile=import.log network_link=import flashback_scn=4267104 Import: Release 19.0.0.0.0 - Production on Tue Feb 24 21:32:56 2026 Version 19.28.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Username: / as sysdba Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production FLASHBACK automatically enabled to preserve database integrity. Starting "SYS"."SYS_IMPORT_SCHEMA_01": /******** AS SYSDBA schemas=CORPDATA directory=imp logfile=import.log network_link=import flashback_scn=4267104 Estimate in progress using BLOCKS method... Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA Total estimation using BLOCKS method: 64 KB Processing object type SCHEMA_EXPORT/USER Processing object type SCHEMA_EXPORT/SYSTEM_GRANT Processing object type SCHEMA_EXPORT/ROLE_GRANT Processing object type SCHEMA_EXPORT/DEFAULT_ROLE Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/TABLE/PROCACT_INSTANCE Processing object type SCHEMA_EXPORT/TABLE/TABLE . . imported "CORPDATA"."CORP_ACCOUNTS" 5 rows Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type SCHEMA_EXPORT/STATISTICS/MARKER Job "SYS"."SYS_IMPORT_SCHEMA_01" successfully completed at Tue Feb 24 21:33:43 2026 elapsed 0 00:00:36 [oracle@ogg21 ~]$ ==> Verify the data at target.
SQL> def DEFINE _DATE = "24-FEB-26" (CHAR) DEFINE _CONNECT_IDENTIFIER = "lindb" (CHAR) DEFINE _USER = "SYS" (CHAR) DEFINE _PRIVILEGE = "AS SYSDBA" (CHAR) DEFINE _SQLPLUS_RELEASE = "1928000000" (CHAR) DEFINE _EDITOR = "vi" (CHAR) DEFINE _O_VERSION = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.28.0.0.0" (CHAR) DEFINE _O_RELEASE = "1928000000" (CHAR) SQL> SQL> select * from corpdata.corp_accounts; ACCOUNT_ID ACCOUNT_NAME INDUSTRY COUNTRY ANNUAL_REVENUE CREDIT_RAT STATUS UPDATED_A ---------- ------------------------------ --------------- --------------- -------------- ---------- -------------------- --------- 1001 Alpha Tech Pvt Ltd IT Services India 45000000 A ACTIVE 29-NOV-25 1002 Global Infoworks Ltd Software USA 120000000 AAA ACTIVE 29-NOV-25 1003 Zenith Logistics Transport UK 75000000 BBB HOLD 29-NOV-25 1004 BlueOcean Pharma Pharmaceuticals Singapore 90000000 A ACTIVE 29-NOV-25 1005 Nova Retail Corp Retail India 30000000 BB SUSPENDED 29-NOV-25
==> Now let's configure the Replicat at target side.

4. First we need to create the checkpoint table.

In Adminstratation Service, click on Configuration. In Database --> Credential section, Click on Database icon to check login.
Provide checkpoint table name and click Submit.
5. Login into Target Oracle GoldenGate. Follow below to configure Replicat.
Click on Adminstratation Service and then click + sign in Replicat section.

Provide the Replicat type. Click Next.

Provide the trail name, & credential details.

Provide the checkpoint table & click Next.

Now configure the parameter file & add replication table details. Last click on Create.

Now Replicat has been created.
6. Now we need to start the Replicat. We will do this with Start with Option and providing the SCN which was captured at source.

Click on the Action and then click on Start with Options.

Now select After CSN as Start point and provide SCN number in CSN section. Last click Submit.

Now wait for sometimes and Replicat lag will be 0.

7. Now GoldenGate configuration has been completed. Now let's do some DML at source side and check replication at target side.

 At Source (Oracle)
SQL> def
DEFINE _DATE           = "24-FEB-26" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "windb" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1927000000" (CHAR)
DEFINE _EDITOR         = "Notepad" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1927000000" (CHAR)
SQL>
SQL>
SQL> INSERT INTO CORPDATA.CORP_ACCOUNTS
         (ACCOUNT_ID, ACCOUNT_NAME, INDUSTRY, COUNTRY, ANNUAL_REVENUE,
          CREDIT_RATING, STATUS, UPDATED_AT)
     VALUES
         (2001, 'Prime Solutions Ltd', 'Consulting', 'India', 15000000,
          'A', 'ACTIVE', SYSDATE);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from corpdata.corp_accounts;

ACCOUNT_ID ACCOUNT_NAME                   INDUSTRY        COUNTRY         ANNUAL_REVENUE CREDIT_RAT STATUS               UPDATED_A
---------- ------------------------------ --------------- --------------- -------------- ---------- -------------------- ---------
      2001 Prime Solutions Ltd            Consulting      India                 15000000 A          ACTIVE               24-FEB-26
      1001 Alpha Tech Pvt Ltd             IT Services     India                 45000000 A          ACTIVE               29-NOV-25
      1002 Global Infoworks Ltd           Software        USA                  120000000 AAA        ACTIVE               29-NOV-25
      1003 Zenith Logistics               Transport       UK                    75000000 BBB        HOLD                 29-NOV-25
      1004 BlueOcean Pharma               Pharmaceuticals Singapore             90000000 A          ACTIVE               29-NOV-25
      1005 Nova Retail Corp               Retail          India                 30000000 BB         SUSPENDED            29-NOV-25

6 rows selected.

SQL>

 At Target.
SQL> def
DEFINE _DATE           = "24-FEB-26" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "lindb" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1928000000" (CHAR)
DEFINE _EDITOR         = "vi" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.28.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1928000000" (CHAR)
SQL>

SQL> select * from corpdata.corp_accounts;

ACCOUNT_ID ACCOUNT_NAME                   INDUSTRY        COUNTRY         ANNUAL_REVENUE CREDIT_RAT STATUS               UPDATED_A
---------- ------------------------------ --------------- --------------- -------------- ---------- -------------------- ---------
      1001 Alpha Tech Pvt Ltd             IT Services     India                 45000000 A          ACTIVE               29-NOV-25
      1002 Global Infoworks Ltd           Software        USA                  120000000 AAA        ACTIVE               29-NOV-25
      1003 Zenith Logistics               Transport       UK                    75000000 BBB        HOLD                 29-NOV-25
      1004 BlueOcean Pharma               Pharmaceuticals Singapore             90000000 A          ACTIVE               29-NOV-25
      1005 Nova Retail Corp               Retail          India                 30000000 BB         SUSPENDED            29-NOV-25
      2001 Prime Solutions Ltd            Consulting      India                 15000000 A          ACTIVE               24-FEB-26

6 rows selected.



Thank you for reading!

I hope this content has been helpful to you. Your feedback and suggestions are always welcome — feel free to leave a comment or reach out with any queries.

Abhishek Shrivastava

📧 Email: oraeasyy@gmail.com
🌐 Website: www.oraeasy.com

Follow Us

Comments