Checking in at the Golden Gate
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.