.comment-link {margin-left:.6em;}

Oracle Sponge -- Now Moved To Wordpress

Please use http://oraclesponge.wordpress.com

Monday, April 11, 2005

Banned By Burleson!

Boy, I thought it would never happen. I thought that by being reasonable and polite (yet irritatingly insistant) I would never get banned by Don Burleson from his Oracle DBA Forum.

I guess the post where I satirically responded to Mike Ault's blog entry with my own version, in which I satirically suggested that DKB used a crystal ball to diagnose Oracle database problems, gave him the excuse that he needed to remove a thorn in his side. Hey, if Mike wasn't blocking comments from his posting then I wouldn't have felt the urge now, would I?

How did all this happen? Well, it's a long and sad story.

Some weeks ago DKB posted an article (or did it start off as a forum posting? I don't recall) in which he suggested that Oracle users were getting excellent performance improvements by moving their indexes to tablespaces with large block sizes. "Sounds interesting!" I thought. "Let's see what sort of improvement we're talking about here!". So I ran some simple SQL*Plus scripts in which I compared CPU usage and wall clock time for both fast full index scans (FFIS) and index range scans (IRS) for indexes of the same size, on the same data, with one index on 8kb block size and one on 16kb block size.

Result: well, nothing to write home about to be honest. Nothing to rave about, certainly. But Don had a user quote attributing "a 20% reduction in I/O" to this technique (what kind of I/O, on what range of objects, over what time period, for what load, we don't know).

So either there was something wrong with the script (could easily be the case) or something was wrong with the advice. Don went for "something wrong with the script" -- in fact he went a stage further and said that such simple SQL*Plus scripts didn't mean anything because they weren't predictive of performance on a "real world system". Now my interpretation of Don's position is that the only things that mean anything in terms of real-world performance are either articles giving generic advice without any qualification on system type or load (eg. his original artical) or a full-blown system benchmarking process on the target system. Rather non-intuitively, intermediate steps between "trust-me-I'm-a-professional" and "full-blown-system-test" are worth less than either of these extremes. Extraordinary -- but also convenient.

So that thread went on and on and on and on. I would ask for any evidence, speculation, or wild guess as to why the script was not valid, and Don (and Mike too, if memory serves) would just ignore it. At one point a forum member (I forget who, but I'll be happy to give credit if someone will remind me update: diogenes tells me it was the pseudonymous ora_dba_guy, and that sounds right to me -- thanks D and ODG) suggested that the 20% performance improvement might be due to a number of other factors, including just the fact that the index was rebuilt as part of the move process. Now, that suddnely made absolute sense to me. Don is a proponent of index rebuilds in some situations, so maybe he'd acknowledge that the rebuild process was responsible for what improvement there was.

Nope. Apparantly not. Or maybe he does agree, but I don't recall a reply. I can't check now because I've been banned, right? And to be honest, Don has established a pattern of editing posts critical of him, so I wouldn't trust the results anyway.

So the interested reader might like to pop over to the forum and check things out, and read what others think over at http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:38264759390157 - maybe let me know why I've been banned as well. Don hasn't let me know, although he has my email address of course. He's getting pretty adept at banning dissenters, editing threads, closing them, deleting them. Does he still have that post in there about how no-one is banned, and there are no filters on the forum? Maybe not.

Maybe he thinks that he is now free to post scripts such as ...

select /*+ index(emp_bitmap_idx) */
count(*)
from
emp, dept
where
emp.deptno = dept.deptno;

... http://www.dba-oracle.com/oracle_tips_bitmapped_indexes.htm in which he believes that the index hint takes as it's argument the name of the index alone. Clang! Either the table name or alias, or the table name/alias and the index name. Hands up all those who think this script was tested? That error just jumped right out at me.

Also, why is it a "common problem when implementing bitmap indexes" that the CBO may chose to use a FTS if your table is small? Anyone? That's what it's supposed to do! It is not a problem!

And I appreciate that 100 distinct values is a "rough" guide but again it's plain wrong. If you have a table with 100,000,000 rows in it then you can make use of a bitmap index on a column with 10,000 distinct values or more.

Why do I know these things? Because I do them every working day, hands on with Oracle. And to think that just a month ago Don was asking me if I wanted to be a tech reviewer for his publishing company, and to spot article errors for him. How the mighty are fallen ;)

Oh, and here's what I posted in response to Mike's satirical blog ...

Client: Mr Burleson! Thanks goodness you've come! We had an expert in here looking at our performance problem, but it would take too long to get a result from him, so we've called you in. You need database access?

DKB: Pah, not a bit of it. Didn't you know that you can't "prove" anything with a script?

Client: Uh, OK. So what do you need then?

DKB: Just let me get my crystal ball plugged in a sec ... um ...

Client: Yes?

DKB: OK, got it. Here's my recommendation. Rebuild all your indexes, moving them to 32kb tablespaces. Then rebuild them every two weeks, get yourself some SSD hardware, more memory, more processors. Got it?

Client: That's it?

DKB: Sure. If you have any more problems, call me in and I'll give you another customized solution.

Client: Should we do any measurements of performance before and after the changes?

DKB: Well, as long as you don't use a SQL*Plus script to do so, you ought to be OK. Oh, don't forget to increase the number of LGWR processes.

Client: ???

Now the funny thing about Mike's blog is that he implied that the "Oracle Scientist" was being unreasonable in demanding database access to perform the following ...
  • Looking at data and relationships
  • How data is used.
  • the physical relationships of your entire database
  • how all the indexes are built
  • how all the tables are configured
  • root cause analysis of all waits and events.
Funny list. Like, funny-ha-ha, because most of those are not what is required, right?

Here's some highlights of his own list (which is actually a pretty good one)
  • Wait events
  • IO spread and timing
  • Log events
  • Memory statistics and parameters
  • SQL usage
  • SQL statements which require too many resources
  • Access statistics if in 9i and 10g, otherwise major problem SQL is analyzed.
  • Parameter settings
  • Disk IO
  • CPU usage statistics
  • Memory usage statistics
Wait events top of the list. Look, he's measuring stuff. Suppose the client did have access to the code, would he look for poorly performing SQL with a view to changing it? I bet he would.

You see, Mike's not just writing articles that say "move your indexes to tablespaces with large block sizes" at all! You know what? I think Mike's in denial, because I think that he may secretly be an Oracle scientist! He doesn't realise it because from his list above he doesn't know what an Oracle scientist is. He's just been criticised so often in the past by people associated with that methodology that he doesn't want to be associated with it.

But I don't believe that of Don. I've seen too many basic errors in scripts that he's published, and too much generic advice that he cannot defend on it's technical merits. I've seen him advise people to create tablespaces with names that start with a digit (an elementary and obvious error, that makes an experienced Oracle professional's hair stand on end) and to create tablespaces with non-default block size before creating the appropriate memory structure (anyone who has actually done this themselves knows it has to be done in the reverse order to that originally stated in the article). I pointed out those errors and he corrected them, by the way.

So, when is Oracle going to institute a "Banned By Burleson!" award? The list of inductees is getting longer by the day, it seems, and eventually the only members of Don's forum will be gullible noobies and Burleson Consulting employees -- eventually the noob's will grow out of it though. Eventually we could have a "Banned By Burleson!" banner on our web pages, and a stamp on our business cards to advertise our rationale approach to our profession. If anyone would like to take that thought and run with it then they'll have my full support, for one.

By the way, I'm allowing comments on this. No bans, no filters. Flame away!

21 Comments:

At 6:07 AM, Anonymous Anonymous said...

I thought your DB posts were measured and to the point...
Still I would love to get banned - it would be the pinnacle of my career. Now, which is best: offence, sarcasm, truth?

 
At 6:34 AM, Anonymous Anonymous said...

Excellent entry David. That's what happens when you cause trouble by actually asking for truth. Anonymous, definitely go for truth and sarcasm. The sarcasm will probably be lost on them, but the truth will set you free (literaly)!

 
At 6:59 AM, Blogger David Aldridge said...

Yeah, I thought I was pretty reasonable too :)

When it comes to offence, sarcasm, truth, I suppose the answer is "know your audience". If you know that someone is itching to ban you and on an emotional hair-trigger then you to survive you need reasonable amounts of polite truth, but eventually it's not worth it anymore. "Reasonable" doesn't get you any answers in a competitive field of criticism it seems, so I've given up on trying to improve things over there.

Thanks for the thoughts anon.

 
At 7:00 AM, Blogger David Aldridge said...

Thanks diogenes.

 
At 8:05 AM, Anonymous Anonymous said...

I clicked on the wrong button - for "Anonymous" read me - cheers Pete_S

 
At 9:18 AM, Anonymous Anonymous said...

BTW, that "other forum member" was good ole' ora_dba_guy. I am 100% sure about that (you'll have to just trust me ;-D).

 
At 10:56 AM, Anonymous Anonymous said...

Yep, I'm banned too! I asked him to prove that he wasn't dishonest, but instead he deleted my posting and banned me :-)

Warren

 
At 11:16 AM, Blogger David Aldridge said...

Kevin, yup I think that you're right in that it did go on too long.

Of course I also think that it's important to give people absolutely every opportunity, and then a few more opportunities on top of that, to make their position clear. If they want to, that is. :)

 
At 11:18 AM, Blogger David Aldridge said...

Warren, thanks for sharing -- the role call is a thing to be proud of, and as Kevin says people can read between the lines and recognise which questions are being answered and which points rebutted, and which are not, so your efforts were not in vain. Except for the post being deleted, obviously.

 
At 11:59 AM, Blogger DaPi said...

Hi slim,

Not sure you are banned - well you're not "Unregistered" yet.

You don't qualify for the BBB T-shirt with only an IP ban!

 
At 12:05 PM, Blogger David Aldridge said...

Well, I expect I will be soon. Or not. Maybe I'm all wrong about this.

 
At 12:07 PM, Blogger David Aldridge said...

>> You don't qualify for the BBB T-shirt with only an IP ban! <<

Maybe two t-shirt designs are needed.

"I was Banned By Burleson"

... and ...

"I Circumvented a Ban By Burleson!"

 
At 6:05 AM, Blogger Bill S. said...

David, seems that your account on Circus Maximus has not been deleted. Bad David - no biscuit for you! I also happened to note that you have the distinct honor of being the one and ONLY person to have posted a comment on DBs blog. Congrats! :-D

 
At 8:12 AM, Blogger David Aldridge said...

Bill, all I can say is that I'm getting "Sorry, you are not permitted to use this board". Of course the principle is the same, but the casual user doesn't know anything about it, right?

 
At 9:30 AM, Blogger Bill S. said...

Just an observation that your ban doesn't make you an "unperson". My guess would be that entry on the blog put you in a different class. And hey - you did outlast many others, so there's that. Keep on blogging, Slim! ;-D

 
At 9:51 AM, Blogger Bill S. said...

Hate to post right behind myself, but I just realized that you are ABSOLUTELY RIGHT about the casual user. It is much more effective as many think silence gives consent, and you are truly now "silent" on that forum. Wow - you have now raised the bar to being banned WITHOUT being unregistered. :-(

 
At 10:12 AM, Anonymous Anonymous said...

David, I've been a fascinated spectator to the series of threads on both sites (someone said (HJR?) that it was like watching a train wreck - you just can't stop watching). I think you've been a model of of restraint and a voice of reason through the whole thing, which makes the banning make even less sense. Not much from him does makes sense though. I keep getting this kind of mental vertigo as I read his responses.

It's been an eye-opener for me (and probably a lot of others) to watch the whole dance by Don. He's his own worst enemy.

 
At 10:20 AM, Blogger David Aldridge said...

OK Bill, we need a new T-Shirts slogan.

"I had My IP Address Blocked By Don Burleson And All I Got Was This Lousy T-shirt"

 
At 10:23 AM, Blogger David Aldridge said...

Dale,

I think it was Bill who metioned the train wreck - could be wrong.

Thanks for the thoughts. You do get this kind of "disconnected from reality" feeling after a while, eh?

 
At 10:27 AM, Anonymous Anonymous said...

I thought you posted elsewhere that you could spoof you IP ;-

I found that you still could 'read' the stuff in the cached pages of popular search engines - but as Bill S implied, if you can't respond the voice of a reasonable critic is silent

 
At 12:50 PM, Blogger Bill S. said...

I am ok with that :-). But the t-shirt should be text only IMHO. And I don't think you should have to give it back if you suddenly become "unbanned" (not that I think that would EVER happen, but as TK says, "Never say Never. Never say Always. I Always say.". :-D

 

Post a Comment

<< Home