Linking Oracle GoldenGate Classic Architecture to Oracle GoldenGate Microservices Architecture

In my last post I covered how to connect the microservices architecture to the classic architecture (here). For this post, I want to show you how to connect the GoldenGate Classic Architecture to the new GoldenGate Microservices Architecture.

You many be asking yourself, why do I want to do this? The answer is quite simple. At the current moment and time, there is no upgrade path to move from Classic to Microservices. This (more...)

Techniques for Comparing Tables

In my "Advanced Row Pattern Matching" presentation, I demonstrate using MATCH_RECOGNIZE to compare tables. Kim Berg Hansen asked me to compare this technique with others. I did some quick tests and here are the results with some comments.

Day 2 problems in the Cloud

Day 2 problems in the Cloud

When moving to the Cloud companies run into “Day 2 problems”. The technology, interfaces and how to use all the stuff are super easy however on the second day comes the real challenge: How to use all this great stuff in a structured way on company/enterprise level?

Here is a great read on “Day 2 problems in the Cloud“. Day 2 is a management problem, not a (more...)

Adios DBA, Hello Azure

This post has been a while coming, from some of my posts over the past few months you may have detected a change in direction somewhat - there's still been the odd Oracle thing in there but a lot of other seemingly more random stuff - much of which has been focused around Azure in one form or another.

This reflects a change in career direction for me which i really wouldn't have imagined 18 (more...)

Java 9: JDK without subfolder JRE

In older JDK releases the directory structure was:
With JEP 220 the jre folder was removed.

A JDK image no longer contains a jre subdirectory, as noted above. Existing code that assumes the existence of that directory might not work correctly.
But this does not mean that there is no JRE any more. You can still download the JRE. There are some minor changes to the JRE like:
The bin (more...)

Is NFS on ZFS slowing you down?

If you think so, check out shell script “” from github at

Introduction and Goals

The goal of is to measure both the throughput and latency of the different code layers when using NFS mounts on a ZFS appliance. The ZFS appliance code layers inspected with the script are I/O from the disks, ZFS layer and the NFS layer. For each of these layers the script measures the throughput, latency and (more...)

How to fix queries on DBA_FREE_SPACE that are slow

I found myself in a situation where OpsView a monitoring tool, was having difficulty monitoring the tablespaces for a particular pluggable database.

Upon investigation it was found the queries against the dictionary table DBA_FREE_SPACE were taking a very long time:

SQL> set timing on
SQL> select nvl(sum(dfs.bytes)/1024/1024,0) from dba_free_space dfs where dfs.tablespace_name = 'USERS';


Elapsed: 00:00:10.98

There are 60 tablespaces in this pluggable database, which the time varied (more...)

Video: Oracle X$TRACE, Wait Event Internals and Background Process Communication

I have uploaded the the video of my Secret Hacking Session: Oracle X$TRACE, Wait Event Internals and Background Process Communication to my Oracle performance & troubleshooting Youtube channel.

The slides are in Slideshare.



NB! I am running one more Advanced Oracle Troubleshooting training in 2018! You can attend the live online training and can download personal video recordings too. The Part 1 starts on 29th January 2018 - sign up here!

VBCS: Create your Mobile Application

| Jan 24, 2018
Now that we have set up a first stable version of our application within VBCS, it is time to explore the mobile capabilities of VBCS. It leverage the capabilities of MAX (Mobile Accelerator) and is build in to the VBCS platform.
This blog post will take you through the basics of the functionality.

We start by sharing our application resources of the build VBCS web application. In the security properties we toggle to enable Resource (more...)

How to Enable Exadata Write-Back Flash Cache

Please check the following blog post “How to check if Exadata Write-Back Flash Cache is Enabled” for:

  • What is Exadata Write-Back Flash Cache?
  • What are the Performance Benefit of Exadata Write-Back Flash Cache?
  • How to check if Exadata Write-Back Flash Cache is Enabled?
  • Pre-requisites and minimum versions.

You can also get more info from My Oracle Support (MOS) note:
Exadata Write-Back Flash Cache – FAQ (Doc ID 1500257.1)
OTN Article: Oracle Exadata Database (more...)

Galera Cluster Schema Changes, Row Based Replication and Data Inconsistency

Galera Cluster is a virtually synchronous multi-master replication plug-in. When using Galera Cluster application can write to any node and transactions are then applied to all serves via row-based replication events.

This is built-in Mysql row-based replication which supports replication with differing table definitions between Master and Slave.
So, when using row-based repplication source and target table do not have to be identical. A table on master can have more or fewer columns or use (more...)

DOAG 2017 and IT Tage 2017 Presentation Material

First of all Happy New Year to everyone and I want to thank the numerous people that attended my sessions "Calamities With Cardinalities" at DOAG 2017 and IT Tage 2017 last November and December.

You can find the slide deck here at

Stay tuned for more publications this year - at least I have some interesting stuff upcoming.

Western Europe 2018 Tour

| Jan 23, 2018
Many thanks to all those who graced my sessions during my Western Europe 2018 Tour in Paris, Lausanne, Milan and Rome. You can download the materials presented here

Testing Latency On The Oracle Cloud

One of the best things about working on the HCM Cloud Center of Excellence team at Oracle is that you learn something new every day.

I recently worked on an inquiry from a customer asking about latency testing: has anyone ever done it and, if so, how did they go about it?  In all honesty, it was a stumper for me.  I had no idea how to respond.  Fortunately, one of the folks on the (more...)

Jarvis Pizzeria: Getting started with Dynamic Processes

| Jan 23, 2018
Getting started with the new integration cloud, the cloud that brings ICS, VBCS and PCS together. This also includes the introduction of dynamic processes, Oracle's new approach for adaptive case management. This introductory blog consists mainly of an overview of the different parts of dynamic processes. In addition, some differences between PCS and the Integration Cloud are discussed.

First step: import the Jarvis Pizza Preparation application. The location of this menu option is changed but (more...)

SoapUI: validate a date field in response with current date

Once in a while you need to validate a service that has dates in the response. Although SoapUI has xpath and xquery match assertions, validate against strings is quite difficult. How to do a date comparison against for instance the current date?

You can do it with a script assertion:
And the content of this can be:
def groovyUtils = new
// Set Namespaces
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

Oracle Licensing bootcamp training in your city

Dear Friends, 

In the year 2018, our friend Sibaji Dey Choudhury is conducting 2-day "comprehensive" bootcamp trainings on Oracle Licensing in several major cities across the world. At the end of the intensive bootcamp training, you have the option of an assessment at no extra cost to get an "Oracle Licensing Maestro" certificate. 

Sibaji has 13 years of experience on "Oracle Licensing" training and consulting services, across 300+ customers worldwide.

If you are are (more...)

My #ilOUG18 presentations

I just finished presenting at the Israeli OUG conference. The conference was a great experience, from the Sunday visit of Jerusalem to the two days of presentations. Thanks to the organizers for inviting me and taking great care of everyone! Slideshare does not allow me to upload a new version of my slides, so here […]

Hash Join Overflow Costing #2

In my previous post on costing a Hash Join overflow to disk I came up with a formula for the cost of a Hash Join operation that overflows to disk based on tests I had done, but I also mentioned that there might be other factors involved not yet exposed by my testing. My main concern was whether the disk I/O's involved were all of the same type, or a mix of single block and (more...)

Oracle SOA Suite 12c: Configuring the SOA Suite Weblogic Server

 i had to run the
inside the home/oracle/Oracle/Middleware/Oracle_Home/oracle_common/common/bin

And then after a
inside /bin in the directory, which was configured in the first screenshot of the, i can open the console: