Search

OakieTags

Who's online

There are currently 0 users and 30 guests online.

Recent comments

Affiliations

December 2011

Terry Pratchett: Snuff…

Snuff is book 39 in the Discworld series by Terry Pratchett. In this one Sam Vimes is forced by his wife to go on holiday to his country estate. Being a copper he’s on the lookout for anything amiss and ends up getting involved in more than he bargained for. It’s typical Vimes, typical Discworld and typical Pratchett.

I love how Terry Pratchett manages to state the obvious in a way that makes it sound novel. It’s not just what he says, but when he says it. For example, in one part of the book a rather nasty incident occurs, then he hits you with the line,

“I tell you commander, it’s true that some of the most terrible things in the world are done by people who think, genuinely think, that they are doing it for best, especially if there is some god involved.”

Easy and fast environment framework

Getting tired of typing and setting your ORACLE_HOME, ORACLE_SID and troubleshooting your . oraenv ?
going/connecting to different client sites with different platforms and server environments sometimes it is frustrating just how long it takes to get a proper SQL*Plus environment

So I always make use of this script
http://karlarao.tiddlyspot.com/#%5B%5Bstep%20by%20step%20environment%5D%5D

and for every server that I access I just have to do three bits of typing:

UKOUG 2011 - Cary Millsap's Keynote

Without question the best presentation of the conference for many attendees was Cary Millsap's Monday night Keynote. I know this for certain because they told me so at length, grabbing every opportunity to talk about it for the rest of the week! Seriously, you couldn't talk to anyone over drinks for more than a few minutes for the rest of the week before the subject cropped up. A feature of the conversations was how disappointed those who missed it were. That tells you everything about what those who were there had to say about it!

FBI Bug

Here’s a funny little optimizer bug – though one that seems to have been fixed by at least 10.2.0.3. It showed up earlier on today in a thread on the OTN database forum. We’ll start (in 9.2.0.8) with a little table and two indexes – one normal, the other descending.

Oracle 4 on DOS

Media: 
See video

Oracle 4 and the User Friendly Interface (UFI)

Oracle 5 on DOS

Media: 
See video

Getting a glance of and old first appearance off: SQL*Plus, Oracle 5 and Forms 2 on DOS. I really love the "42 rows selected" (would they have planned it that way :)

Look mom: a mutating table error without a trigger!

Did you ever wonder why it says 'trigger/function' in the error message of ORA-04091?

ORA-04091: table ... is mutating, trigger/function may not see it

We know (and understand) by now that a row trigger cannot read a mutating table, but what's the /function all about in above message text? Well there is a completely different scenario that has nothing to do with triggers, where you can run into this error. I thought to spend a short post on that first, so that you really fully understand that ORA-04091 is your friend. And again in this scenario it prevents you from coding logic that might work differently tomorrow than from what it did today.

Let's quickly show you this scenario. We create the EMP table again and insert some test data into it.

drop table EMP;

I wish

Here’s a simple update statement that identifies a few rows in a table then updates a column where a matching value can be derived from another table – it’s an example of an update by correlated subquery:

update	t1
set	small_vc = (
		select
			max(small_vc)
		from
			t2
		where	t2.id = t1.id
	)
where
	mod(id,100) = 0
and	exists (
		select null
		from t2
		where 	t2.id = t1.id
	)
;