At Oracle Open World, I gave a "worst practices" talk. In this talk, I describe a series of "really bad things" people keeping doing and over and over again.
This week, I've been in Canada doing some customer seminars. I gave the talk in Montreal yesterday (November 9th) and today again in Quebec City. Well received both times - and made all of the more fun by having some supporting "evidence". Evidence that I do not make this stuff up. Here is an email I received on the morning of the 9th (I like it when that happens, something in the news/email/whatever ties directly into what I'm doing that day). This is reproduced with the senders consent (emphasis added by me):
Sorry about the unrequested email, but I couldn't resist...
I read your Worst Practices presentation the other day - Very nice, hit a bit close to home for comfort in many cases!
Then today I got an email from one of the contract "developers" our organization deals with, it describes a rewrite of a system that was rolled out a few years back. It was a bit experimental and was always problematic - architectural mess - stuff flying around in files between ftp sites and windows shares and in and out of databases. I (and my cohort DBA) kept asking "Why doesn't this just stay in a database and you query it from wherever".
... BUT .... It was developed shortly after one of our architect types had heard of XML, so XML had to be used, it wasn't really important what it was to be used for - it was just to be used... and so it was decreed, and it was made so, and it was good... well until the XXX "database" thing started crapping out every few days... but then some sys admin wrote a script to check and restart XXX every few minutes, and it was good again.... fast forward a few years.... decision is taken to rewrite and since our Oracle databases don't seem to crash every seventh minute, move the backend from XXX to Oracle....
Here is the "punch line" from the email describing the database aspects of the proposed system (slightly edited to remove reference to specific client):
"My current design for the Oracle-ized (Oracle 10g) version requires only a single Oracle table, which will have two columns: a pseudo key (simple varchar2) which will likely actually contain the path to a corresponding document in the WebDAV environment, and a document column of XMLType which will contain the xml for an individual "notice" within the [[snip]], plus an index on the pseudo key column."
Excellent - one table, with a key and XMLType column - the perfect system... Is this a a cut and paste off slide 21 of your Worst Practices ppt or what???
If I could make this stuff up I could quit my job and work in stand-up.
Indeed, requires only a single Oracle table, which will have two columns - that is a cut and paste of that slide!
I do not make this stuff up, it is real.