Top 60 Oracle Blogs

Recent comments

December 2011

UKOUG 2011 - My Presentations

Writing long blog posts about your own presentations is pretty narcisstic but it also allows me to rectify certain mistakes afterwards so, to make an existing private joke with friends public yet again (a theme that will be repeated later), I'll start off by saying I'm sorry.

What am I sorry about? Well, I broke one of the cardinal rules of presenting which I have berated others for in the past and promised myself (never mind anyone else) that I wouldn't do. In my first full-length presentation on Monday night I spent far too much time doing what I call 'Talking to my Mates'. There were so many asides to people I knew in the audience that it excluded other people who are listening and is a distraction from the point of the presentation. In all seriousness, I am sorry to anyone who was there who felt excluded as a result. Although there are no valid excuses, I can let you into a few of the reasons.

FBI trouble

In our application we extensively use a function-based index on an important table. Couple of days ago I’ve seen an interesting issue associated with this FBI, view and a GROUP BY query. I have to say I don’t have an explanation what exactly it is and how I should call it properly, hence just “trouble” in the subject line.

Approximate NDV

This is just a temporary note (comments disabled) to make sure that any subscribers get a message that Amit Poddar has given me permission to publish his presentation on the 11g Approximate NDV. There are links to a white paper and the presentation slides on my posting about Hotsos 2009 where I saw him give the presentation.

Note – do not link back to this posting, I intend to delete it in a few days.

The Thing…

The first film I ever saw on VHS was The Thing (originally released 1982). I’m not sure exactly how long after the cinema release it was, but I remember I was still in school, so I guess it was about 1983-84 and I was about 14-15 years old. A kid at school had just got a video recorder and I went over to his house to see it. It was one of those giant top-loader things. I was totally in awe of it. I thought the film was pretty neat too. :)

"Workarounds" for ORA-04091

In the previous post, we demonstrated running into the mutating table error. The example involved the well-known EMP table and a business rule that we are trying to implement: all departments with a Manager should also employ a Clerk. We started our implementation for that rule by writing a straight-forward 'after-row-insert' trigger on the EMP table.

Up the Villa…

I had a bit of good news the other day. Nephew #2 (6 years old) is now playing for Aston Villa Academy. He’s quite small for his age and he trialed with a group of boys a year older than him, so my brother said he looked tiny and the kit they gave him was gigantic on him. He’s used to playing with Nephew #1, who’s just turned 10, so playing with bigger kids doesn’t phase him and he’s a bit more cocky than Nephew #1, which they seem to like at these places. Anyway, at the end of the session they said they want him. They are not allowed to sign exclusively until they are 8 years old, so he can keep playing for Wolverhampton Wanderers Academy and Telford.

So now I have to support:

I wish

Here are a few thoughts on dbms_stats – in particular the procedure gather_index_stats.

The procedure counts the number of used leaf blocks and the number of distinct keys using a count distinct operation, which means you get an expensive aggregation operation when you gather stats on a large index. It would be nice efficiency feature if Oracle changed the code to use the new Approximate NDV mechanism for these counts.

Getting Started with Dtrace

Structure of a dtrace script

#!/usr/sbin/dtrace -s

/ filters /
{ actions }

/ filters_optional /
{ take some actions }

The script has sections that fire if the specified probe fires in the OS. For example, if  do a  send over TCP then my “something_to_trace” could be a probe (an event) called “tcp:::send” . I could further filter by receiving machine’s IP address. Then when a packet is sent over TCP and the receiver is the IP in the filter I can take some actions like state the size of the packet.

What can I trace?  What are the possible “something_to_trace”, ie the probes?
To get a list run of OS probes, run

Provision Oracle RDBMS software via RPM

I have always asked myself why Oracle doesn’t package their software as an RPM-surely such a large organisation has the resources to do so!

Well the short answer is they don’t give you an RPM, except for the XE version of the database which prompted me to do it myself. The big problem anyone faces with RPM is that the format doesn’t seem to support files larger than 2GB. Everybody knows that the Oracle database installation is > 2G which requires a little trick on our side. And the trick is not even obscure in any way as I remembered: some time ago I read an interesting article written by Frits Hoogland about cloning Oracle homes. It’s still very relevant and can be found here:

Now that gave me the idea:

Mike Carey: The Naming of the Beasts…

“The Naming of the Beasts” is book 5 in the Felix Castor series by Mike Carey. Juliet, the succubus, has gone all wild, beaten up her human wife and is on the verge of feasting on aroused men’s souls again. Felix’s friend Rafi, still possessed by the demon Asmodeus, has gone AWOL and started a killing spree. Life’s never easy when you’re a freelance exorcist… :)

This is the last in the series so far and it maintains the pace of the other books, while tying up a lot of loose ends. According to Wikipedia the next book is out late 2001 (imminently). It will be interesting to see what Felix does next, since the main thrust of the story of the first 5 books is now concluded.