Feeds

BOFH: SQL for Retards

Turning the Tables

  • alert
  • submit to reddit

Combat fraud and increase customer satisfaction

Episode 4

More wonders from the House of BOFH™

BOFH 2002: Episode 4

So the bloody DBA's complaining about performance problems, which really gets on my tits, given that he's responsible for them in the first place...

"But you're the Systems Manager - you're responsible for performance," The Boss argues, no doubt having received training from DB central.

"I'm responsible for the SYSTEM performance, yes," I comment. "But I'm not responsible for the which of the volumes he puts his tablespace on."

"Uh?" The Boss responds, reverting to subhuman IQ as a defence.

"OK, an analogy. Let's say I was the building owner and I rent you 30 offices."

"Right."

"And you have 30 staff."

"Yes."

"And you put them all in one office because then you won't have to go all around the floor to see what people are up to."

"Yyyess?"

"And then you complain to me about the air-conditioning because that one office is stinking hot, humid and smelly."

"Ah, I get your point!"

"Right!"

"We could save on office rentals by packing people into offices, and I wouldn't have to walk around the building so much. But what about the Database problem? I've been told that it's affecting our Financials system quite badly.."

NGGGGGGGGGGGgggggggggggggggggggggggggggggggg!

"I think you're missing the point. I have allocated GOBS of space on different disks for the DBA to put Tablespaces into, however, he puts them only into one - because it's TIDIER. So it bottlenecks accessing that disk!"

"But why would he do that?"

"Because he's had no formal training in the DBA role? Because he read 'SQL for Retards' and lied on his CV? Because no-one tested his ability before they gave him a small bag of cash and his own office? Because we appointed someone on the cheap?"

"I... Uh.. Well, it happened before I was here, so I don't know how I can help!"

"Fire him? Get a good person in? Pay them properly?"

"But they charge extortionate rates!"

"So do we, and we're worth it. As opposed to the cowboys you normally hire - who probably don't even do backups!"

"I'm sure he does backups!"

"Ones that can be recovered from?"

"I.. Well I.. .. Could you meet with him and talk with him about it?"

!!!!

"I don't think we'll get very far. He's not a very nice bloke - quite... offensive really"

The Boss stops short of saying "that's rich coming from me" - but I know he's thinking it.

. . .

Later that day in DB Central, after five rounds of "I'm better than you because I can use the sqldba command..."

"..so why don't we move a couple of the heavier-used tablespaces to other disks." I coach, suppressing my annoyance and trying to give him a couple of hints. "Run a select across the filespace location tables - you'll see they're all on the same disk."

"I don't think you're really on the money there," the DBA smirks quietly. "SQL's a pretty complex language. It's not just SELECT A FROM B - often it's much more complex than that. You need to KNOW the database."

"RIGHT! Well why don't I just pop downstairs and get my SQL for Dummies, and I'll be right back."

"OK, if you want."

. . . 10 minutes and lots of >clickety< >clicks< later . . .

"I was thinking, we're using a Financials system based around our database aren't we?"

"Yes," the DBA responds.

"So you probably wouldn't do any SQL anyway would you - except for the odd DBA-type statement, if that."

"No, there's a lot of SQL needed in this role - Backups for instance, an.."

"But surely the backup script is static, and there would have been one in play here when you started?"

"Yes, but it needed modifications as it wasn't optimal."

***BINGO!***

"OK, anyway, so I wrote down a couple of SQL statements which I'd like you to do for me."

"Still trying to learn, eh?" he asks, not missing a chance to treat me condescendingly.

"Well, got to keep trying, no matter how pointless," I concur, eating humble pie.

"OK, fire away!"

"Could you go into the financials database and type SELECT N,Q,A FROM DBAQUESTIONS WHERE N=1"

>Clickety<</p>

"And that's one row which is '1', GUESS WHOSE DBA ACCOUNT JUST DROPPED THE GENERAL LEDGER TABLE' and 'YOURS'. Very odd. I don't even remember a table called DBAQUESTIONS?"

"I think it's fairly new," I respond. "Now, moving right along, SELECT N,Q,A FROM DBAQUESTIONS WHERE N=2."

>Clickety<</p>

"Which is '2', 'GUESS WHOSE BACKUP SCRIPT HAS A SYNTAX ERROR IN IT CAUSING IT TO BOMB OUT' and 'YOURS'. Are you sure this is a real table?"

"Quite sure. Now SELECT N,Q, etc WHERE N=3."

>Clickety<</p>

"'3', 'GUESS WHICH DBA HASN'T TAKEN A CONSISTENT BACKUP SINCE TWO DAYS AFTER HE STARTED' and 'YOU'..... This is one of your tables, isn't it?"

"SELECT 'YES' FROM YESTABLE WHERE YESCOLUMN = 'YES'."

"You won't get away with it."

"SELECT * FROM YESIWILLTABLE."

"Why do you keep talking like that," the DBA asks, getting a little disconcerted.

"I'm into the Zone," I respond, "I can't help myself! But now do that first SELECT again, with N=4."

>Clickety<</p>

"'4', 'GUESS WHO'LL BE FIRING YOU ONCE HE'S READ ALL THOSE EMAILS ABOUT HOW CRAP HE IS AS A BOSS' and 'THE BOSS'."

>Clatter<</p>

Our Soon-to-be-Ex-DBA rushes off to try and save his job, which is bloody annoying, truth be known, as he didn't get around to the fifth row - my favourite "'5','GUESS WHO LOOSENED THE HANDRAIL ON THE STAIRS AND OILED THE FLOOR', 'ME'."

>CRASH!<</b>

I type in a quick "SELECT * FROM DBAQUESTIONS" to have one last look, only to find an additional row '6', 'GUESS WHO'S GOING TO RAT YOU OUT UNLESS HE GETS SUFFICIENT LAGERS TO NUMB HIS MEMORY' '?'"

I forsee a DROP TABLE that The PFY won't be expecting. At the pub. ®

BOFH is copyright © 1995-2002, Simon Travaglia. Don't mess with his rights.

3 Big data security analytics techniques

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Kingston DataTraveler MicroDuo: Turn your phone into a 72GB beast
USB-usiness in the front, micro-USB party in the back
Dropbox defends fantastically badly timed Condoleezza Rice appointment
'Nothing is going to change with Dr. Rice's appointment,' file sharer promises
BOFH: Oh DO tell us what you think. *CLICK*
$%%&amp Oh dear, we've been cut *CLICK* Well hello *CLICK* You're breaking up...
AMD's 'Seattle' 64-bit ARM server chips now sampling, set to launch in late 2014
But they won't appear in SeaMicro Fabric Compute Systems anytime soon
Amazon reveals its Google-killing 'R3' server instances
A mega-memory instance that never forgets
Cisco reps flog Whiptail's Invicta arrays against EMC and Pure
Storage reseller report reveals who's selling what
prev story

Whitepapers

SANS - Survey on application security programs
In this whitepaper learn about the state of application security programs and practices of 488 surveyed respondents, and discover how mature and effective these programs are.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Top three mobile application threats
Learn about three of the top mobile application security threats facing businesses today and recommendations on how to mitigate the risk.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.