Top 60 Oracle Blogs

Recent comments

May 2008

Querying the current tracefile name, using SQL – with tracefile_identifier

_Update: In Oracle 11g upwards you can use V$DIAG_INFO for getting your own session’s trace file name too (diag.sql script). But on earlier versions or if you want to see the current tracefile name of another, you still need to use the V$PROCESS approach below. Note that V$PROCESS in 11g (or 11.2?) has a column TRACEFILE that shows the entire path+name of a process tracefile (however there seems to be a bug in 12.

Oracle Troubleshooting with Snapper – detecting who’s causing excessive redo generation

Update: As this post was written many years ago, you should check out newer Snapper articles/videos:

My friend asked today a question that how to identify why his Oracle 9.2 database has suddenly started generating loads more redo than usual.

So obviously I recommended him Snapper as first thing, it’s perfect for ad-hoc analysis like that! ( I know I sound biased but if you haven’t used Snapper yet, then now is the time! :)

So, I asked him to run Snapper on all sessions of the instance with 10 second interval and find the session with highest “redo size” delta figure.

Performance and Scalalability Improvements in Oracle 10g and 11g

I have uploaded the slides of my “Performance and Scalalability Improvements in Oracle 10g and 11g” presentation here.

Using autonomous transactions for sleeping

There was a question in a recent Oracle-L thread about various uses of autonomous transactions.

Autonomous transactions can be very useful for a PL/SQL application logging, but sometimes they are also abused to cope with bad application design (like avoiding mutating table errors in triggers etc).

I’m not going to start on that topic here though, but instead presenting another case where autonomous transactions have helped me to work around a problem. It’s more a hack than a real solution though, but may be useful for someone else too.

Pl/sql counter

A simple package to start and maintain a session-based counter. Useful for debugging and instrumentation. May 2008

Pl/sql counter

A simple package to start and maintain a session-based counter. Useful for debugging and instrumentation. May 2008

Regular expression enhancements in 11g

Oracle 11g adds a new REGEXP_COUNT function and extends some of the existing functions. May 2008

Free hash in Holland - and some fun consequences

I heard this story from a Dutch friend, and I'm sure a) he's completely wrong and b) I've misunderstood everything he said. We must have been drunk both of us. With that in mind, here's the story as I recall it....

It's legal to use hash in Holland. It's also legal for the "coffee shops" to sell it. We all know that.

But of course it's illegal for the coffee shops to purchase it. And as an utterly natural consequence it's illegal to grow it. Of course. Makes sense.

And yet - despite this state of things - the Dutch haven't quite managed to push the hash thing out of the gangsters' hands :-)).

So the gangsters are now growing hash in apartments, on boats, and other places.

They use artificial lights, of course. And carbon filters so it doesn't smell. They circumvent the normal electricity circuit in order to avoid detection. They force weak people to front this kind of activity, of course.

Oracle's CPU Patch Naming

Just today I discovered that Oracle changed the nomenclature used to refer to Critical Patch Updates.

Up through the patch bundle issued in October 2007, these were referred to by the date of release. The October 2007 release was "Oracle Critical Patch Update - October 2007", often shortened to "CPU Oct 2007".
Oracle Critical Patch Update - October 2007

When viewing the documentation for the October 2007 CPU you will see this:

Oracle® DatabaseCritical Patch Update Note
Release for Microsoft Windows (x64)

The documentation for the January 2008 CPU however looks a bit different:

Oracle® Database Server Version Patch 17
Bundle Patch Update Note
Release for Microsoft Windows (x64)