Oracle GoldenGate – errors during jagent configuration

The documentation of Oracle GoldenGate 12.2 does not mention it explicitly: before you start running the instance make sure that you have a Java environment correct & running. If not – you may later run into some strange errors which are difficult to solve. They will happen if the Java environment is set up correctly. This article is about one of those errors.

Read more

Oracle GoldenGate replication + AES encryption on the fly – part 1 of 2

Let’s consider a poor man’s data encryption in the database. We’ll use AES128 CBC algorithm to encrypt the data. The application is written in such way that it can encrypt/decrypt the data while doing database operations. This solution is license free, works with no additional database licenses. A new requirement has arrived – the data must be replicated to the target database, which does not use any encryption. The replication and decryption would be performed by Oracle GoldenGate. Let’s see how this can be done and what is the overhead of the decryption process.

Read more

Oracle GoldenGate Microservices Architecture 12.3 quick set up tutorial

Oracle GoldenGate 12.3 Microservices Architecture just came out. This is a separate build, and in contrary to previous architecture (called now Classic Architecture) has distinct installation binaries and completely different directory structure after installation. Processes are run from different binaries and the whole configuration is also completely different. This article is a complete tutorial which shows how to install and configure OGG 12.3 Microservices Architecture (MA) to replicate a table from Oracle 12.2 to Oracle 11.2.

Read more

Connecting Oracle SQL Developer to SAP ASE 16.0 (Sybase ASE 16.0)

Oracle SQL Developer has the functionality to not only Oracle databases. For MS SQL and SAP ASE (Sybase ASE) connections it uses the jTDS JDBC driver. Unfortunately the program refuses to work with ASE 16.0 even though the database is very similar to ASE 15.7. This article describes how to force the SQL Developer to connect to ASE 16.0.

Read more

Oracle GoldenGate – using Unique Index instead of Primary Key

Oracle GoldenGate Replicat process requires somehow to identify replicated records. When an UPDATE or DELETE command is replicated the Replicat process needs somehow to identify the row that has to be modified. The obvious solution is to use a PRIMARY KEY on the target table to avoid scanning the whole table to find the row. But what about UNIQUE INDEX? Let’s find out.

Read more

Preventing archive log deletion before being processed by Oracle GoldenGate

Oracle GoldenGate just like Oracle Streams has a mechanism of preventing archive logs from being deleted before they are processed.

This mechanism is supported both in Classic and Integrated Extract mode. Although the latter one offers more functionality and control. This article brings in dept analysis what is happening in the database.

Read more

Oracle GoldenGate documentation WGET download scripts

The documentation for Oracle GoldenGate is a bit tricky to locate. Manuals for older versions of the software are hidden and after downloading the PDF files the file names are not very easy to use.

I have created a series of Linux Bash scripts for WGET to download the documentation in PDF format and rename the files in more easy to use fashion.

Read more

Oracle GoldenGate: What is ADD TRANDATA really doing?

In the process of data replication using Oracle GoldenGate the first step is assuring that all the needed information has been written to the database redo log. By default the database does not write all the information that might be needed by the replication process. That’s why some additional supplemental logging is needed.

According to the documentation supplemental logging is being added by the ADD TRANDATA command. A very good research about this subject has been made by Julian Dyke in the article about adding supplemental logging. But what does the  GoldenGate command actually do and which options should be used?

Read more