Count me in.
I started with an open mind, I honestly did.
I sooo wanted to like Oracle. Although I have a Microsoft/SQL Server background, I'm a big fan of open source and the various UN*Xes.
Everyone seemed to have Oracle on their resume. The whole industry seemed to love it. Lots of articles in CIO-friendly magazines like "InfoWeek" mentioned "exciting" buzzwords like "ROI", "scalability", "extensibility", "leveragability", "ittybittyability" (OK, the last one's a joke.)
Then I started on my first huge Oracle project, and ended up posting this about a month ago:
http://www.gotdotnet.com/Community/MessageBoard/Thread.aspx?id=274262
To the comments in that posting and what other people have said, I'd like to add:
- Yes, the Java-infested installer is horrible. Small consolation that it probably looks consistently horrible on all platforms.
- The admin "tools" (isn't a tool something that's supposed to make your life easier?) refuse to run as a non-privileged user, and don't install by default under "Program Files", as someone else mentioned, in flagrant violation of all standards.
- PL/SQL is based on Ada, which was probably a good idea back when people thought pet rocks were cool too.
- The whole thing seems like 'Consultingware' (see 'Joel on Software'). How often does a company have to call in an army of high-paid consultants (must...avoid...linkinking...to...redneck guy...) to fix their SQL Server installation?
- The data type issues have already been mentioned, and the wonderful mandatory 'REF' cursors.
- I hate the ongoing FUD campaign (yes, beating Microsoft at their own game...) which vaguely implies that Oracle is wonderful and scalable, whereas SQL Server is little more than a desktop database; this is, of course, gobbled up by technologically clueless decision-makers.
- The client-side footprint is ridiculous. If you install the Oracle CDs, you're in for about 700MB; even if you avoid this deal-with-the-devil and sneakily install ODP.NET just to get the client-access libraries, you're still giving up a couple hundred MB of disk space.
- SQL+ would be hilarious if I didn't have to use it. What's up with the line editing commands? Does it think it's still running on a dumb terminal, like an emulated arcade game running under MAME?! I had a friend at college who masochistically wrote his entire final-year programming project using 'sed', the UNIX line-editor. I feel a bit like him when using SQL+.
- Lack of a built-in, returnable 'boolean' type.
- The naming of everything with underscores -- my_value rather than MyValue. I know this is personal preference but it still irks me.
- Declaring package headers and implementation separately -- didn't we decide, post-C++, that that's not a good way of doing things.