Announcing the I-Hate-Oracle Club ;-)

I "grew up" using SQL Server, as I'm sure many of us have. And let me say, you never really appreciate what you have until you lose it. Forced to use Oracle, I feel like I may as well be writing binary using two copper wires plugged directly into the serial port on the server or starting fires with a flint rock ... with two sticks ... by hoping lightning strikes.

But, I'm not just going to sit here being discontent. I'm going to do something about it. I'm going to complain about it ... on the Internet! And I'm going to do so in the I-Hate-Oracle Club. So, there, take that Oracle!

Here's the first post. Go, join the IHOC as well. And spread the word ;-).

Why the I-Hate-Oracle Club?

Why? Because I hate Oracle. I hate how it works. I hate its name. I hate the logo. I hate Larry Ellison. I even hate The Oracle from The Matrix.

Good to get that out of the way. But I figure, with all of the people out there touched by Oracle, there's gotta be a whole lot who hate it as much as I do. Or, a the very least, have an utter discontent for it. So that's what this is all about: sharing your ramblings about the product/company or, if you're brave, sticking up for the absurdity that has become Oracle. If you want to become an official member, simply reply here.

And believe it or not, I actually have some rational reasons to hate Oracle. So, let me start out by sharing just a few of them them

It’s from the world of UNIX and makes sure you know it
UNIX isn’t just another platform, it’s a whole set of cultural values. Although I respect the other side, I just prefer move, copy, and delete instead of mv, cp, and rm. But not Oracle, goodness no; it came from UNIX, and by golly, it’ll act like it. It insists on a root directory “C:\Oracle” instead of recognizing the decade-old “Program Files.” Its screens don’t look like normal windows. It even refuses to put itself in just as old “Add/Remove Programs” list. And the list goes on. Just to contrast, look at Microsoft’s Office:mac; even the website doesn’t look like Microsoft. Now that’s respect for another culture.

Just use the command prompt, sissy
Oracle is in their tenth revision. Why do they refuse to ship a tool other than a SQL command-prompt? Because real developers don’t need no stinkin’ tool. Unless you’re a “real” developer, you’re forced to use a third party tool. And just take a quick look at the number one tool. Seriously. Don’t let the “I let my kid design my brand” look fool you, it’s like $1,500 or so. The site doesn’t list prices, so I think we know what that means.

I can’t figure the damn thing out
Oracle was kind enough to send a personal edition of their product for me to try out. I installed the whole 2GB bloatware package, guessing on most of the configuration options which provided no defaults. It had a handful of programs it installed, but knowing none actually do anything database-wise, I went directly into the SQL*Plus command prompt. After an hour of figuring out how to connect to myself, I still couldn’t figure out how to get the thing to connect as a SYSADMIN to so I could run some DDL SQL scripts. I don’t think it’s even necessary for me to mention I learned all I need to know about being a DBA (from creating maintenance plans to replication) by just clicking around in Enterprise Manager and reading context-sensitive help.

Optimize it yourself, idiot
I’m going to write a whole separate post going into more detail than this. But, it would seem that real developers don’t need no stinkin’ query optimizer guessing which indexes to use where. I can’t tell you how many times I’ve had to terminate TOAD or SQL*Plus because I accidentally had a non-indexed column in the SELECT list, causing a FULL TABLE scan. Apparently, it’s not up to the database to use an index to filter by row, then select columns from the filtered rows.

Seriously. Thank goodness they don’t have power to name types outside of their database. I could just picture it, a String6 is just like a String4, but concatenates differently (like the now-obsolete String2 did).

The regular “Health Check-Ups” best-practice
I’m going on the word of a few Oracle DBA here, but they claim that it’s a best-practice to have a high faulting consultant (an Oracle Oracle if you will), come in semi-annually and check the health of your database. I’m all about going to the auto mechanic regularly and having the HVAC guy come over once in a while. But that’s because those cars and heaters cannot possibly maintain themselves. Shouldn’t advanced software be able to perform self-maintenance?

It’s an insult to Computer Science and the Relational Model
As our favorite Oracle guru puts it, “One of the remarkable extensions of the Oracle database is the ability to reference Oracle objects directly by using pointers as opposed to relational table joins.” I’m sure I’ll write about this more later, but the insults continue with the instance of using row numbers and the abomination of nested tables. Yes, it takes a lot to create something that doesn’t adhere to First Normal Form. No wonder Mr. Burleson needs consultants like himself to come in later and fix the mess he made.


  • The only problem is that there are some things that Oracle does that Sql Server currently does not do.

    1. Genealogy. Oracle has built in support for it. It has taken several versions to get this correct.

    2. Change tracking. Oracle has impressive support for change tracking that I am not familiar with in Sql Server.

    Aside from the above, I am not a big oracle fan either. Unfortunately, programmers and developers don't make the buying decisions. They may be involved in technology direction, but not in the buying decisions.


  • And what's with broadband Internet access? It doesn't have any of the features I love about AOL. And how come I can't get no Tang round here?

  • Dude, read a book before trying a product that requires other than Next->Next->Finish->Reboot.

    Otherwise you might hurt yourself.

  • Heres another one that I ran into yesterday - Oracle has no value for true and false, its too strongly typed.

    So I cant do this age old trick ...

    WHERE (1=1)+(2=2)+(3=3)+(4=4)>1

    (replace 1=1 etc with sql clauses) without invoking a series of case statements... arrgh... even access can do this!

    PS - for anyone that doesnt know what Im doing here, Im checking for any combination of two of the sql clauses being true.

  • Tom - AOL has a broadband service, three in fact, lol

  • if you can't figure the damn thing out, this is no reason to hate it. take women for instance, you don't hate them , do ya ?

    if you write SQL statements like WHERE (1=1)+(2=2)+(3=3)+(4=4)>1, Oracle is definitely not for ya, stick with SQL server. have you tried

    WHERE (1=1)*(2=2)*(3=3)*(4=4) <> 0 too ?

    btw, you may want to have a look at PL-SQL specs and compare that to the 'so easy to use' SQL server language.

  • Yes, that doesnt work either, unfortunately. Booleans dont have integer values - alien!

    The way around it turned out to be a series of case statements. I ran into this as Im programming a code generator (admin selects things in a web form, shell scripts (ugh!) generate sql that is run against oracle).

    Somebody please swap unix for win 2003!

  • The problem with Oracle is that it simply will not suffer fools. You have to understand what you're doing, which means you have to think about the code you're writing--which means, in turn, you have to continue studying.

  • If you think that SQL server is better thanl Oracle, please consider it if you use Unix/Linux as your OS server. Can SQL Server run on that OS ?

  • Oracle simply sucks... The boolean, the varchar2... I'm rooting for the day when Mickersoft buys Oracle...

    SQL Server rulez!!

    Me cago en la madre de Oracle!!

Comments have been disabled for this content.