Who's online

There are currently 0 users and 37 guests online.

Recent comments

October 2016

So Long ACED

… and thanks for all the fish.

Today I removed myself from the OTN ACE program. This isn’t a reflection on the anything to do with the ACE program – quite the reverse, in fact – it’s because they’re introducing steps to ensure that the ACE Directors can justify their titles. Unfortunately, as anyone who has gone through (e.g.) ISO 9001 certification can tell you, quality assurance tends to translate into paperwork and ticking boxes – and while I can always find time to write up some interesting feature of Oracle I really find it hard to prioritise time for filling in forms.

In the last 4 months I’ve failed to file my monthly list of relevant activities twice, failed to request funding for two of the international conferences I’ve spoken at, and failed to submit claims against the two for which I had requested and received funding approval – so there really was no hope of me being motivated to collect all the extra details that the new regime requires.

What Dr. Edgar Codd said about the relational model in 1981

Dr. Edgar Codd introduced the relational model in his 1970 paper “A Relational Model of Data for Large Shared Data Banks”—there was an earlier 1969 version but let’s not digress. The 1970 paper was reprinted in the 25th anniversary edition of the NoCOUG Journal. It’s terribly mathematical and consequently not very comprehensible to mere mortals. But his 1981 ACM Turing Award lecture is a study in contrast so I recommend it highly. You can read it in the 30th anniversary edition of the NoCOUG Journal.(read more)

OTN ACE Director APAC Tour in Sydney Sessions

Thank you all for coming to my sessions at the Sydney conference of Oracle Technology Network +Oracle Community Network ACE Directors Tour in APAC. Please feel free to download the materials presented.

1. Secure your database in 1 day Presentation and Scripts
2. Prevent Bad SQLs in the Cloud Presentation
3. Becoming a Multitenant DBA Presentation

As always, I will appreciate to hear from you how you "really" felt about them--the good , the bad and the ugly. You can post a comment on the blog right here, or reach me via:


NoCOUG 30th anniversary conference sponsored by Google Cloud Platform

NoCOUG is “the little user group that could!” As you might imagine, it requires a vast amount of work to organize a full-day users group conference and publish a printed journal every quarter. No sooner has a conference ended and a journal mailed than it is time to start work on the next conference and the next journal. But the awesome NoCOUG volunteers have pulled it off—quarter after quarter—for 30 long years. The upcoming NoCOUG conference sponsored by Google Cloud Platform on Thursday, November 17 at PayPal Town Hall in San Jose will be its 120th quarterly conference! The theme is “A Bright and Cloudy Future for All Your Databases.” The advantages of the cloud are inescapable so buckle up and ride the wave. After the conference, join NoCOUG for its 30th anniversary celebration at Casino M8trix, Silicon Valley’s premier 24/7 entertainment destination. Can you hold a tune?

The most inventive thing I’ve done

The most inventive thing I’ve done is a software program that I wrote for my first employer almost 30 years ago. I was a fresh-faced COBOL programmer for a software company in Bombay (now Mumbai) which had won a turnkey contract to write hundreds of COBOL reports for the very first computerization effort of the Department of Banking Operations and Development (DBOD) of the Reserve Bank of India. The report layouts had been designed by systems analysts from the software company I worked for...(read more)

My First Microsoft Pass Summit Conference

It’s Friday and the last day of my first Summit conference.

The curious case of the missing semctl call

This article is about the internals of how the Oracle database handles transactions. In this case the communication mechanism of foreground sessions to the logwriter process is examined. The tests in this article have been executed using the following versions:
– Oracle database
– Oracle linux 7.2, kernel 4.1.12-61.1.14.el7uek.x86_64 (UEK4)

Building an RPM for the Oracle database on Oracle Linux 7

Thinking about automation a lot, especially in the context of cloud computing, I have decided to create a small series of related posts that hopefully help someone deploying environments in a fully automated way. As my colleague @fritshoogland has said many times: the only way to deploy database servers (or any other server for that matter) in a consistent way, is to do it via software. No matter how hard you try to set up 10 identical systems manually, there will be some, maybe ever so subtle, differences between them. And with the cloud you probably have 42 systems or more to deal with! In this context, my first post could be a building block: the provisioning of the Oracle RDBMS the form of an RPM.

The idea

In a nutshell, I would like to

A technical security analysis of the snmp daemon on Exadata

Recently I was asked to analyse the security impact of the snmp daemon on a recent Exadata. This system was running Exadata image version This blog article gives you an overview of a lot of the things that surround snmp and security.

First of all what packages are installed doing something with snmp? A list can be obtained the following way:

# rpm -qa | grep snmp

Essentially the usual net-snmp packages and a package called ‘sas_snmp’.

A next important thing is how the firewall is configured. However, the default setting of the firewall on the compute nodes with exadata is the firewall turned off:

What’s the Difference between Row Migration and Row Chaining?

In Oracle Database migrated and chained rows are often confused. In my opinion, this is for two main reasons. First, they share some characteristics, so it’s easy to confuse them. Second, Oracle, in its documentation and in the implementation of its software, has never been very consistent in distinguishing them. So, it’s essential to understand the differences between the two.

When rows are inserted into a block, the database engine reserves some free space for future updates. You define the amount of free space reserved for updates by using the PCTFREE parameter. To illustrate, I inserted six rows in the block depicted in the next figure. Since the limit set through PCTFREE has been reached, this block is no longer available for inserts.

Inserts leave some free space for future updates