Fog Creek Software
Discussion Board

Oracle complaints?

I'm trying to talk a client into SQL and out of Oracle. Ease of installation and use and TCO have him wavering - I'd like to be able to provide more specifics, especially from the field.
Problem is I haven't used 9i enough to find the raw edges.

Anyone using 9i that can provide some nice bloody stories about why Oracle is still a Bad Idea?

[and if you've compared Oracle 9i vs. SQL and picked Oracle, I'd like to hear that, too - fair is fair]


Wednesday, September 17, 2003

My first question is why do you want to have the client switch?

Is it a personal preference? You don't seem to have any real data one way or another.

Having used MS-SQL Server (V7) and Oracle (v8), there really isn't that much difference. I do like PL/SQL over T-SQL, but that's a personal preference...

One of the advantages of Oracle is that, if ever needed, it's a lot easier to put it on a larger server.

Wednesday, September 17, 2003

I think you might mean the Microsoft database management system named SQL Server.  SQL, by itself, is an acronym for Structured Query Language, and is the generally accepted interface to relational database management systems.

That said, why would you try to talk a client in or out of any mainstream DBMS solution, except (perhaps) on grounds of cost?

Both Oracle and SQL Server are competent database management systems. Oracle has fewer implementation restrictions, such as maximum size of concatenated varchar columns. SQL Server is easier to administer at the trivial level. Oracle has an edge in performance, but you won't see it on any application of the type you are likely to develop.

In fact, if you are truly interested in saving the client money, take a look at Sybase's Adaptive Server Anywhere.  It is cheap, and more than fast enough for any large departmental application.

Further, access the database through ODBC, and you won't CARE in which DBMS it is implemented.

Wednesday, September 17, 2003

Jeff - I'm not talking them into a switch, but into choosing one. I'm convinced that SQL Server is the better choice (based on both initial cost and TCO), but the main thing I'm looking for is field reports on 9i to make sure I'm not missing something.
I've installed 9i here, and it seems as untamable as ever, but I fear my own bias - thus the query [sorry] here.

In other words, making absolutely sure I have the whole picture.


Wednesday, September 17, 2003

What will they be using it for? I assume this is a small company that will not be using either Oracle's or SQLServer's true power so I suggest you go with a free database and a good backup strategy. Aside from that, I do like PLSQL over TSQL and unix too.

I also like your questioning to support your predrawn conclusion.

Tom Vu
Wednesday, September 17, 2003

What type of application are you developing? Web based? Client/server? What platform and implementation language? What do the people who are going to have to program and administer the system already know? What's the budget?

You can't describe one or the other as better without answering these sorts of questions, you're asking it pretty much in isolation, and that's meaningless.

Sum Dum Gai
Wednesday, September 17, 2003

Hmm, wonder why those who use Microsoft products get accussed of spreading FUD? Don't attack Oracle, prove SQL Server can measure up. Accentuate the positive - eliminate the negative!

It seems your client has a perception of Oracle being better than SQL Server in some way/s, so you should work out what that is/they are.

For instance Oracle is probably perceived as being more stable, more powerful, etc. I'm not going to weigh in on if Oracle is or is not, but it is probably the case that for the uses your client envisions SQL Server will perform the job just as well - prove this to the client (e.g. it should be easy to find examples of a SQL Server based system handling a large number of transactions) and if he perceives Oracle and SQL Server to be the same (for his purposes) in this regard, other factors you bring up (e.g. TCO, ease of admin) will be more significant.

Practically speaking the major advantage I think that Oracle has over SQL Server is that it can be hosted on a variety of operating systems. Given Blaster and recent other high profile incidents your client may (correctly or not) be concerned about the security of a Windows server running SQL Server. If your client is worried about this it might be a harder obstacle to overcome.

Focus on what your client wants and examine how each alternative measures up but don't go in with your conclusions already made.

Walter Rumsby
Thursday, September 18, 2003



Don't let these hollier than thou posters stop you fighting the good fight.  To me so many of these people sound like they give advice from Oprah Winfrey imagination fairy land. 

With none of the mismanagement, dealines, pressures and realities of, um, reality.

Installing oracle is like buying a very expensive racing car. 

I wonder if one day a consultant somewhere will utter the unspoken truth. 

"It's not that oracle isn't up to it it's just that you aren't.  I mean you are only going to end up shelling out large amounts of money to somone who only just has the skills to keep this highly complex sports car grunting along in first gear. 

I mean for an organisation like yours, only recently coming to grips with water bubler plastic cup management and administration, which is experiencing regular problems with desktop icons disappearing, do you really think it's time to step up to oracle. 

How about we keep it real simple for you ?"

Thursday, September 18, 2003

The folks I talk to who have deployed Oracle in truly mission-critical applications universally rave about the support: When something goes badly wrong, they say, you'll get a team of highly competent and highly motivated guys to come work with you on site until the problem is fixed. Not that I have reason to think Microsoft support is any less impressive, it's just that my data in that regard is null, as it were.

Speaking of nulls, one pet peeve of mine about Oracle is that it seems to think empty strings and NULLs are interchangeable. That one really bugs me -- it's just wrong.

On the MS side, I might be slightly worried about the platform issue. If your customer is already living in a Windows-only world that's unlikely to be a concern, but if it's a more heterogeneous environment I might be less keen on the lock-in.

John C.
Thursday, September 18, 2003

Few thoughts:

Remember Slammer & Blaster? Can you think of any Oracle killing virus?

How many patches there was for MS Windows and SQL Server just to prevent virus attacks?

Get Oracle on Linux, put RAID 5 in server and you can forget about that box. It will just work.

Look for servers from Dell and HP/Compaq that have Oracle and Linux preinstalled - you can get lower prices.

Of course, if you can make a deal for SQL Server support (regular patching, ...) then SQL server is probably more lucrative business, and you can blame MS for additional expenses your customer have.

Thursday, September 18, 2003

My pet peeve for MSSQL is that Len(Null) is equal to Null (by default, unless you flip some arcane setting). 

This makes me always have to do Len(IsNull(sField,'')) = 0 to check nullable string fields.  Arrg.

Thursday, September 18, 2003

I am surprised that cost is not the killer argument.

Are you developing the app>? Quote for developing it in Access/Oracle and in Access/MSSQL. That should do the trick. If you want to be really cruel quote for developing it in Oracle Developer as well, and remember to include the cost of suicide among the users!

Then explain ease of migration for all the other small Access apps his department will write.

And finally explain to him that Oracle is like a fiffty-ton articulated truck; great for the really big loads, but overkill if his company is just buying some 8x4 planks from the local carpenter.

Stephen Jones
Thursday, September 18, 2003

You may want to check the discussion forums at OTN ( , always a great place if you're looking for people complaining about Oracle.

Personally I think Oracle does a great job for really large databases. I'm working with Oracle databases for 12 years now, developing applications, tuning SQL and writing PL/SQL, and I've never ever seen a situation where we had to sacrifice functionality because of limitations in Oracle. That comes a a price though.

What I've always hated was the way you had to install client-side software, SQL*Net/Net8, which had to be done using the "Universal installer", and required lots of settings on the client. No easy way to roll out an application that did not require aditional Oracle software. If you're building a web application that should not be a problem I guess.

Thursday, September 18, 2003

A minor point but SQL Server has a greater range of built-in data types. The SQL Server Enterprise Manager is a lot nicer than the Oracle one but then it can be because it's a native Windows application.

John Topley (
Thursday, September 18, 2003

Both are mature platforms that can take any job. Neither are "easy" when you want to push the limits. Both have great support if you need it, both at a price. Only one of them also focusses on getting rid of all the "knobs" that require everlasting consultants and full time administrators.

As Stephen said, just qoute your prices for DBMS X vs. DBMS Y.

Just me (Sir to you)
Thursday, September 18, 2003


>> My pet peeve for MSSQL is that Len(Null) is equal to Null (by default, unless you flip some arcane setting).  <<

This is because Null in SQL means "unknown". It doesn't mean blank, and it doesn't mean empty. So the length of an unknown value isn't zero, it's unknown - that's why Null is returned.

So be aware that allowing null-value columns in your database schema requires your code to deal with three-value logic (Yes, No, Unknown) which, as you've seen, can be a pain.


Author of "Comprehensive VB .NET Debugging"

Mark Pearce
Thursday, September 18, 2003

If you want a 64 bit database on a 64 bit platform that has been around for more than 6 months and  on a processor (Itanic) that edged out the Opteron for worst selling processor, your only choice is Oracle on Unix.

How big is there dataset.  Remember you will not need an insanely fast EMC storage solution or similar if you can simply run the most used parts of the database in ram which can be doable on 64 bit systems.

Also anyone else in the rdbms has had fewer and smaller holes than SQL Server.  Companies today are becoming security concious - much to the dismay and dislike of Microsoft.  Ballmer's latest "constant innovation and security go hand in hand"  doesn't comfort me in the least.  You know as well as I do that a constantly changing platform is going to be harder than one that is slower changing. 

In general it is clear what your personal preference is.  Be more objective and weigh what your client is trying to accomplish and their security feelings and any other variables into the equation and see what works for them, not you.

Thursday, September 18, 2003

"The folks I talk to who have deployed Oracle in truly mission-critical applications universally rave about the support: When something goes badly wrong, they say, you'll get a team of highly competent and highly motivated guys to come work with you on site until the problem is fixed. Not that I have reason to think Microsoft support is any less impressive, it's just that my data in that regard is null, as it were."


Ever think that maybe the reason you don't hear about herculean support from MS is that SQL Server never needs it? When I was in the Navy, there was a bit of sly wisdom about "superstar" officers - "be careful about people who are known as problem-solvers. You have to first find out why they always have problems to solve."

FWIW, I know of one or two instances of clients trying to force a square peg in a round hole with SQL Server, and got a LOT of support from Microsoft.


Thursday, September 18, 2003


Compare consultant or salary costs for Oracle DBA's versus SQL DBA's.

In our company, our Oracle DBA team had about 30 members and our Sybase (I know not SQL Server, but similar) had about 20. Our Sybase installations far outnumbered our Oracle installations (about 3 to 2). I don't know about the complexity of the DB's in each camp, but this example is consistent with the "Two Oracle DBA's are needed for every One X DBA."

People are part of the TCO.

Thursday, September 18, 2003

At work I run into DB2, IMS (yikes!), SQL Server, and Oracle databases (8.1 and 9.2).  We're slowly standardizing on Oracle and DB2, however we pound the heck out of these databases so reliability, uptime, and scalability are really important to us.

Horror story:  We're upgrading a SQL Server box that can't take the load to a larger box.  Our anticipated downtime is over a week.  Maybe that's trepedation/slowness on our part, but that's not right.

That said, SQL Server is a joy to work with when it comes to scheduling jobs.  Cron is how we schedule for our Oracle boxes and its just a beast sometimes.  And writing the PL/SQL blocks to output data in a given format is a no joy situation sometimes.  By contrast DTS is clean, offers a quick GUI to allow for format changes, parses, and allows schedules to be made and changed very easily.

So if I was running a smaller shop that didn't kill my databases and I had a small IT staff and I had to schedule a lot of jobs, I'd probably go with SQL Server.

Thursday, September 18, 2003

"Our anticipated downtime is over a week."

Wow! Could you give us a rough breakdown of that week's planning? I'm just curious why there would there be significant downtime at all, irrespective of the DBMS used.

Just me (Sir to you)
Thursday, September 18, 2003

I agree with Just me - mind you, *installing* Oracle I'd budget a week (I'd budget a day for SQL Server, and that's being conservative). But that's not "downtime." Data migration for *either* platform should be painless if there's no change in structure - with SQL Server you have DTS, the scripting wizards, backup/restore, or BCP. With Oracle you have the bulk load tools and also backup/restore (though IIRC reestablishing permissions is sketchy).

But STILL - you migrate the data while the old box is running, then one night you flip the switch. If it doesn't work, you flip the switch back...

I'm suspecting you mean one week for the migration, including setup?


Thursday, September 18, 2003

Philo, would that kind of upgrade require two licenses?  For a small shop, would that be an issue?  (Most big companies have site/blanket licenses etc, so not an issue I know)

i like i
Thursday, September 18, 2003

I'd have to check the licenses carefully before giving a legal answer, but there are testing/development licenses for SQL Server that are far cheaper - you could call the new system a test/dev box, then when you shift it, switch labels.

I *do* know you can't use a test/dev license on a hot standby system, but that isn't the case here.


Thursday, September 18, 2003

Most volume licences also allow for a "trial" period of the products they cover.

Just me (Sir to you)
Thursday, September 18, 2003

I can't explain it, that's just what was passed to me.  Its a SQL Server to SQL Server upgrade, just migrating to more powerful hardware.

Thursday, September 18, 2003

Your most persuasive argument (as others have mentioned) is going to be cost. 

1.  License fees.  Last time I had to price them, Oracle licenses were about an order of magnitude higher than SQL Server.  Granted, that was several years ago, so Oracle may have come to their senses.

2.  DBA fees.  There are tons and tons of people around who have the chops to manage SQL Server.  It's just not that hard.  Not so for Oracle.  It's very difficult to be an Oracle DBA without going through some fairly serious training.  Thus, Oracle DBAs command much higher salaries, at least in my experience.

Those two arguments should do it.  They need to understand that SQL Server is a nice tool - a hammer, if you will.  Oracle is a sledge hammer.  It can handle much bigger jobs, but not without much bigger cost.

Thursday, September 18, 2003

A few things..

Regarding exploits.... this ain't just a MS/SQL problem; Oracle and Unix are affected too.

Regarding complexity...Today my client paid an Oracle DBA to come out to run an ALTER TABLESPACE command. The developers here are top-notch and can do anything with SQL Server management, and are great Oracle developers, but when it comes to managing Oracle they don't even touch it. The general reasoning is SQL Server is easy for developers to manage. Oracle isn't. Hire a DBA for Oracle.

Mark Hoffman
Thursday, September 18, 2003

"Hire Oracle DBA"
Maybe the resident SQL experts should be told to RTFM.
Or maybe browse through Oracle for Dummies.

Here is price comparison:$236

Thursday, September 18, 2003

Oracle is not hard to price.  If you want unlimited licenses standard is 15k per proc enterprise is 40k per proc.

If you don't have a bazillion users go named users.  $300 per standard license for each user,  $800 for each enterprise named user

Thursday, September 18, 2003

"Get Oracle on Linux, put RAID 5 in server and you can forget about that box. It will just work."

Off-topic but a important. Never-ever put RAID 5 under database (unless you are very constrained in budget and database has very low concurrence demand). Use RAID 1+0 (striping and mirroring).

Nobody you know
Friday, September 19, 2003

if you are looking at an OLTP system then oracle is the way to go the locking mechanism is superior
there are lots and lots of types of triggers you can use
and if the server were to crash you can recover data successfully in Oracle
you have the comfort of connect by prior to retrieve info in tree format
yeah sql server is cheaper and easier to maintain
you have the comfort of windows auth
but then you need some guy doing the donkey work of downloading all the service packs

Monday, March 22, 2004

*  Recent Topics

*  Fog Creek Home