August 2010

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, [...]

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.

Cheers

Tim…

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.

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.

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:

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.

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 http://gjilevski.wordpress.com/. For instance:

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 http://timurakhmadeev.wordpress.com/2010/06/02/content-thief/

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.

Almost.

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 11.1.0.6 using an 8KB block size, ASSM and system allocated extent sizes:

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".