My 2014

Year 2014 was a successful one for me. I was blessed with quite a few interesting performance issues which allowed me to expand my horizons. One topic I’d like to mention in particular is redo writing. I spent a few weeks optimizing a batch load process and since redo writing was a serious bottleneck, I had to spend some time understanding internals of the process. This resulted in a series of posts on log writing (more...)

Slow external table access

We had an interesting issue on, where users were reporting very slow performance on queries to external tables. When I tried to replicate the problem, everything seemed just fine, so I initially reported back the familiar "Well, it works on my PC" :-) [Just kidding]

Anyway, connecting by proxy to one of their accounts, did reveal the error, which suggested something to do with privileges.  A sql trace revealed that (more...)

Cloud Control Agent 12c managing many objects

An Oracle Enterprise Management Agent 12c that has to manage hundreds of objects needs extra tweaking. If not, it will not start, or it will die soon, leaving you with an unmanaged infrastructure.


The customer runs over 200 databases on 1 host. Intel bases host with 384GB RAM and over 4TB of storage. Linux OS. Works as a charm.
Enterprise Manager 12c Release 4, Agent Version

The databases should (more...)

Oracle Flashback – Empowering Power Users!

Flashback feature of Oracle database has been of interest to me since its inception in 9i. Thank you OTech Magazine for publishing my article on Flashback in the winter edition. Read the article here. There are several excellent articles in this edition of the Magazine. More than 100 pages of tech content. Don’t miss!! Merry Christmas! […]

Occam’s razor

This year was rich in interesting performance issues. This post is about one recent issue that was particularly intriguing because it was:

- intermittent

- not associated with any particular database activity

- it tended to appear at a certain time of the day (between 2am and 4am database time), but there were some variations

- there was no discernible pattern in days when the problem appeared

- performance degradation was due to a whole (more...)

“Innovation in Managing the Chaos of Everyday Project Management” is now on YouTube

If you missed Fishbowl’s recent webinar on our new Enterprise Information Portal for Project Management, you can now view a recording of it on YouTube.


Innovation in Managing the Chaos of Everyday Project Management discusses our strategy for leveraging the content management and collaboration features of Oracle WebCenter to enable project-centric organizations to build and deploy a project management portal. This solution was designed especially for groups like E & C firms and (more...)

Disruptive Innovations



photo by Tsahi Levent-Levi

by Iggy Fernandez

excerpted from The Twelve Days of NoSQL (

NoSQL and Big Data are “disruptive innovations” in the sense used by Harvard professor Clayton M. Christensen. In The Innovator’s Dilemma: When New Technologies Cause Great Firms to Fail, Christensen defines disruptive innovations and explains how they eventually lead to the failure of the established players who ignored them:

“Generally, disruptive innovations were technologically (more...)

Do You Know It All?

Last week’s Technology That Fits newsletter (sign up here) stimulated some interesting discussions. I showed the following graphic:

Doomed Projects

Everybody agreed that projects that choose good tools for good reasons are good, and projects that choose bad tools for bad reasons are bad. But some disagreed on Learning and Lucky categories above.

I call projects that choose good tools for bad reasons “lucky”. They are CMMI level 1 – sometimes they succeed, sometimes they fail, and they (more...)

Simplicity Is Good!

by James Morle

This article is about the importance of appropriately simplistic architectures. I frequently get involved with the creation of full-stack architectures—in particular the architecture of the database platform. There are some golden rules when designing such systems, but one of the most important ones is to keep the design as simple as possible. This isn’t a performance enhancement; this is an availability enhancement. Complexity, after all, is the enemy of availability.

Despite it (more...)

Creating Intuitive & Interactive Dashboards with the ADF Data Visualization Components

Last week I presented at the UKOUG’14 conference on creating intuitive & interactive dashboards with the ADF Data Visualization Components. Frequently end-users are overwhelmed with too much and confusing information displayed in rows and columns. It can be difficult to quickly get the relative significance. This session discussed how to create intuitive, interactive dashboards made with the ADF Data Visualization Components. You can use of the power of visualization to present information; to call the end-user to action (more...)

Interview with Tim Gorman: How I accidentally dropped the 16TB main index

Tim Gorman is a technical consultant for Delphix (, who enable database and storage virtualization to increase the agility of IT development and testing operations. He has co-authored six books, tech-reviewed eight more, and written articles for RMOUG SQL_Update and IOUG SELECT magazines. He has been an Oracle ACE since 2007, an Oracle ACE Director since 2012, a member of the Oak Table Network since 2002, and has presented at Oracle (more...)

“4k bug” is not a bug

A couple of weeks back I received an update on my “4k bug” SR (slow multirow DML performance for small block sizes). As it turns out, the observed behavior is not a bug. It’s actually more interesting than that. It is an undocumented feature that controls the insert mode depending on the estimated row size (the sum of all column sizes). If the estimated column size exceeds the size of the block, then Oracle switches (more...)

Day 3+ of UKOUG Tech 14

Sorry it’s taken a couple of days to finish off this series of blog posts on UKOUG Tech 14. I had expected to get some time on the trip back to write this, but as you’ll see if you keep reading, that really didn’t happen. So let’s go back to Day 3 of the conference.

I started the day by attending Patrick Hurley’s “Adventures in Database Administration” session. This was quite different to the normal (more...)

ORA-4068 and CONSTANT keyword…good and bad

Anyone that has ever coded PLSQL will be familiar with the error ORA-4068, where you had some state persisted in a session due to a package variable, and then when you change the package, the state is cleared along with an ORA-4068.  Here’s a quick example:


Session 1 

SQL> create or replace
  2  package PKG is
  3    procedure P;
  4  end;
  5  /

Package created.

SQL> create or replace
  2  package body  (more...)

AZORA – Arizona Oracle User Group meeting January 20th

AZORA is planning a meeting January 20th.  Here is the link to RSVP: url

Hope to see you there. :)

– Bobby

You’re Not Here to Write Code

Too many programmers think that their job is to write code. It isn’t.

The job of the programmer is to help the business solve a problem using appropriate technology for the task at hand. The programmer knows (or should know) the available tools and will hopefully select the right one for the task.

Unfortunately, too many programmers suffer from framework-phobia and don’t trust any code they have not written themselves. That takes more time, causes more (more...)

Day 2 of UKOUG Tech 14

Day 2 of the UKOUG Tech 14 conference for me started with the second session (I spent the first session typing up the blog post on Day 1 as there wasn’t a presentation I was interested in). Tammy Bednar was presenting on “Creating a Test / Dev Database in Minutes Using the Oracle Database Appliance”. Tammy is another old timer at Oracle. Like myself and Maria Colgan, she has been an Oracle employee for 20 (more...)

delete argument too long linux

When you’re trying to delete files in linux , you receive following error message

bash: /bin/rm: Argument list too long

Solution :

go to that directory and execute below command

find . -name ‘filename*’ -print0 | xargs  -0 rm

Error while apply hrglobal driver

You can follow datainstaller and hrglobal apply process from here

Possibile error:

Error 1:

sqlplus -s APPS/***** @/u01/EBSUAT/apps/apps_st/appl/per/12.0.0/patch/115/sql/hrrbdeib.sql 2 4
ERROR at line 1:
ORA-04091: table HR.FF_USER_ENTITIES is mutating, trigger/function may not see
ORA-06512: at “APPS.FFDICT”, line 1224
ORA-06512: at “APPS.FFDICT”, line 1901
ORA-06512: at “APPS.FF_USER_ENTITIES_BRI”, line 7
ORA-04088: error during execution of trigger ‘APPS.FF_USER_ENTITIES_BRI’
ORA-06512: at “APPS.HRDYNDBI”, line 5446
ORA-06512: at (more...)

Making sense out of optimizer trace files

Sometimes the optimizer makes really odd decisions. We can use optimizer (“event 10053″) tracing to obtain clues as to why such decisions were taken, but it’s not simple. First, such trace files tend to be big. Second, they don’t always contain the necessary information. There is a simple trick that can be useful in such cases.

First, I use “optimizer_features_enable” hint to try and find Oracle version where the logic changes. Of course, I don’t (more...)