Monday, July 07, 2008

Training III: An Open Letter to Oracle

Dear Oracle,

Classroom training's cool. The free lunch isn't too bad either (for fans of MSG anyway). A week away from my normal hell is also pretty fucking sweet. So please don't take this the wrong way...

When I (or more precicely, the $MegaCorp division I work in) is shelling out for my DBA training which is supposed to include all that horrible PL/SQL shit and RAC and SQL tuning, and I've worked with databases for the past eight fucking years (yours, DB2 and FoxBasePro SQL Server {$year}), I should get a pass on the intro shit. I should not have to sit through hours of fucking explanations to n00bz about tables, foreign keys and the fucking SELECT statement. I may not be a Mastah DBA but I know how to grab the shit I want out of your tables. I can even do it in your shitty, still-not-Unicode-compliant command line SQL*Plus program which will never, EVAR be as good as Toad. EVAR.

That Enterprise Manager copy of Microsoft's point-and-shoot GUI ain't the best in the world either. Would you guys even consider writing something in a language more efficient than Java? PASCAL perhaps? SNOBOL? Fuck, even a DSKY machine might be faster.

No, your browser-based "iSQL" client just doesn't impress me. It's just another "Do X... on the Web". Meh. Accidentally backspace and all your work and history are gone. Would it be that difficult to have the browser write the history commands to a local text file? Yes, I know it's possible to write my SQL in a local editor and then paste it into the browser but then what's the fucking point of having the browser-based client to begin with?

Also -- and this is pretty important -- please refrain from putting really attractive wimmens in my classroom as they tend to distract. I'm not against wimmens in the field; IT tends to attract the lunatics of both sexes so things are never boring. I just think that segregated classrooms might be something you guys could maybe try out. I'm pretty sure that's a wedding ring on her finger and although 30-45% of German women admit to affairs depending on which survey you read, I'm in a classroom and I'm supposed to be able to focus my attention on what the instructor is saying.

That's all I can think of for now. Thanks for the cookies and air conditioning but that horrible excuse for coffay you've got would embarrass Americans and even Turkish resorts. Powdered premix? Have you no shame??

Love,
REC

Labels: , , , ,

1 non-"17"s have already commented. Click here and be the next.

Thursday, May 29, 2008

Shifty

I have a German keyboard and I like it a lot (though it'd be better if it was a clicky Type-M "buckling spring" board). I have a Type-M but it's US-American and is missing the key between the left shift and the Y (that's a Z to you QWERTY people). Ever since I first sat in front of a German keyboard all those years ago, I have preferred the layout for everything except when I need curly braces and square brackets. Thankfully I code very little. I've also since added many more characters with the Keyboard Layout Creator.

That key down on the left is a "less-than" in its normal state, a "greater-than" when shifted, and a "pipe" when combined with the AltGr (right-alt). It's great for HTML, but occasionally it's possible to enter the angle bracket in the wrong direction. This isn't usually a problem. Not usually.
We had recently a "nice" issue on live environnement : instead of purging old orders, they have purged all orders after 1st january 2008... (ok you can laugh, but was not me...)

Instead of recovering from the database backup the customer decided to reimport them from SAP using the usual $BatchLoader. So all orders were recreated with a different $InternalKey.

Now, there are orders in $YourBigAppand and Orders in $OtherBigApp, they are the same but the $KeyNum referenced in $OtherBigApp is no longer the one of $YourBigApp. This is not yet an issue as there is no control on this field. However, there will be in the future a control on this field.

So the question is : can the $KeyNum that have been deleted be reused in the futur for a different record ? We want to be 100% sure that the deleted $KeyNum will never be reused by the system. (I know putting the right $KeyNum in $OtherBigApp would be eayser...already explained this to the customer)

The ticket's from France. I know that France, like Belgium, uses the completely wacked-out AZERTY layout. I have tried to use these keyboards before and found it quite painful. The key just to the right of the left shift is the same, though, and I knew immediately what had happened:

Some genius decided to drop to a command line, connect directly to the DB, and do a massive global drop without first SELECTing the full dataset just in case someone might notice the DBA-typing-master-supergenius showing some sort of weakness in the form of self-doubt. So instead of issuing a command something along the lines of:
SELECT * WHERE Master.Table.Data = (SELECT * FROM Master.Table.Data WHERE DATE > 20080101)

He let rip with:
DROP * WHERE Master.Table.Data = (SELECT * FROM Master.Table.Data WHERE DATE > 20080101)

And he didn't notice that his finger had also contacted the shift key as he pressed the greater-than, slightly changing the intended query and command. Fuckwit.
Marie,

I have to say that you have a very... unique... definition of "nice". Rest assured I'm not laughing; just as on your AZERTY keyboard, it's quite easy to accidentally type a ">" instead of a "<" on my German QWERTZ keybaord. Our $KeyNums are NEVER reused. In fact, a great deal are never used at all due to certain internal generation methods. For more detailed information, see my document, "Healthy Respect for Healthy $KeyNums Gives You Healthy Data". Inserting the new $KeyNum into the $OtherBigApp record is indeed the best solution and fully supported. You should be able to batch the job but mind the shift key. Regards, REC

And that should've been it. And lo and behold, it was... almost.
Thanks a lot for confirming !!! I just told it 3 times to the customers but they did not beleave in it. I think it is the biggest bullet I saw in my career.

I would never understand how they could realize it only one day later...

Thanks for giving my the reference. I searched for it but was not able to find it. I really dislike this new µù%$£! support web site (µù%$£! stands for some word that a polite woman is not suppose to use!)

kind regards

Marie

A fucking human! I was actually, truly, unmistakably communicating with a human being! A competent and friendly one, at that! That's my 2008 quota used up.

Root Cause: 6-Customer Error. If it'd been the fucking bozo who actually did the drop then yes, there'd be five internal notes appended demanding my Root Cause: 17.

Labels: , ,

1 non-"17"s have already commented. Click here and be the next.

In compliance with $MegaCorp's general policies as well as my desire to
continue living under a roof and not the sky or a bus shelter, I add this:

DISCLAIMER:
The views expressed on this blog are my own and
do not necessarily reflect the views of $MegaCorp, even if every
single one of my cow-orkers who has discovered this blog agrees with me
and would also like to see the implementation of Root Cause: 17-Fuckwit.