Search

OakieTags

Who's online

There are currently 0 users and 29 guests online.

Recent comments

Affiliations

November 2011

BGOUG 2011: Day 2…

Day 2 started with a very tired Doug Burns presenting “Performance and Stability with Oracle Database 11g’s SQL Plan Management”. As with his previous talk, this was firmly rooted in his practical experience of the feature and as such contained a mixture of positive and negative results. Essentially it boiled down to, this works great for some applications and not so great for others, so you’ve really got to suck it and see.

Next it was my Clonedb talk, which seemed to go pretty well.

BGOUG 2011: Day 1…

Day 1 was a packed affair. I went to 6 hours of presentations and my brain hurt by the end of it.

First up was Dimitri Gielis presenting “APEX 4.1 Charts Inside Out”. The talk included a whole bunch of ways to do charting in APEX, from the simple and declarative all the way to the custom and complex. There’s some really cool eye candy!

Second was Dimitri again, this time presenting “Oracle Application Express and Locator/Spatial Features: A Success Story”. The title gives away most of the technical content, but add in some maps and buses as well and you know the score. :) Once again, some nice functionality on display in this talk.

DOAG 2011 Unconference Wrap-Up

My sessions at DOAG all went well, and I in particular liked the Unconference ones. As promised I held two of them and they were rather different.

The first one only had a couple of attendees (including OakTable fellow Christian Antognini from Switzerland), so we could gather around my laptop and do a real "Optimizer Hacking Session". Actually we had to do that because the projector promised by DOAG wasn't there. I talked mainly about some common traps when performing SQL statement troubleshooting and what to do in order to avoid them, but also showed some cool stuff that I'll shortly blog about separately.

I Can Help You Trace It

The first product I ever created after leaving Oracle Corporation in 1999 was a 3-day course about optimizing Oracle performance.

Planet Earth

I know it’s another post that’s not about Oracle, but someone sent me this video link a couple of days ago and it’s too wonderful not to share. (I’ve just got back from Iceland, so the Aurora Borealis at 1:05 is particularly relevant)

Coming Soon

Just a quick reminder if you’re in Northern Europe: I’ll be in Denmark on 13th December presenting a new tutorial event Beating the Oracle Optimizer.

If you’ve been on my “Designing Optimal SQL” course, this is a follow up that takes you in the realm of designing “strange” SQL for those occasions when the Optimizer isnt going to do well enough with “normal” SQL.

In other news:

Don’t forget the UKOUG annual conference in Birmingham from 5th – 7th Dec.

Anyone attending the full event can register for a free seat at the Oak Table Day on Sunday 4th Dec. where I’ll be presenting a geeky session about Redo.

Hinting

As I’ve often pointed out, this blog isn’t AskTom, or the OTN forum, so I don’t expect to have people asking me to solve their problems; neither do I answer email questions about specific problems. Occasionally, though, questions do appear that are worth a little public airing, and one of these came in by email a couple of weeks ago. The question is longer than the answer I sent, my contribution to the exchange doesn’t start until the heading: “My Reply”.

Last week I find a very interesting thing about use_hash hint accidentally. That is when you have join two tables using unique column from one table and you have a equal predicate on that column, you cannot use hint to make them using hash join.  I know that it does not make sense to use hash join in this case because nested loop is the best way to do it. The point is why Oracle ignore the hint here.

Friday Philosophy – OK, so I am on Twitter Now

Not a very exciting Friday Philosophy this week I’m afraid, just a self-publicising announcement that I am now on Twitter. I’ve put the wordpress widget on the blog for a while (days or weeks, I don’t know), my twitter name is MDWidlake. {I was a little surprised mwidlake had gone already but that says more about how rare I consider my surname to be than naivety, I hope}. It seems you can click on a part of the widget to follow me, which is a pretty safe thing to do as I am not very verbal as yet.

As I said, I’m not very active at the moment, I’m more following just a few friends and seeing what people use Twitter for. So far it mostly seems to be about:

Little Things Doth Crabby Make – Part XVII. I See xfs_mkfile(8) Making Fragmented Files.

BLOG UPDATE 21-NOV-2011: The comment thread for this post is extremely relevant.

 

I recently had an “exchange of ideas” with an individual. It was this individual’s assertion that modern systems exhibit memory latencies measured in microseconds.

Since I haven’t worked on a system with microsecond-memory since late in the last millennium I sort of let the conversation languish.

The topic of systems speeds and feeds was fresh on my mind from that conversation when I encountered something that motivated me to produce this installment in the Little Things Doth Crabby Make series.

This installment in the series has to do with disk scan throughput and file system fragmentation. But what does that have to do with modern systems’ memory latency? Well, I’ll try to explain.

Procedural SQL*Plus and Password Encryption

One  small but bothersome  issue I’ve had for 20 years is  how to drive a program like SQL*Plus with a shell script to make it procedural.  One approach is to just run single commands to SQL*Plus causing a connection and exit for every SQL statement. Connecting and disconnecting is costly. Ideally, I just want to open up a  connection and send commands to the connection and get the response. Of course languages like java, perl, python all have Oracle connection APIs but what if I just want a simple shell script and don’t have access to perl or python with the Oracle APIs or access to java? Can’t I just do it in shell?  Can’t I just connect SQL*Plus to a named pipe and echo my commands into the pipe? Well yes but there is an annoying obstacle.