The Integrated Heartbeat of Oracle #GoldenGate #12c (12.2)

With the announcement of Oracle GoldenGate 12c ( at Oracle Open World this year, I was interested in hearing that Oracle has finally integrated the heartbeat process into the core functionality of GoldenGate. Setting up the heartbeat is always a fun thing to do with GoldenGate and I had hoped that this move to integrated it would bring benefits with it. To my dismay, I’m a little underwhelmed with the heartbeat (more...)

Advanced Compression Option Caveat in Oracle 12c


Oracle 12c introduced a new capability to move a partition online, without any interruptions to DML happening at the same time. But, there’s a catch. So far we’ve been able to use basic table compression without having to worry about any extra licensing – it was just a plain EE feature.

If you are planning to use the online partition move functionality, carefully check if you’re not using basic compression anywhere. For example:

create (more...)

Table Expansion

I’ve often found that while I’m investigating one Oracle feature I get waylaid by noticing anomalies in other parts of the code. I was caught by one of these events a little while ago while experimenting with the new ( Inmemory Columnar Store.  After reading a posting by Martin Bach I asked the question:

“If you have a partitioned table with a local index and one of the table partitions has (more...)


In Oracle database the vie DBA_FEATURE_USAGE_STATISTICS is given to
display information about database feature usage statistics.
That's all I can find in The (12.1) Docu.

Just in case anyone asks - DBA_FEATURE_USAGE_STATISTICS is not mentioned in the license guide at all:

Still for me it's interesting what's behind the view, and how it's content is populated.

So I started to analyze it's anatomy.
Starting with the view definition (slightly rewritten for better readability):
SELECT  (more...)

OPatch bugs when applying Grid Infrastructure

For one of my clients, I experienced several issues with applying PSU with opatch

There were some code changes in opatchauto, which are not yet production-ready. I am looking forward to seeing a new opatch release (maybe or 11) which has these issues fixed.

    “opatchauto apply -analyze” is (more...)

DOAG 2015: Best of Oracle Security 2015

Yesterday I gave my yearly presentation “Best of Oracle Security 2015” at the DOAG 2015 conference in Nürnberg. In this presentation I showed different Oracle exploits I found/modified released in 2015 in various sources.

One of the most interesting Oracle bugs in 2015 was CVE-2014-6577 (found by Trustwave, affecting,,, 12.1.02, fixed in April 2015 CPU). This bug can be used as helper (more...)

Did it really fix it 1: OFE & nasty FIRST_ROWS plan on

Plan degradations on upgrade are normal.

This one’s no different.

On further investigation, turned out application was setting optimizer_mode = first_rows somewhere.

First point about this is that first_rows really shouldn’t be used either as a hint or as an optimizer_mode.

What does FIRST_ROWS mean?
From 11g doco:

The optimizer uses a mix of costs and heuristics to find a best plan for fast delivery of the first few rows.

If any sort of (more...)

Auto Search in the Enterprise Manager through bookmarks

Since 12c when debugging or looking at flow instances in the Enterprise Manager, we have to use the search button to make the flow instances appear. By default the following text is being displayed: 'Conduct a search to display the list of message flows across SOA composites in the SOA Infrastructure'.

When you open the search bar on the right pane and click search, the instances of the last 24 hours are being displayed:

However, (more...)

OOW15: Oracle Open World 2015

Just before Oracle Open World 2015, the launch of the new 12c (12.2.1) release went public. This release was a full release of the whole stack. From WebLogic Server to Business Intelligence, including product that were not on 12.1.3 yet, like WebCenter. A bit closer to Open World than expected, but this was good news, meaning we can talk freely about 12.2.1 and get all the information on it (more...)

Wrong Results

Here’s a little gem in 12c that arrived in my email a few days ago: a query where the result depends on the SQL*Plus arraysize!

The email had a short description, and a script to create a small data set that would demonstrate the problem. I’m not going to show you the query, or the result set, but here’s a sample of the output from an SQL*Plus session after creating the data. This is, by (more...)

SQL Tuning: Thinking in Sets / How and When to be Bushy

Below is a SQL statement from a performance problem I was looking at the other day.

This is a real-world bit of SQL which has slightly simplified and sanitised but, I hope, without losing the real-worldliness of it and the points driving this article.

You don’t really need to be familiar with the data or table structures (I wasn’t) as this is a commentary on SQL structure and why sometimes a rewrite is the best (more...)

Building Oracle #GoldenGate Studio Repository…. a walk through

With the announcement of Oracle GoldenGate Studio at OOW this year, there has been a good bit of interest in what is can do for any Oracle GoldenGate environment. The basics of this new design tool is that it will allow the end user to quickly build out GoldenGate architectures and mappings; however, before you can build the architectures and mappings there needs to be a repository to store this information.

The Oracle GoldenGate Studio (more...)

OOW15: Announcing WCP 12.2.1

It has been a long wait, but WebCenter has finally been released on 12c, WebCenter Portal 12.2.1 is out and brings you new features we have been waiting for! Just to name a few:
  • A more/better responsive design
  • a WYSIWYG editor with preview mode
  • Embedded content UI for ECM functionality
  • New Portal REST API
  • Out of the box bootstrap themes
  • A Portal Jump Start kit
  • Cloud Certification (on JCS)

However, there is also (more...)

OOW15: New features in ADF 12.2.1

The whole stack of Fusion Middleware 12c  was launched just before open world. This means there is also a new, cooler and better version of Oracle Application Development Framework (ADF) out! It was not too hard to follow all the session about ADF on open world this year, there were not that many to begin with. 

So what is new? To start with, the infrastructure, we can now use JDK 8 in ADF and (more...)

Introducing Oracle ASM Filter Driver

The Oracle ASMFD (Filter Driver) was introduced in Oracle Database and as of the moment it is available on Linux systems only.

Oracle ASM Filter Driver is a kernel module very much like the ASMLIB that resides in the I/O path of the Oracle ASM disks. It provides an interface between the Oracle binaries and the underlying operating environment.

Here are some of the features of ASMFD:

  • Reject non-Oracle I/O

The (more...)

Oracle 12c forms is released

Oracle 12c forms is released now. Please find the download link here


There might be a situation where executing some DDL in pluggable database may cause the following error:

ORA-65040: operation not allowed from within a pluggable database

This error could occur if a tablespace is being dropped from within PDB and this tablespace is a former default tablespace having some of the system objects. Even system objects cannot be moved with simple alter statements from within PDBs.

So in order to move these objects from within (more...)

What AWR isn’t telling you

It is well-known that AWR, and Statspack before, take snapshots of V$ views (or rather the underlying objects) to produce the data in AWR.

It is also well-known that, when considering sql and its statistics in the shared pool, if something big hitting happens but the big-hitter is no longer in the shared pool by the time of the snapshot, then it can’t be recorded in your AWR picture of activity.

But like many things (more...)

OEM and monitoring the -MGMTDB GMIR Database

When you create Grid Infrastructure in, you are presented with a new (annoyingly named) “-MGMTDB”

This database is a standard, 12C CDB/PDB storing transient performance and other information. If it is lost, no biggie. Just re-create it (in your voting disk DG. Aside: create a new MGMTDB_DG, move your voting disk there, re-create -MGMTDB, then move your voting disk back out to the proper multiple voting volumes.)

However, Oracle Enterprise (more...)

Quick Cross-Period AWR Time Model Comparison

Here’s a query which I find useful in order to have a very quick comparison across AWR snapshots of the high level time model statistics.
The numbers should match those in the associated section in the AWR report.

If you feel compulsed, obsessively, with tuning then you may see some blips here and there which then encourage you to dive into the AWR detail for that snapshot.

Or quite often I get in in the (more...)