I've been forced to install and use Oracle 10g XE recently. The experience hasn't been pleasant. I'm sure the database technology itself is perfectly good, but the tools and support are dreadful, when compared to Microsoft's SQL Server Express Edition or MySQL. I'm writing this while still cross, so it's not going to be very nice about Oracle or Java.
I need XE for several reasons, one of which is that I have a dump file containing a complete database which I need to work with. Oracle XE comes with a (rather lame) web-based admin module which doesn't even seem to have tools for importing database dump (.dmp) files. To do this you need the command line imp tool. This would have been OK if it had worked (it didn't), but even then I hate having to find the right command-line incantations for things I only occasionally have to do.
Why didn't imp work? I'm not sure yet because right now I'm so pissed-off I can't be bothered to scroll through the screen-fulls of error messages it generated. (By default it doesn't even write these to a log file either - you have to tell it to do that. Duh.) This is just flat wrong. If there are version issues, or permission issues or similar, I should get a simple message, early, to tell me this, and the import process should stop right away, not struggle hopelessly on, scrolling pages of crap at me.
The online documentation isn't very good either. I admit I haven't burrowed through every page but I shouldn't need to do that, just to import a dmp file and manage an additional database.
So, I looked for a management tool (like the tools you get with MySQL, SQL Server and PostgreSQL), and yes, there is one. The Oracle SQL Developer is a Java application which you can download with or without the JRE. Well I've got Java 1.5 and 1.6 on my machine (both JRE and JDK), so I figured I could take the smaller download. You get a zip which you unpack somewhere, and run the top-level exe.
So, I ran the EXE. And what's the first thing I see? This:
So, unlike many other Java applications, this one can't locate any of the (four) Java installations on my machine. Poor, but not disastrous I suppose, so I browsed to the Java 1.6 JDK and clicked OK. I expected the tool to start, but instead I got this:
What?! Perhaps it doesn't like 1.6 - perhaps I'll try 1.5. So I ran the EXE again, expecting to be prompted to browse to java.exe again. But no! Instead, I immediately got the second error dialog again! The act of browsing to some java.exe seems to write a setting somewhere, which is used in subsequent launches, even if it's wrong.
It's hard to believe that one of the largest software companies on the planet can offer this kind of low-rent, sub-shareware experience - especially on an entry-level product surely intended to attract new users of Oracle technology.
I'm just not going to waste any more of my time on this. It's more than enough to make me uninstall Oracle 10g XE and give up trying to use it. I've used MySQL and Microsoft SQL Server Express happily in the past, so I'll see if I can import or convert the dmp file and use one or other of those instead.