Introduction
We are configuring a GoldenGate setup between Windows and Linux Oracle database environments, using Oracle GoldenGate 21c Microservices architecture. This article covers installing the GoldenGate software on the Windows source and preparing the database for replication. In the next article, we will cover configuring Extract and Replicat.
Prerequisites
- Databases should be installed and running on both source and target.
- Connectivity between the source and target servers.
- Approximately 15GB of free disk space for the GoldenGate binary on both servers.
- A working TNS entry in
tnsnames.orafor the database on both servers.
Software Download
Download Oracle GoldenGate 21c on Linux/Windows.
Environment Used in this Guode
| 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 |
This setup uses the database servers themselves as the GoldenGate hosts, so the prerequisites for installing the GoldenGate binary are the same ones already in place for the database.
Installing GoldenGate on the Source (Windows) Step by Step
Step 1: Download, Unzip, and Run the Installer
Unzip the downloaded software and navigate to \Win_21C_GG_V1017410-01_Microservice\fbo_ggs_Windows_x64_Oracle_services_shiphome\Disk1, then execute setup.exe.
Step 2: Complete the GUI Installation Wizard
A graphical installer window opens once setup.exe runs. Follow the screens below to complete the software install.
Click Next.
Provide the OGG Home location and click Next.
Review the details and click Install.
Monitor the progress.
Installation has been completed. Click Close.
Step 3: Run oggca.bat to Configure the Deployment
The installer only lays down the binaries. Navigate to D:\OGG\bin and execute oggca.bat with Administrator privilege to actually configure a GoldenGate deployment.
Step 4: Complete the Deployment Configuration Wizard
A second GUI wizard walks through setting up the Service Manager and the actual GoldenGate deployment on top of it.
Provide the Service Manager Home directory, hostname, and port for the Service Manager. Click Next.
Select Add New and click Next.
Provide the deployment name and software home directory.
Provide the deployment home directory and click Next.
Provide OGG_HOME, PATH, and TNS_ADMIN values. Click Next.
Provide the GG Administrator username and its password. Click Next.
Uncheck SSL/TLS and click Next.
Provide the port numbers and click Next.
Provide the default schema and click Next.
Review the details and click Finish.
Run this batch file in Command Prompt with the Administrative option to create the GoldenGate service at the OS level.
Configuration has been completed. Click Close.
Verify the service at the OS level.
Step 5: Open the URL and Check Login
With the deployment created and the Windows service running, confirm you can reach the GoldenGate Microservices web console.
Provide the username and password, then click Sign In.
Click on Administration Service.
Step 6: Prepare the Database for GoldenGate
With the software installed and the console reachable, switch to SQL*Plus and prepare the database itself: enable supplemental logging, turn on GoldenGate replication support, and create a dedicated user for GoldenGate to use.
SQL> def
DEFINE _DATE = "23-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 name,open_mode,database_role, log_mode,supplemental_log_data_min from v$database;
NAME OPEN_MODE DATABASE_ROLE LOG_MODE SUPPLEME
--------- -------------------- ---------------- ------------ --------
WINDB READ WRITE PRIMARY ARCHIVELOG NO
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> SELECT name,open_mode,database_role, log_mode,supplemental_log_data_min from v$database;
NAME OPEN_MODE DATABASE_ROLE LOG_MODE SUPPLEME
--------- -------------------- ---------------- ------------ --------
WINDB READ WRITE PRIMARY ARCHIVELOG YES
SQL> show parameter ENABLE_GOLDENGATE_REPLICATION
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean FALSE
SQL> ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH;
System altered.
SQL> show parameter ENABLE_GOLDENGATE_REPLICATION
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
enable_goldengate_replication boolean TRUE
SQL>
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\APP\ORACLE\ORADATA\WINDB\SYSTEM01.DBF
C:\APP\ORACLE\ORADATA\WINDB\SYSAUX01.DBF
C:\APP\ORACLE\ORADATA\WINDB\UNDOTBS01.DBF
C:\APP\ORACLE\ORADATA\WINDB\USERS01.DBF
SQL> create tablespace OGG datafile 'C:\APP\ORACLE\ORADATA\WINDB\OGG01.dbf' size 1g autoextend on;
Tablespace created.
SQL> create user ggadmin identified by Ogg##123 default tablespace OGG temporary tablespace TEMP;
User created.
SQL> alter user ggadmin quota unlimited on ogg;
User altered.
SQL> grant alter system to ggadmin;
Grant succeeded.
SQL> grant create session to ggadmin;
Grant succeeded.
SQL> grant connect to ggadmin;
Grant succeeded.
SQL> grant resource to ggadmin;
Grant succeeded.
SQL> grant alter any table to ggadmin;
Grant succeeded.
SQL> grant select any dictionary to ggadmin;
Grant succeeded.
SQL> GRANT INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO ggadmin;
Grant succeeded.
SQL> exec dbms_goldengate_auth.grant_admin_privilege('GGADMIN');
PL/SQL procedure successfully completed.
SQL>
Step 7: Log In to the GoldenGate Console and Make a Database Connection
The console needs its own stored credential to connect to the database, separate from any OS-level or SQL*Plus login used so far.
In the Administration Service, click Configuration.
In the Database → Credential section, click +.
Provide the details: domain, alias, user ID, and password. Then click Submit.
Click on the database icon to check login.
The DB connection has now been established successfully.
Step 8: Add Trandata Information
Trandata registration is what tells GoldenGate which schema to enable for capture, and needs to be done through the console for this Microservices-based setup.
In the Trandata section, select the schema, then click +.
Provide the schema name.
Trandata has been successfully added.
Repeat on the Target (Linux)
Now similarly install GoldenGate and prepare the target (Linux) database server for replication, following the same steps against the target's own environment values from the table above.
What's Next
With GoldenGate installed and both databases prepared on Windows and Linux, the installation and database preparation phase is complete. In the next article, we will cover configuring Extract and Replicat.
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
Oracle DBA with hands-on experience managing production Data Guard, RAC, GoldenGate, and APEX environments. I write practical, tested installation and troubleshooting guides based on real deployment work.


































Comments
Post a Comment