LOB Length

It’s funny how you can make little savings in work all over the place in Oracle if you’re prepared to look a little closely at what’s going on. Here’s a quirky little example with LOBs and function calls that might just have some greater relevance in other situations. Here’s a little data set, and two queries that I might run against it:

create table tbl(
	c1      clob
lob (c1) store as c_lob(
	disable storage  (more...)

OUG Mexico

We (Gorcan, Glen, Debra and I) arrived into Mexico around 10pm and had a few minutes wait for our local user group contact to meet us. They had arranged transportation to our hotel.

2014 08 08 07 35 022014 08 08 07 35 07

The next morning (Friday) was the day of the OUG Mexico conference. We were collected from the hotel and taken to the conference venue. Our transport had to made a number of trips to/from the conference venue to cater for all the (more...)

Weblogic Start Failure: Empty Initial Replica

This post is to address a failed Weblogic start in EM12c.  The fix is performed on a Windows host, but the fix can easily be for any EM12c environment that experiences this issue.  In the below instructions, just replace the %OMS_BASE% for Windows Env Var to $OMS_BASE for Linux/Unix.

Issue:  OMS Fails to Start and Points to Weblogic Issue in EMGC_OMS1.out File.

Error in Out File:  <Critical> <WebLogicServer> <BEA-000386> <Server subsystem (more...)

12c metadata only default values for NULL columns

Before 11g if you added a new column to a table then Oracle had to lock and physically update all rows in the table. Possibly a painful process :) 11g helped with that a little, giving metadata only default values for NOT NULL columns, so the change was done only in data dictionary, not in the table data.

SQL> create table default_values (
  2    id number primary key
  3  );

Table created.

SQL> insert into  (more...)

★ Database as a Storage (DBaaS) vs. Thick Database

A recent addition to my Oracle PL/SQL library is the book Oracle PL/SQL Performance Tuning Tips & Techniques by Michael Rosenblum and Dr. Paul Dorsey.

I agree with Steven Feuerstein’s review that “if you write PL/SQL or are responsible for tuning the PL/SQL code written by someone else, this book will give you a broader, deeper set of tools with which to achieve PL/SQL success”.

In the foreword of the book, Bryn Llewellyn writes:

The (more...)

Oracle Data Integrator (ODI) Architecture Review Service.

There are various tell-tale signs that something is not quite right with your Oracle Data Integrator implementation. Does your ODI architecture suffer from the following symptoms?

  • The ETL seems to take forever
  • Some data flows take more than 30 minutes
  • Your developers take ages to implement new data flows or change existing mappings
  • The ETL breaks at least once a week
  • No meaningful and consistent set of naming standards and coding conventions has been implemented.
  • (more...)

OUG Costa Rica

After the OUG Panama conference we arrived later that night in San Jose the capitol of Costa Rica. The whole emigration, luggage pick up and customs was the smoothest experiences I have ever experienced at an airport. All was done in a matter of minutes. All the booths for emigration and customs was open and staffed. When was the last time you have ever seen this before. It was a very positive start to our (more...)

Blame It On The Drugs

Bronchitis.  I catch it a lot.  Rotten experience.  It's like an invisible elephant is sitting on your chest.  And the drugs are mind-numbing.  Got it now.  Shivering under a blanket in 90 degree weather.  But, it'll pass.  And, in the meantime, if I write something weird...well, let's blame it on the drugs, OK?

Had a chat with a dear old friend this week.  Middle-manager for a Fortune 500 corporation.  Big Oracle customer.  Lots of (more...)

Monitoring a Microsoft OS Failover Cluster

I know, I know-  none of you are using Microsoft Windows.  This is why I get so many questions on this topic and why there is so much interest in a white paper that no one thought I needed to write.  Well, while that pesky ol’ white paper is in review, I’m going to go onto a secondary topic of how to monitor a Microsoft Active/Passive cluster with Enterprise Manager 12c, release 4.


Clobbering grub.conf is Bad

I’m sharing this in the hope of saving someone from an unwelcome surprise.


I recent upgraded an Exadata system from to Apart from what turns out to be a known bug[1] that resulted in the patching of the InfiniBand switches “failing”, it all seemed to go without a snag. That’s until I decided to do some node failure testing…

Having forced a node (more...)

In-memory limitation

I’ve been struggling to find time to have any interaction with the Oracle community for the last couple of months – partly due to workload, partly due to family matters and (okay, I’ll admit it) I really did have a few days’ holiday this month. So making my comeback with a bang – here’s a quick comment about the 12cR2 in-memory feature, and how it didn’t quite live up to my expectation; but it’s also a comment (more...)

Materialized views: fast refresh, complete refresh or recreate?

Have you ever wondered why it takes a century to completely refresh your materialized view? I did, so I did some testing.

Recently I was asked to support a customer whose database was extremely slow. As it turned out, some indexes had been created on a materialized view and that view was being refreshed. Soon I found that a large ‘delete from’ job was running, which turned out to be part of the complete refresh.


Exadata Zone Maps

Just a quick post on a new Exadata feature called Zone Maps. They’re similar to storage indexes on Exadata, but with more control (you can define the columns and how the data is refreshed for example). People have complained for years that storage indexes provided no control mechanisms, but now we have a way to exert our God given rights as DBA’s to control yet another aspect of the database. Here’s a link to the (more...)

OGG-00212, what a frustrating error.

Normally, I don’t mind errors when I’m working with Oracle GoldenGate (OGG); I actually like getting errors, keeps me on my toes and gives me something to solve.  Clients on the other hand do not like errors…LOL.  Solving errors in OGG is normally pretty straight forward with the help of the documentation.  Although today I can almost disagree with the docs.

Today, as I’ve been working on implementing a solution with OGG 11.1.x (more...)

Cloud Control authorization with Active Directory

About 2 months ago I wrote an article about setting up user authentication in Cloud control, based on their account in the Active Directory. As promised, here is the second part describing Cloud Control authorization with Active Directory.

A small recap about why this could be useful:

If your company is preferring Microsoft Active Directory (further named AD) as a source of truth (or at least you´re trying to) you should be using the AD (more...)

Oracle ASM Filter Driver: Advanced Format Fail


In my previous post on the subject of the new ASM Filter Driver (AFD) feature introduced in Oracle’s patchset, I installed the AFD to see how it fulfilled its promise that it “filters out all non-Oracle I/Os which could cause accidental overwrites“. However, because I was ten minutes away from my summer vacation at the point of finishing that post, I didn’t actually get round to writing about what (more...)

Peeling through layers of cache

Nowadays, data in databases is wrapped in may layers of cache: result cache, buffer cache, OS page cache, storage hardware cache… They greatly improve performance, but they also make it less stable and harder to predict. And when I/O performance takes a turn for worse, one has to go through multiple layers of cache trying to understand what went wrong and why. I had such a case not too long ago.

The incident took place (more...)

Fashion and Wearable Tech: We Don’t All Wear Overalls in Work

Big problem with wearable tech: It’s not particularly wearable.

Part of this failing is a clear lack of any fashion or sense of style evident in the current crop of wearable tech offered to the consumer. What chance then would using wearable tech for work have?

To use an analogy it seems as if wearable tech makers might think we all wear Star Trek uniforms or overalls to work and rely solely used character-based green-screen (more...)

Grid/CRS AddNode or runInstaller fails with NullPointerException

Posting this here mostly to archive it, so I can find it later if I ever see this problem again.

Today I was repeatedly getting this error while trying to add a node to a cluster:

(grid)$ $ORACLE_HOME/oui/bin/addNode.sh -silent -noCopy CRS_ADDNODE=true CRS_DHCP_ENABLED=false INVENTORY_LOCATION=/u01/oraInventory ORACLE_HOME=$ORACLE_HOME "CLUSTER_NEW_NODES={new-node}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={new-node-vip}"
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 24575 MB    Passed
Oracle Universal Installer, Version Production
Copyright  (more...)

Cloning pluggable database with custom snapshot

When cloning pluggable databases Oracle gives you also SNAPSHOT COPY clause to utilize storage system snapshot capabilities to save on storage space. But it works only when datafiles are placed on ACFS, ZFS Appliance over DNFS or Netapp (Oracle Multitenant Pluggable Database Snapshot Cloning: Use Cases and Supported Platforms Doc ID 1597027.1) and you also cannot unplug/drop the source PDB and you also cannot unplug the clone PDB.

Recently I've started to like BTRFS (more...)