Skip to content

Julien Delattre

Julien Delattre, member of the Oracle Team Zurich, has more than five years of experience specializing in Oracle databases, plus expertise in MariaDB and MongoDB. Prior to dbi services, he was a Database Administrator at Atos in Angers, France, and a Data Scientist at Air France in Paris and Apurata in Lima. Julien holds a Master's degree in Computer Science, Data Science, and Statistics from Centrale Paris / Université Paris-Saclay.

81 posts since October 2025

GoldenGate distribution path profile in 23.26.4.0.0

In a previous post about updating the profiles of all extracts and replicats at once, I wrote that a profile does not apply to distribution paths. With GoldenGate 23.26.4.0.0, that is no longer true. When looking at the help of ADD DISTPATH in the adminclient, it shows a new PROFILE clause: A distribution path or a receiver path can now… 

applyOps and manual oplog replay for MongoDB PITR

mongorestore –oplogReplay gives you point-in-time recovery for a whole instance, replayed from the captured oplog of a single backup. It has no equivalent for a single database or a single collection. Say you need “restore just this one collection to 4:35pm” instead of the whole instance. The supported tooling has nothing to offer for in-place namespace point-in-time recovery (PITR). The… 

Retrieving GoldenGate logs, reports, and diagnostics with the REST API

I often need to retrieve report files or logs from GoldenGate deployments, and I wanted to find ways of automating this. Hence this blog, about retrieving all available logs with GoldenGate REST API. I previously wrote about the GoldenGate log files. Some of them (extract.log, replicat.log and others) are in fact just filters of other logs (ggserr.log or restapi.log). These… 

Anatomy of an Enterprise Manager metric extension

Recently, I was working on deploying Metric Extensions automatically in Enterprise Manager, but the more I looked into it, the more it turned into a different question: what does a Metric Extension look like ? In a previous blog, I presented the SYSMAN tables containing the metric extensions definitions. I also showed how to retrieve the targets where a metric… 

How to detect a suspended GoldenGate extract

While testing EVENTACTIONS (SUSPEND) on an extract, I noticed that nothing in INFO tells you the process is suspended. The extract shows as RUNNING, the lag might look fine for a while, and yet it has stopped capturing. You may use SUSPEND on purpose (to pause an extract when a specific DDL goes by, for instance). Or someone else put… 

Import order matters for GoldenGate instantiation filtering

When migrating a large database with GoldenGate, most of the volume is sometimes in old partitions which no longer change. A common shortcut is to move them first with expdp/impdp, even before GoldenGate is set up. Everything else, the active partitions and the non-partitioned tables, is exported once the extract is running, with PREPARECSN set. Instantiation filtering then makes the… 

Removing instantiation filtering from a GoldenGate replicat

In a recent blog, I explained how instantiation filtering works. DBOPTIONS ENABLE_INSTANTIATION_FILTERING makes a replicat discard any record whose commit CSN is at or below a table’s instantiation CSN. It applies everything above it. This replicat parameter should be kept during the whole initial load process. At some point the replicat has processed past the instantiation boundary for every table,… 

GoldenGate 26ai AutoSchema TYPEMAP: overriding the default datatype mapping

In my blog about the new automatic schema evolution feature in GoldenGate 26ai, I was replicating the following table from Oracle to PostgreSQL: The replicat created a PostgreSQL table from an Oracle one during an initial load. It worked, but one choice was not mine: the NUMBER primary key became a varchar(50). Automatic Schema Evolution takes its datatypes from a… 

GoldenGate 26ai automatic schema evolution: creating missing tables during an initial load

For as long as I have used GoldenGate, an initial load had one prerequisite: the target tables must already exist. Data Pump takes care of it between two Oracle databases. For anything else, you write the CREATE TABLE statements yourself, with the datatypes you choose, or choose another initial load method. The Automatic Schema Evolution feature launched in GoldenGate 26ai… 

Deleting GoldenGate trail files via the REST API (OGG-30375)

When automating your GoldenGate deployments, or tearing down a test environment, handling trail files is important. In fact, deleting an extract or a replicat does not delete the trail files it was writing to or reading from. It leaves the trail resource itself behind too, causing confusion (or worse) later. Indeed, a fresh extract writing to the same trail name/path…