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...)

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...)

Modify your in wlst

In 2016 I did several posts on automatic installs of Fusion MiddleWare, including domain creation using wlst.

With weblogic 12c you automatically get a pre-configured per-domain nodemanager. But you might find the configuration not completely suiting your whishes.

It would be nice to update the file to with your properties in the same script.

Today I started with upgrading our Weblogic Tuning and Troubleshooting training to 12c, and one of the steps is (more...)

Full Outer Join Strategien in unterschiedlichen RDBMS

Für Leute, die parallel mit mehreren RDBMS zu arbeiten haben - so wie ich -, ist es wichtig, die kleinen Unterschiede in der Implentierung im Blick zu behalten. Dabei sind Artikel wie die Untersuchung "NESTED LOOP and full/right outer join in modern RDBMS" von Mohamed Houri ausgesprochen nützlich. Darin erfährt man unter anderem Folgendes:
  • weder Oracle, noch der SQL Server, noch Postgres können einen Nested Loop Join verwenden, um einen RIGHT OUTER JOIN auszuführen: sie (more...)

How to check if Exadata Write-Back Flash Cache is Enabled

What is Exadata Write-Back Flash Cache?

Exadata Write-Back Flash Cache provide the ability to cache not only read I/Os but write I/O to the Exadata’s PCI flash on the storage cells.  Exadata storage software or higher and Grid Infrastructure and Database software or higher is required to use Exadata Write-Back Flash Cache, which is persistent across storage cell restarts.

The default since April 2017 for (more...)

ORA-19963 ORA-27041 OSD-04002

While doing restore controlfile to new host in windows server, getting below issue

ORA-19963: error getting logical block size of file F:\BACKUP\O1_MF_S_966071800_
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 5) Access is denied.

Solution :

Windows, you need to give full permission of directory to users which contents of backup files.

ORA-27102 OSD-00026 O/S-Error: (OS 1455)

I am trying to restore the database to new host, While doing the first step, I try to start the database,

SQL> startup nomount pfile=’F:\backup\init.ORA’;
ORA-32006: SEC_CASE_SENSITIVE_LOGON initialization parameter has been deprecated

ORA-00600: internal error code, arguments: [kmgs_component_init_5], [15], [], []
, [], [], [], [], [], [], [], []


Solution :

The below error message appeared in the alert log file.

ORA-27102: out of memory
OSD-00026: additional error information
O/S-Error: (OS 1455) (more...)

Using SQL*Plus to Seed your Dockerized Oracle Database

In my last blog, you learned  to create a containerized Oracle database for your development/testing purpose. You also know how to connect to your container and run command in the container.

Most applications require some reference data e.g. example,my  OrderApp application based on Apache Tom EE  requires catalog data to be pre-populated before I can test my application. 

One of the readers asked me how can we run a SQL (more...)

Who used in 2017?

A number of years ago, I provided statistics on the geographic distribution of people who used the free, evaluation service for Oracle Application Express at  I did this in 2008, 2009 and 2011.  It's time for an update. 

I've included a graphic of the top 30 and the full report below, and here are my observations:

  • Since 2008, the number of visitor sessions to increased (more...)