Top 60 Oracle Blogs

Recent comments

August 2010

Do-It-Yourself Exadata-Level Performance! Really? Part IV.

In my post entitled Do-It-Yourself Exadata-Level Performance? Really? I invited readers to visit the Oracle Mix page and vote for my suggest-a-session where I aimed to present on DIY Exadata-level performance. As the following screenshot shows I got a lot of good folks to vote on that. It must have been an interesting sounding topic! Yes, [...]

More Copyright Theft (Update)…

Regarding my previous post (here), it seems Guenadi N Jilevski has now removed the articles that are direct copies of mine. Thankyou for the quick action.

There is still at least one article remaining that contains large chunks of text scraped from my site. I guess the fact he has included his own screen grabs and some minor alterations to the text lead him to believe it is original content. Sigh.

I’m also glad to see he has removed the blog post where he attempts to defend his stance. I’ve taken copies of all the important posts for my records, but I’m hoping this marks an end to this little affair.



Update: I found a new batch of stolen stuff I’m attempting to get removed. The list from the previous post has been extended accordingly.

More Copyright Theft…

Thanks to Don Burleson for pointing me at this article by Timur Akhmadeev that lists a whole bunch of articles that have been stolen by Guenadi N Jilevski.

Unfortunately, this is only the tip of the iceberg. Just looking at the stuff he’s stolen from me, there are three types ripoff:

1) Complete Copies.

2) Articles where the bulk of the copy is stolen word for word, with a couple of sections added and different screen grabs, which at first glance would make it seem original. Make no mistake, this is still stolen.

Finding thread IDs and names of SQL Server background threads

In Microsoft SQL Server, session IDs of 50 or less are dedicated background threads. These are analogous to Oracle’s background processes.  Suppose you needed to obtain the Windows thread ID of a SQL server background thread.  Just try finding out how to do that in the Microsoft documentation or by Googling.  I tried, and came up empty-handed.

Why might you need to know this kind of thing?  Well suppose one of those threads was misbehaving or hanging. You would need to debug it and obtain a stack trace.  For that you would need the OS thread ID.

A little sleuthing shows that you need to query three dynamic system views: sys.dm_os_threads, sys.dm_os_workers and sys.dm_exec_requests.  The following SQL should do the trick in MSSS 2005 and 2008:

Introduction to the Oracle database machine

For those of you who haven’t followed all the Oracle Exadata and database machine information, and want a brief introduction to the database machine: here it is!

The confusion

There is some confusion about ‘exadata’ and ‘the database machine’. If we look at the official product names, ‘Exadata’ is the storage server, and the ‘Database machine’ is the complete boxed machine, including exadata for storage. But…in the real world, in different kinds of papers (technical, advertising) exadata sometimes is used as an alias for the database machine.

Content theft on my blog

I have received an email today from Don Burleson who informed me that a number of my articles have mysteriously appeared on another weblog hosted by wordpress on the name of  For instance:

My post: has reappeared as Even the host names are identical! The next one is a bit better as he managed to remove my “” example with “”: is my but he forgot to add the corrections I made. I recognize my DNS server, auxOEL5 :)

The story goes on.

Copy: from original:

Copy: Original:

Copy: Original:

And many more. It seems my blog is replicated almost 1:1 to his.

I am very disappointed to see that someone else has to resort to such extreme measures to boost his profile. Copyright aside, this is very unprofessional and I would have expected something else. If you are interested in the whole story, have a look at

Oh, and it’s not only me, more established authors such as Alex Gorbachev, Mark Bobak and Alex Fatkulin are also victims of this.

So, and that’s it from me about this matter.


Having complained to WordPress and leaving comments on my articles they mysteriously disappeared overnight. Everyone affected should do the same, and I urge you to file complaints to wordpress to have the blog removed.


Here’s an odd little bug (I think) in the optimizer that showed itself in a thread on the OTN database forum some time ago. The optimizer can choose an index which is NOT the cheapest index for satisfying a query against a single table. Here’s the demo – which I’ve run against using an 8KB block size, ASSM and system allocated extent sizes:

"PX Deq Credit: send blkd" アイドルイベント?

PX Deq Credit: send blkdイベントの検証

test1. insert into lineitem_work (select /*+ parallel(L 1) */ * from lineitem L)
test2. insert into lineitem_work (select /*+ parallel(L 40) */ * from lineitem L)

cpu sec elapsed(sec)
test1 8.92 25.53
test2 0.00 60.19



Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
PX Deq: Execution Msg 16 0.01 0.21
Disk file operations I/O 1 0.03 0.03
direct path read 16 0.00 0.04
PX Deq Credit: send blkd 1777 2.01 59.63
PX qref latch 4 0.00 0.00
PX Deq Credit: need buffer 15 0.00 0.09
asynch descriptor resize 11 0.00 0.00

前回のテストでも出てきたPX Deq Credit: send blkdだ。

selectがparallelでもInsertがnon parallelだとこうなる。

cpu sec elapsed(sec)
test1 8.92 25.53
test2 0.00 60.19
test3 0.12 10.05

待機イベントPX Deq Credit: send blkdもなくなった:

Event waited on Times Max. Wait Total Waited

MOTS starts one month from today!

The Michigan OakTable Symposium is only one month away!

Have you registered yet? Some of the top Oracle speakers in the world are coming to Ann Arbor, MI September 16-17th, 2010!

The speaker list includes Cary Millsap, Jonathan Lewis, Tanel Poder, Riyaj Shamsudeen, Jeremiah Wilton, and many more!

See the complete list of speakers, with abstracts, and complete registration information, at: MOTS Home page

Don’t miss it!

Refactoring SQL Applications

"The application design is the most important factor in performance"

I've heard the phrase so many times, it doesn't even register on me. Sure the application design is the most important factor in performance, but what do I do about it? Well, "Refactoring SQL Applications" (RSA) is the book I've been waiting for. RSA lays out examples of how application coders tend to think either procedurally or object oriented and how this thinking can completely miss the boat when it comes to writing SQL and interacting with the database.

In RSA, Stephane Faroult, lays out examples of Java code, user defined functions and views and how a coders notions of modular procedural programing and/or object instantiation can run undermine database performance from cookie cutter reuse of code to table joins written in Java. If you've ever seen Tom Kyte's "Developer Super Session - The Best Way", then you know the best way is not to do it and his example is of a coders doing "count(*)" to find out how many loops to do or how big an array to layout. Tom explains the disasters this can create and how the best way is just to not do the count(*) and how this works by letting the database do the work. Letting the database do the work is explained clearly and with many examples from different perspectives in "Refactoring SQL Applications".