Search

Top 60 Oracle Blogs

Recent comments

January 2013

Hotsos Symposium 2013

Just a quick note to let you know I’ll be speaking at the Hotsos Symposium in March in Dallas. I’ve attended every year for the past 6 or 7 years and spoken at several of them. It has consistently been the best performance oriented Oracle conference I’ve attended. This year will be no different with the likes of Maria Colgan, Karen Morton, Tom Kyte, Tim Gorman, Cary Millsap, Frits Hoogland, Gwen Shapira, Alex Gorbachev, Kyle Haily, Carlos Sierra, Kellyn Pot’Vin, Mark Farnham, Toon Koppelaars, Andy Zitelli, Neil Gunther, Stephan Haisley, Marco Gralike, Steven Feuerstein and a host of others. Looks like several of the speakers (including me) plan to be talking about new performance oriented features of the soon to be released Oracle 12c database, so it should be very interesting. One of the best things about the conference is the chance to talk to people (including the speakers) at the breaks.

Oaktable videos

Hi,

Short update - I have upload new video from OakTable World 2012 - Brendan Gregg -- USE Method for Performance Tuning.

Oaktable videos

Hi,

Short update - I have upload new video from OakTable World 2012 - Brendan Gregg -- USE Method for Performance Tuning.

AVG: What Does it Mean?

AVG is an aggregate function in SQL to compute the "average" of a set of
values. More precisely, it computes the mean of those values. And even more
precisely, AVG computes what is known as...



Read the full post at www.gennick.com/database.

AVG: What Does it Mean?

AVG is an aggregate function in SQL to compute the "average" of a set of
values. More precisely, it computes the mean of those values. And even more
precisely, AVG computes what is known as...



Read the full post at www.gennick.com/database.

Oracle 11gR2 RAC Installation on Oracle Linux 6

I spent today updating my Oracle 11gR2 RAC installation on OL6 article. The original article used an older version of VirtualBox , which meant some of the screen shots looked a little dated. It’s now updated to VirtualBox 4.2.6, so it should be a little less confusing for anyone who is new to VirtualBox.

I’ll probably update the OL5 RAC article some time this next week, since that article uses VirtualBox 3.2.8, which is pretty much ancient history now. :)

Cheers

Tim…

Quiz Night

Warning – this is a catch question, and I haven’t given you enough information to have any idea of the right answer; though, by telling you that I haven’t given you enough information to have any idea of the right answer, you now have some information that might help you to get closer to the right answer.

I have a simple heap table with no indexes. Immediately after flushing the buffer_cache I’ve run a query that looks ike this:

select max(column_ZZZ) from table_X;

The most significant session stats for this operation are as follows:

Over-indexing

This is the text of an article I published in the UKOUG magazine a few years ago, but it caught my eye while I was browsing through my knowledge base recently, and it’s still relevant. I haven’t altered the original apart from adding a couple of very brief comments in brackets [Ed: like this].

Over-indexing

One of the strengths of a relational database is that you should be able to throw any reasonable query (and even some unreasonable queries) at it and it will be able to return the right answer without being told how to navigate through the data.

There’s no guarantee, though, that you’ll get the answer quickly unless you’ve given the database some help by turning your logical model into a sensible physical implementation. Part of the physical implementation will be the choice of indexes – and this article reviews one of the commonest indexing issues that I see in OLTP systems

Displaying ASM Partner Disks

Here is a quick SQL which I sometimes use to show people disks and their respective partners (grouped by a failure group) inside an ASM disk group every time I need to explain both of these concepts.

An example output from a quarter rack Exadata with a normal redundancy disk group:

SQL> column p format a80
SQL> variable group_number number
SQL> exec :group_number := 1;

PL/SQL procedure successfully completed.

SQL> select d||' => '||listagg(p, ',') within group (order by p) p
from (
select ad1.failgroup||'('||to_char(ad1.disk_number, 'fm000')||')' d,
ad2.failgroup||'('||listagg(to_char(p.number_kfdpartner, 'fm000'), ',') within group (order by ad1.disk_number)||')' p
from v$asm_disk ad1, x$kfdpartner p, v$asm_disk ad2
where ad1.disk_number = p.disk
and p.number_kfdpartner=ad2.disk_number
and ad1.group_number = p.grp
and ad2.group_number = p.grp
and p.grp = :group_number