Who's online

There are currently 0 users and 51 guests online.

Recent comments


Oakies Blog Aggregator

Isn't it the truth...

Every now and then an XKDC comic strip comes along that is just so 'real world' that it makes you stop and laugh out loud.

Like this one did for me.

How many times have I seen a complex, convoluted, hardly (or not at all) working bit of software - software that does just one, maybe two things - but is capable of being the OS, the database, and every program ever written if necessary.  Just in case.

I guess that is why I'm still a Unix fan after all of these years.  A big collection of very very specific tools that can be used together to do pretty much anything.

Although - there are two sides to every coin I guess...  Sometimes (not often) - simple can be wrong too.  It depends.

AUSOUG 2011: Perth Day 1 & 2…

Day 1:

The first presentation of the day was Debra Lilley speaking about 42 real life examples of Fusion Middleware with applications. When you see the markeing bumf it’s easy to believe Fusion Middleware is only for massive projects that use all its functionality. Debra’s presentation highlighted how Fusion Middleware is being used out in the real world. It’s not all about mega-projects.

Next was my Edition-Based Redefinition talk. I think it went pretty well and I got a whole bunch of questions at the end. The speakers receive a bottle of wine as a thank you for presenting. I donated mine to the lady who asked the last question of the session. Talk about shamelessly buying friends… :)

I started to chat to a few people and somehow managed miss the next two sessions. People should have learned by now that once you start me off there is no stopping me. :)

The last session of the day was Graham Wood’s on Oracle’s hidden features. This was a mixed bag of neat little features, some of them I knew, some of them were new to me and some were things I remember reading about in the past, but had forgotten they existed. These presentations are always pretty humbling when you realize how much stuff has passed you by over the last few years. :)

In the evening a few of us went out for a quick drink, then it was off to bed (not together :) ).

Day 2:

Day 2 started off with Scott Wesley talking about APEX 4.1 security. I like APEX, but I don’t use it enough. The content was cool and the presentation style was pretty neat. He used Prezi rather than PowerPoint, which made a nice change. It would make senese to download this presentation and make a checklist of things you need to consider before putting any APEX app live.

Next up was Craig Shallahamer speaking about SQL elapsed time analysis. I think the OTN APAC Tour is taking its toll on Craig’s voice. He’s starting to sound like Barry White. :) Craig is a very dynamic presenter. I tend to waddle around the stage a bit. Craig is more like Superman. It’s really good to watch and the content is great too.

Then it was off to present my Clonedb session. The turnout was pretty good, but the room was massive, so it felt a little like a wasteland. :) Once again, lots of questions, so it was pretty cool. Lots of comment after the session as well. It seems the Clonedb feature has got a few people really excited.

Next was the panel session on our experiences of presenting. I like it when panels have strict control. Without it, it’s impossible to stop me from talking. I enjoyed being part of the panel, so I hope it was useful for the audience. The more people that can get into presenting, the better conferences will be.

Chris Muir‘s session on angels in the architecture was pretty neat. I’m not an ADF guy, so it’s not exactly my thing, but he presents well and had some cool photos of buildings to go along with his metaphor for the session.

Finally, it was Connor McDonald‘s session on a year in purgatory – diary of an 11.2 RAC upgrade. Connor is a great presenter and I think this is a presentation that many DBAs really need to hear. I’ve said it before and I’ll say it again, Oracle RAC is not easy. Yes, you can install it on VirtualBox and have it running in no time, but that is far from using it in a high-octane live environment that *must not fail* and having deadlines to meet while patching etc. When you see the history of what Connor went through, you could understand lesser DBAs just jacking it all in and going off to grow carrots.

That was the end of a very successful AUSOUG conference, so a few of us went out to eat, then I got my plane home…

I was a little nervous about the flight home. I was awake from 04:30 and my plane was not until 22:30, so I had been awake about 18 hours before I even got on the plane. I don’t sleep on planes, so I was expecting another 21+ hours of being awake before I got home. I managed to cope quite well and I got into my house at about 14:00 and went straight to the gym, trying to delay going to bed until a more normal time in the UK. I ended up in bed about 18:00, so I had been awake for over 45 hours. I’m going to be in an “altered state”for a few days, but no major dramas, which is good.

Big thanks to the ACE Program for allowing me to go on the OTN APAC Tour. Also a big thank you to everyone involved in the organization of their respective events.



Gmail New Look: Trying not to be a hater…

The Gmail new look was rolled out while I was on the road, so it’s taken until now for me to really take a good look at it. Let me start by saying I’m not a total hater, but there are some things that do not seem like an improvement to me.

  • The contrast is very poor on the default theme. On a good screen (MacBook Pro or iPad) this is not so big an issue, but on my screen at home it does look very washed out, leading me to squint a little. I’m trying out some of the other themes, but not found anything I like yet.
  • The dynamic menu on the left and dynamic toolbar on the top are a little distracting. When I’m moving my mouse around, things change position, which feels like a design flaw to me. If you are not using labels, you may not see an issue with the side bar, but it freaks me out. I think I preferred the more static nature of the old interface. With a few pulls and tweaks I can reduce the annoyance a little.
  • I was previously using the “Preview Dense” theme, as the “Preview” theme was too bloated with white space. When I switched to the new look it had similar spacing issues as the “Preview” theme. I looked for an equivalent of the “Dense” theme and couldn’t find it. This made viewing on my 13″ MacBook Pro and iPad a little annoying. As soon as I got back home I had a proper look at the interface I noticed the “Settings” cog near the top-right of the screen that gives the Comfortable, Cozy and Compact options for display density. This solved the spacing issue immediately. So the default spacing is definitely a problem for me, but the adjustment using the display density option makes it better than the old interface for me.
  • The top toolbar, as well as dynamically changing mentioned previously, has switched from buttons with words to buttons with icons. I find this a little annoying as I am still having to hover over them to decide which one I should click. In a couple more days I will get used to this, but I think many users (like my mom) will struggle for a lot longer. Although I hate the Microsoft Ribbon interface, for the non-power-user, words make a lot more sense than icons.

If I had taken the time to read this post some of my issues would never have been issues in the first place. :)

So the change is not the total disaster for me that some people have suggested it is for them, but it’s not all perfect out of the box either. I’ve posted my feedback to Google.



Upcoming UKOUG Conference

I always look forward to this time of year as the annual UKOUG conference in Birmingham approaches but this year I think I'm looking forward to it more than ever.

As I'll have delivered both of my own presentations at previous events my slides will be done before I arrive and so, after a nice trip back to Edinburgh on the way, I should be able to relax even more during the social events and make the most of the absolutely top-notch agenda. My only real problems with the agenda are that after my own slots were shuffled around a bit, I'm going to miss other presentations I wanted to see but agenda clashes are inevitable at UKOUG.

14:35   Optimizer Statistics - a fresh approach - Connor McDonald
15:30   Statistics Gathering and Histograms - Wolfgang Breitling
16:40   Performance & High Availability Panel Session

10:00   SQL Tuning - Kyle Hailey
11:05   A Deep Dive into the SQL Monitoring Report - Greg Rahn
12:15   Oracle Optimizer - Upgrading to 11g without pain - Maria Colgan
14:30   Using Ashmon - Wolfgang Breitling
14:30   ADR - John Hallas
15:25   Exadata I/O Resource Management - Marc Fielding
16:35   Adaptive Cursor Sharing - An Introduction - Harald van Breederode
16:35   The DB Time Performance Method (part 1) - Graham Wood and John Beresniewicz
17:45   Performance and Stability with 11g SPM - Me
18:45   Learning about Life through Business and Software - Cary Millsap
19:45   Exhibition Welcome Drinks
20:45   Focus Pubs

10:10   Who's afraid of Analytic Functions? - Alex Nuijten
11:15   Execution Plan Interpretation - Joze Senegacnik
12:25   Instrumentation - Why You Should Care - Cary Millsap
14:40   ASH Outliers - Detecting Unusual Events in ASH - John Beresniewicz
15:35   Can people be identified in the database? - Pete Finnigan
16:40   Beating the Oracle Optimizer - Jonathan Lewis
17:50   Challenges and Chances of the 11g Query Optimizer - Christian Antognini
20:00   Evening social and networking

09:00   Statistics on Partitioned Objects - Me
10:10   About multiblock reads - Frits Hoogland
11:20   Latch Internals in 2011 - Andrey Nikolaev
12:30   PGA Memory Management Revisited - Joze Senegacnik
15:20   Is This The Future of Load & Performance Testing? - Chris Jones
16:15   Transaction Analysis & Diagnosis using Profiling - David Owen

Let's see how many attendees I get at 9:00 on Wednesday morning for a statistics presentation!

Upcoming BGOUG Conference

In a week and a half I'll be attending the Bulgarian User Group Autumn Conference in the spa town of Hisarya. A few of the BGOUG people assaulted me when I was in Slovenia and asked if I would attend ;-) In truth, I was more than happy to, particularly once I realised some of the conference is over the weekend, which means fewer days out of the office.

Then again, now that I look at my personal agenda, I'm speaking last thing on Friday and first thing on Saturday with the Appreciation Dinner in between. Not many conference social events state a finish time of 02:00, so we'll see how well that one plays out!

11:00 - ODI - Alessandro Cagnetti
12:15 - ODI 11g New Features - Alessandro Cagnetti

14:15 - Oracle Cloud Management with OEM 12c - Julian Dontcheff

16:45 - Fat Databases, a Layered Approach - Toon Koppelaars

18:00 - Statistics on Partitioned Objects - Me

20:30 - Appreciation Dinner

02:00 - Bed!


10:00 - Performance & Stability with SPM - Me

11:15 - Clonedb - Tim Hall

12:30 - ZFS Storage can Backup your Exadata - Husnu Sensoy

14:30 - Edition-Based Redefinition - Tim Hall

17:00 - To Index Or Not To Index, That is the Question - Joze Senegacnik

Oracle XMLDB Sample Code

This week Mark Drake, Senior Product Manager Oracle XMLDB, put up a new page on Oracle OTN with some great code examples and utilities demonstrating Oracle XMLDB functionality. Among others, the latest code for Mark’s XFILES XMLDB demo application version 5, Introduction to Oracle XML DB Repository Events, Basic Introduction to Oracle XML DB, …

Continue reading »

Site Update

Updated this site to the latest “stuff” including a new stats plugin for WordPress, called kstats, just to see if this will work for me. I noticed already a small strange issue that is manifests itself in the main title of the page. Only in internet explorer it shows incorrectly, but all the others browsers …

Continue reading »

VirtualBox 4.1.6 Released…

VirtualBox 4.1.6 has been released. You can download it from the usual place and see the updates in the changelog.

Happy upgrading.



An interesting problem with ext4 on Oracle Linux 5.5

I have run into an interesting problem with my Red Hat 5.5 installation. Naively I assumed that ext4 has been around for a long time it would be stable. For a test I performed for a friend, I created my database files on a file system formatted with ext4 and mounted it the same way I would have mounted an ext3 file system:

$ mount | grep ext4
/dev/mapper/mpath43p1 on /u02/oradata type ext4 (rw)

Now when I tried to create a data file within a tablespace of a certain size, I got block corruption which I found very interesting. My first thought was: you must have a corruption of the file system. So I shut down all processes accessing /u02/oradata and gave the file system a thorough checking.

# umount /u02/oradata
# fsck.ext4 -cfv /dev/mapper/mpath43p1
e4fsck 1.41.9 (22-Aug-2009)
Checking for bad blocks (read-only test): done
/dev/mapper/mpath43p1: Updating bad block inode.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/mapper/mpath43p1: ***** FILE SYSTEM WAS MODIFIED *****

42 inodes used (0.00%)
14 non-contiguous files (33.3%)
0 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 18/14
3679655 blocks used (61.82%)
0 bad blocks
5 large files

26 regular files
7 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
33 files

Have a look at the command line options and make sure you understand them before letting fsck loose on your file systems! By the way if Linux tells you the file system cannot be unmounted, use “fuser -m /u02/oradata” to list all PIDs accessing the mount point.

As you can see from the output the file system was fine-which struck me as odd. I mounted it again and started my database, surely that was only a glitch.

After repeating my test, I got the same block corruption. I now had a suspicion that ext4 might be the problem. Instead of creating a tablespace with 1 8GB data file, I used 4 2 GB data files and the problem went away.

After some experimentation I found out that the magical boundary is somewhere > 3G for single data files. Here is the proof:

SQL> create tablespace WillIBeUnusable datafile '/u02/oradata/orcl/corrupt.dbf' size 3G;

Tablespace created.

SQL> !dbv file=/u02/oradata/orcl/corrupt.dbf

DBVERIFY: Release - Production on Thu Nov 3 10:32:02 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - Verification starting : FILE = /oradata/orcl/corrupt.dbf

DBVERIFY - Verification complete

Total Pages Examined         : 393216
Total Pages Processed (Data) : 0
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 127
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 393089
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 3371559 (0.3371559)

However a 5G data file reports these:

$ dbv file=/oradata/orcl/corrupt.dbf

DBVERIFY: Release - Production on Thu Nov 3 10:33:49 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - Verification starting : FILE = /oradata/orcl/corrupt.dbf


Page 655357 is marked corrupt
Corrupt block relative dba: 0x0289fffd (file 10, block 655357)
Completely zero block found during dbv:

Page 655358 is marked corrupt
Corrupt block relative dba: 0x0289fffe (file 10, block 655358)
Completely zero block found during dbv:

Page 655359 is marked corrupt
Corrupt block relative dba: 0x0289ffff (file 10, block 655359)
Completely zero block found during dbv:

Page 655360 is marked corrupt
Corrupt block relative dba: 0x028a0000 (file 10, block 655360)
Completely zero block found during dbv:

DBVERIFY - Verification complete

Total Pages Examined         : 655360
Total Pages Processed (Data) : 0
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 127
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 524160
Total Pages Marked Corrupt   : 131073
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 3371948 (0.3371948)

That’s not good. A search on revealed that ext4 is supported only in 5.6 and later. At that point I stopped bothering with it since even if I worked out where the problem was, I would still be running in an unsupported configuration. The main reason I prefer not to be in “unsupported” terrain is that I don’t like Oracle support to get away by simply dismissing the service request.

The Alternative: XFS

However, as Greg Rahn, Kevin Closson and others will tell you, you shouldn’t use ext4 for databases anyway: use XFS! The latter has been substantially improved in Oracle/Red Hat Linux 6 and should be your file system of choice.

Almost forgot the hard facts:

  • Oracle Linux 5.5 64bit
  • Oracle single instance