Checking in at the Golden Gate

Paul Guerin
4 min readOct 26, 2021

--

For your next replication prototype, try out the Oracle Vagrant project.

The Golden Gate software is installed along with an Oracle database.

It’s a straight forward process except for the loose thread at the end.

Start here

First thing is to download the complete Oracle project.

Downloading is easy via a clone from the Github repository:

git clone https://github.com/oracle/vagrant-projects

Now change into the GoldenGate and Oracle database 19.3 folder.

cd ~/vagrant-projects/OracleGoldenGate/19.3.0

Now just need to download the database and Golden Gate prerequisite files that are the following:

  • LINUX.X64_193000_db_home.zip
  • 191004_fbo_ggs_Linux_x64_shiphome.zip (or later)
  • OGG_BigData_Linux_x64_19.1.0.0.1 (or later)

Download the Oracle 19c database (LINUX.X64_193000_db_home.zip) from this location:

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c

Also download the installation zip for Golden Gate (191004_fbo_ggs_Linux_x64_shiphome.zip) & Golden Gate for Big Data (OGG_BigData_Linux_x64_19.1.0.0.1)

https://www.oracle.com/middleware/technologies/goldengate-downloads.html

Now list the contents of the directory, and you should see all the files present.

Start up

Now startup Vagrant.

vagrant up

The head of the log shows that local port forwarding will be used.

Then the tail of the log will show the password of the database accounts.

So in this case the password for sys, system, and pdbadmin is vQdMufiWQ7I=1.

Now we can login.

vagrant ssh

And then sudo to the oracle account, then login to the database using the password.

sudo su - oracle

Oracle GoldenGate Command Interpreter

Golden Gate should be installed too.

But need to ensure that there is a path to the JDK installed inside Vagrant. The reason we need to do this is so we can open the Oracle GoldenGate Command Interpreter.

So do a quick check to see what the JDK path will be:

ls -alh /usr/lib/jvm

You should see a directory with a name similar to: java-1.8.0-openjdk-1.8.0.?????????.el7_9.x86_64. This directory will then contain the subdirectory: jre/lib/amd64/server

Anyway, the full path needs to be added to the .bashrc file of the oracle account, so edit the file:

vi .bashrc

At the end of the .bashrc file there is a line for the LD_LIBRARY_PATH environment variable that by default will be the following:

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:

This line needs to be edited to include the full path of the JDK that is installed.

So for this install the full path is: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07–1.el7_9.x86_64/jre/lib/amd64/server

So the line for the LD_LIBRARY_PATH needs to be:

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/lib/amd64/server

Now run the .bashrc (or just logout of the oracle account, and login again).

Open the Oracle GoldenGate Command Interpreter like this:

cd /u01/oggbd
./ggsci

Now we should see the header of the tool:

Quickly look around at what else is installed.

info all

So it’s a clean install, and we’re setup and ready to go.

Paul Guerin has presented at some of the world’s leading Oracle conferences, including Oracle Open World 2013. Since 2015, his work has been featured in the IOUG Best Practices Tip Booklet, and in publications from AUSOUG, Oracle Technology Network, Quest, and Oracle Developers (Medium). In 2019, he was awarded as a most valued contributor for the My Oracle Support Community. He is a DBA OCP, and continues to be a participant of the Oracle ACE program.

--

--