Install Oracle Goldengate 19c for Microsoft SQL Server.

In this post I will guide you trough the steps to install and configure Goldengate 19c for Microsoft SQL Server 2012, this will be the start point for the next post that replicate data from SQL Server 2012 to Oracle 12c.

I going to install Oracle GoldenGate in the below environment:

  • Operating System: Windows 7 Professional
  • Database: SQL Server 2012 Enterprise Edition
  • GoldenGate version: 19.1.0.0.3
  • GoldenGate installer: 191003_ggs_Windows_x64_MSSQL_64bit_CDC.zip.

1. Prerequiste

According to Oracle documentation using the Microsoft SQL Server Native Client 11 OLE DB driver to connect to a SQL Server 2012 instance in OLEDB mode may lead to a memory leak issue (Microsoft article 2881661) and Microsoft has provided a fix in SQL Server 2012 SP1 CU7 (Microsoft article 2894115). To avoid a possible memory leak I am going to move forward and I am going to Install SQL Service Pack 4

2. Download Oracle GoldenGate 19.1.0.0.3 for SQL Server on Windows (64 bits) 191003_ggs_Windows_x64_MSSQL_64bit_CDC.zip from Oracle website.

3. Create a directory gg and unzip the file 191003_ggs_Windows_x64_MSSQL_64bit_CDC.zip

c:\> mkdir gg

c:\>unzip "C:\Users\user\Downloads\191003_ggs_Windows_x64_MSSQL_64bit_CDC.zip" -d c:\gg
Archive:  C:/Users/user/Downloads/191003_ggs_Windows_x64_MSSQL_64bit_CDC.zip
  inflating: c:/gg/PocoCrypto64.dll
  inflating: c:/gg/PocoFoundation64.dll
  inflating: c:/gg/PocoJSON64.dll
  inflating: c:/gg/PocoNet64.dll
  inflating: c:/gg/PocoNetSSL64.dll
  inflating: c:/gg/PocoUtil64.dll
  inflating: c:/gg/PocoXML64.dll
  inflating: c:/gg/SQLDataTypes.h
  inflating: c:/gg/antlr3c.dll
  inflating: c:/gg/antlr3cd.dll
  inflating: c:/gg/bcpfmt.tpl
  inflating: c:/gg/bcrypt.txt
  inflating: c:/gg/cachefiledump.exe
  inflating: c:/gg/category.dll
  inflating: c:/gg/checkprm.exe
  inflating: c:/gg/chkpt_mss_create.sql
  inflating: c:/gg/convchk.exe
  inflating: c:/gg/convprm.exe
  inflating: c:/gg/db2cntl.tpl
  inflating: c:/gg/defgen.exe
  inflating: c:/gg/demo_more_mssq_create.sql
  inflating: c:/gg/demo_more_mssq_insert.sql
  inflating: c:/gg/demo_mss_create.sql
  inflating: c:/gg/demo_mss_insert.sql
  inflating: c:/gg/demo_mss_lob_create.sql
  inflating: c:/gg/demo_mss_lob_insert.sql
  inflating: c:/gg/demo_mss_lob_misc.sql
  inflating: c:/gg/demo_mss_misc.sql
  inflating: c:/gg/demo_mss_pk_befores_create.sql
  inflating: c:/gg/demo_mss_pk_befores_insert.sql
  inflating: c:/gg/demo_mss_pk_befores_updates.sql
  inflating: c:/gg/emsclnt.exe
  inflating: c:/gg/extract.exe
  inflating: c:/gg/freeBSD.txt
  inflating: c:/gg/ggMessage.dat
  inflating: c:/gg/ggcmd.exe
  inflating: c:/gg/gglog.dll
  inflating: c:/gg/ggnnzitp.dll
  inflating: c:/gg/ggparam.dat
  inflating: c:/gg/ggparam.dll
  inflating: c:/gg/ggperf.dll
  inflating: c:/gg/ggrepo.dll
  inflating: c:/gg/ggsci.exe
  inflating: c:/gg/ggsignal.dll
  inflating: c:/gg/ggsmsg.dll
  inflating: c:/gg/ggssl.dll
  inflating: c:/gg/ggutil.dll
  inflating: c:/gg/help.txt
  inflating: c:/gg/icudt62.dll
  inflating: c:/gg/icuin62.dll
  inflating: c:/gg/icuuc62.dll
  inflating: c:/gg/install.exe
  inflating: c:/gg/keygen.exe
  inflating: c:/gg/libdb61.dll
  inflating: c:/gg/logdump.exe
  inflating: c:/gg/mgr.exe
  inflating: c:/gg/notices.txt
  inflating: c:/gg/ogg_cdc_cleanup_setup.bat
  inflating: c:/gg/ogg_create_cdc_cleanup_job.sql
  inflating: c:/gg/oggerr.exe
  inflating: c:/gg/pmsrvr.exe
  inflating: c:/gg/prvtclkm.plb
  inflating: c:/gg/replicat.exe
  inflating: c:/gg/retrace.exe
  inflating: c:/gg/server.exe
  inflating: c:/gg/sqlldr.tpl
  inflating: c:/gg/tcperrs
  inflating: c:/gg/ucharset.h
  inflating: c:/gg/udt.dll
  inflating: c:/gg/usrdecs.h
  inflating: c:/gg/version4j.jar
  inflating: c:/gg/xerces-c_3_2.dll
  inflating: c:/gg/zlib.txt
  inflating: c:/gg/zlibwapi.dll
  inflating: c:/gg/crypto/ccme_asym.dll
  inflating: c:/gg/crypto/ccme_base.dll
  inflating: c:/gg/crypto/ccme_base_non_fips.dll
  inflating: c:/gg/crypto/ccme_ecc.dll
  inflating: c:/gg/crypto/ccme_ecc_accel_fips.dll
  inflating: c:/gg/crypto/ccme_ecc_accel_non_fips.dll
  inflating: c:/gg/crypto/ccme_ecc_non_fips.dll
  inflating: c:/gg/crypto/crypto.manifest
  inflating: c:/gg/crypto/cryptocme.dll
  inflating: c:/gg/crypto/cryptocme.sig
  inflating: c:/gg/crypto/oci.dll
  inflating: c:/gg/crypto/oraasmclnt19.dll
  inflating: c:/gg/crypto/oracell19.dll
  inflating: c:/gg/crypto/oraclient19.dll
  inflating: c:/gg/crypto/oraclsce19.dll
  inflating: c:/gg/crypto/oracommon19.dll
  inflating: c:/gg/crypto/oracore19.dll
  inflating: c:/gg/crypto/orageneric19.dll
  inflating: c:/gg/crypto/orahasgen19.dll
  inflating: c:/gg/crypto/oraldapclnt19.dll
  inflating: c:/gg/crypto/oran19.dll
  inflating: c:/gg/crypto/orancds19.dll
  inflating: c:/gg/crypto/orancrypt19.dll
  inflating: c:/gg/crypto/orangsmshd19.dll
  inflating: c:/gg/crypto/oranhost19.dll
  inflating: c:/gg/crypto/oranl19.dll
  inflating: c:/gg/crypto/oranldap19.dll
  inflating: c:/gg/crypto/oranls19.dll
  inflating: c:/gg/crypto/orannzsbb19.dll
  inflating: c:/gg/crypto/oranro19.dll
  inflating: c:/gg/crypto/orantcp19.dll
  inflating: c:/gg/crypto/orantns19.dll
  inflating: c:/gg/crypto/oraocr19.dll
  inflating: c:/gg/crypto/oraocrb19.dll
  inflating: c:/gg/crypto/oraocrutl19.dll
  inflating: c:/gg/crypto/oraons.dll
  inflating: c:/gg/crypto/oraplp19.dll
  inflating: c:/gg/crypto/orapls19.dll
  inflating: c:/gg/crypto/oraslax19.dll
  inflating: c:/gg/crypto/orasnls19.dll
  inflating: c:/gg/crypto/orasql19.dll
  inflating: c:/gg/crypto/oraunls19.dll
  inflating: c:/gg/crypto/orauts.dll
  inflating: c:/gg/crypto/oravsn19.dll
  inflating: c:/gg/crypto/orawsec19.dll
  inflating: c:/gg/crypto/oraxml19.dll
  inflating: c:/gg/crypto/orazt19.dll
  inflating: c:/gg/crypto/oraztkg19.dll
  inflating: c:/gg/UserExitExamples/ExitDemo/exitdemo.c
  inflating: c:/gg/UserExitExamples/ExitDemo/exitdemo.vcproj
  inflating: c:/gg/UserExitExamples/ExitDemo/exitdemo_utf16.c
  inflating: c:/gg/UserExitExamples/ExitDemo/Makefile_exit_demo.AIX
  inflating: c:/gg/UserExitExamples/ExitDemo/Makefile_exit_demo.HPUX
  inflating: c:/gg/UserExitExamples/ExitDemo/Makefile_exit_demo.HP_OSS
  inflating: c:/gg/UserExitExamples/ExitDemo/Makefile_exit_demo.LINUX
  inflating: c:/gg/UserExitExamples/ExitDemo/Makefile_exit_demo.SOLARIS
  inflating: c:/gg/UserExitExamples/ExitDemo/readme.txt
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/exitdemo_lob.c
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/exitdemo_lob.vcproj
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/Makefile_lob.AIX
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/Makefile_lob.HPUX
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/Makefile_lob.LINUX
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/Makefile_lob.SOLARIS
  inflating: c:/gg/UserExitExamples/ExitDemo_lobs/readme.txt
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.c
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.vcproj
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.AIX
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.HPUX
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.LINUX
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.SOLARIS
  inflating: c:/gg/UserExitExamples/ExitDemo_more_recs/readme.txt
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/exitdemopassthru.vcproj
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/exitdemo_passthru.c
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/Makefile_passthru.AIX
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/Makefile_passthru.HPUX
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/Makefile_passthru.HP_OSS
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/Makefile_passthru.LINUX
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/Makefile_passthru.SOLARIS
  inflating: c:/gg/UserExitExamples/ExitDemo_passthru/readme.txt
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/exitdemo_pk_befores.c
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/exitdemo_pk_befores.vcproj
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.AIX
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.HPUX
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.LINUX
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/Makefile_pk_befores.SOLARIS
  inflating: c:/gg/UserExitExamples/ExitDemo_pk_befores/readme.txt
  inflating: c:/gg/diretc/logging/app-adminsrvr-debug.xml
  inflating: c:/gg/diretc/logging/app-adminsrvr-events.xml
  inflating: c:/gg/diretc/logging/app-distsrvr-debug.xml
  inflating: c:/gg/diretc/logging/app-extract-events.xml
  inflating: c:/gg/diretc/logging/app-pmsrvr-debug.xml
  inflating: c:/gg/diretc/logging/app-pmsrvr-default.xml
  inflating: c:/gg/diretc/logging/app-recvsrvr-debug.xml
  inflating: c:/gg/diretc/logging/app-replicat-events.xml
  inflating: c:/gg/diretc/logging/app-ServiceManager-debug.xml
  inflating: c:/gg/diretc/logging/ogg-audit.xml
  inflating: c:/gg/diretc/logging/ogg-ggserr.xml
  inflating: c:/gg/diretc/logging/sca-default.xml
  inflating: c:/gg/diretc/logging/sca-restapi.xml
 extracting: c:/gg/dirout/README.txt
  inflating: c:/gg/OGG-19.1.0.0-README.txt
  inflating: c:/gg/OGG_WinUnix_Rel_Notes_19.1.0.0.3.pdf

4. Run ggsci (Software Command Interface) to validate GoldenGate is working

c:\gg>ggsci

Oracle GoldenGate Command Interpreter for SQL Server
Version 19.1.0.0.3 OGGCORE_19.1.0.0.0_PLATFORMS_190907.0144
Windows x64 (optimized), Microsoft SQL Server on Sep  7 2019 13:37:56
Operating system character set identified as windows-1252.

Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.

5. Create subdirectories of GoldenGate

GGSCI (DELL-PC) 1> create subdirs

Creating subdirectories under current directory c:\gg

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

6. Install the manager process of GoldenGate as Windows service with Startup automatic.

GGSCI (DELL-PC) 2> shell install addservice

Service 'GGSMGR' created.