Boston Cloud SIG Session: Docker Demystified

| Jan 19, 2018
Thank you to all for coming to my session for North East Oracle User Group (Boston), more specifically the first ever Cloud SIG meetup a Burlington, MA on Jan 18th. It was heartening to see a 100+ crowd for a session that spanned all the way up to 9:30 PM on a week day. I sincerely hope you enjoyed it.

Here is the presentation for you to download:

Nested MVs

A recent client was seeing a very large redo penalty from refreshing materialized views. Unfortunately they had to be refreshed very frequently, and were being handled with a complete refresh in atomic mode – which means delete every row from every MV then re-insert every row.  The total redo was running at about 5GB per hour, which wasn’t a problem for throughput, but the space for handling backup and recovery was getting a bit (more...)

ORDS got a new love for trailing slashes

We recently upgraded a Web server from Oracle REST Data Services 2.10 to the latest version 17.4.1 . This might sound like jumping from the stone age to spaceships, but there have been only roughly 3 years between those two versions.

The good news is, ORDS ran fantastically stable for so long, and would have continued to do so even longer, but we wanted to use the latest and greatest features, hence the (more...)

Real-time Sailing Yacht Performance – Getting Started (Part 1)

In this series of articles, I intend to look at collecting and analysing our yacht’s data. I aim to show how a number of technologies can be used to achieve this and the thought processes around the build and exploration of the data. Ultimately, I want to improve our sailing performance with data, not a new concept for professional teams but well I have a limited amount of hardware and funds, unlike Oracle it seems, (more...)

Should I use SQL or Python?

We had an outage on an important application last Thursday. A particular SQL statement locked up our database with library cache: mutex X waits. I worked with Oracle support to find a bug that caused the issue and we came up with a good workaround. The bug caused a bunch of shared cursor entries. So, I wanted to run a test on a test database to recreate the excess shared cursor entries. I wanted to (more...)

Docker and Oracle Databases : Finding the Sweet Spot

One of the questions I’m asked, and indeed have asked myself on numerous occasions, is how do databases fit into the Docker world? More specifically, how does the Oracle database fit into the Docker world?

There is some Boring Context at the end of post. Happy for you to ignore it, but please read it before giving me aggro. 🙂

I don’t feel the typical lifespan of a production Oracle database fits well into the Docker (more...)

Message-Oriented Oracle RAC wait events

Message-Oriented Oracle RAC wait event

The message-oriented wait event statistics indicate that no block was received because it was not cached in any instance. Instead, a global grant was given, enabling the requesting instance to read the block from disk or modify it.

If the local instance is the resource master, the grant happens immediately.If not, the grant is always 2-way, regardless of the number of instances in the cluster.

In the first article (more...)

RMOUG Training Days 2018

Next month RMOUG (Rocky Mountain Oracle User Group) will have their annual Training Days conference in Denver. In the past, being in Israel, I wasn’t exposed to most of these “local” OUG conference in North America (I mainly went to European ones) and even if I was, it was difficult for me to attend (money-wise … Continue reading RMOUG Training Days 2018

Upgrading GoldenGate Microservices Architecture – GUI Based

In August of 2017, Oracle released two architectures for Oracle GoldenGate. These architectures were the Classic Architecture and the Microservices Architecture. Since then there has been some discussion around upgrading Oracle GoldenGate to Microservices. Due to the change in architecture, there is no direct upgrade path from Classic Architecture to Microservices Architecture. If you want to use the new Microservices Architecture, you will have to do a fresh install and migrate to the architecture.

Let’s (more...)

CDB Views and Query Optimizer Cardinality Estimations

Today I faced a performance problem caused by a bad cardinality estimation involving a CDB view in a multitenant environment. While solving the problem I did a number of observations that I try to summarize in this blog post.

First of all, when checking the execution plan of a query already running for more than two hours, I noticed that, in the execution plan, neither the referenced CDB view nor one (more...)

Column Stats

I’ve made several comments in the past about the need for being selective when gathering objects statistics with particular reference to the trade-offs when creating histograms. With Oracle 12c it’s now reasonably safe (as far as I’m concerned) to set a method_opt as a table preference that identifies columns where you expect to see Frequency or (pace the buggy behaviour described in a recent post) a Top-N histograms. The biggest problem I have is (more...)

Dynamic LOV with Pipeline function

A new year brought me some new tasks. I had to take over a generic Excel import and the customer wanted some extension by checking if the join on the master tables were successful.

Unfortunate we were talking about a generic solution which meant that all the configuration was saved inside tables including the LOV-tables which were saved as simple select statements.

Show all import rows/values which were not fitting towards the master data.


opatch version – Initial heap size set to a larger value than the maximum heap size

The below issue was faced by my fellow DBA while in checking OPatch version in Grid Home, Interestingly the same OPatch  utility works fine in RDBMS Home

Issue-OPatch version command failed with below error on GRID_HOME but it was working fine on DB home
opatch version
Error occurred during initialization of VM
Initial heap size set to a larger value than the maximum heap size
Solution- JRE memory parameter was set to the (more...)

Pivotal Cloud Foundry App Instance Routing in HTTP Headers

Developers who want to obtain debug data for a specific instance of an app can use the HTTP header X-CF-APP-INSTANCE to make a request to an app instance. To demonstrate how we can write a Spring Boot application which simply outputs the current CF app index so we are sure we are hitting the right application container.

Simplest way to do that is to define a RestController using Spring Boot as follows which then enables (more...)

Oracle 12c SE2 installation guide on OEL 7.4

Please find the document here

Oracle 12c SE2 installation guide on OEL 7

ORA-39095: Dump File Space Has Been Exhausted: Unable To Allocate


While running expdp with filesize parameter, got below error.


expdp dumpfile=full1.dmp logfile=full1.log directory=T filesize=100m full=y

Starting “SYS”.”SYS_EXPORT_FULL_01″: /******** AS SYSDBA dumpfile=full1.dmp logfile=full1.log directory=T filesize=1m full=y
Estimate in progress using BLOCKS method…
Total estimation using BLOCKS method: 251.0 MB

. . exported “SYS”.”NACL$_HOST_EXP” 6.914 KB 1 rows
. . exported “SYS”.”NACL$_WALLET_EXP” 0 KB (more...)

Migrating Function based indexes from Oracle to PostgreSQL

In this post, I will share  challenges with function based index in PostgreSQL . I was performing database migration from Oracle to PostgreSQL and used AWS Schema Conversion Tool(SCT) for converting the database schema.AWS Schema conversion tool takes care of automatically converting schema from one database engine to other. You can get more information about…

GDPR ‘Murica!

Just over a year ago, an alarm of emails, posts and projects arose in Europe surrounding the General Data Protection Regulation, also known with the acronym, GDPR.  It was as if someone had poked the sleeping bear of IT and woke it and boy, was it grumpy.

Suddenly EU technologists were learning all about advanced system security, how to encrypt and mask data, multi-tier authentication, along with creating procedures when a user requested to (more...)

How to run on Exadata

Very often when creating a Support Request (SR) for an issue on an Oracle Exadata Database Machine, you’ll need to run the script ““.  Which is the “Oracle Exadata Database Machine – Diagnostics Collection Tool“.

More information can be found on My Oracle Support (MOS) Note:
SRDC – EEST Sundiag (Doc ID 1683842.1)

To run ““, is very simple as shown below:

[root@v1ex1dbadm01 ~]#  (more...)

VirtualBox 5.2.6

VirtualBox 5.2.6 has been released. I predicted Christmas day, but they came in a little early… 🙂

The downloads and changelog are in the usual places.

I’ve done the installation on my Windows 7 PC at work and it seems fine.

Unlike the last two versions (5.2.2 and 5.2.4), the automatic download of the extension pack worked. Happy days. 🙂

Happy upgrading.



VirtualBox 5.2.6 was first posted (more...)