There are lots of things I don’t like about Oracle, but some of them are historical. Back in the ’90s I wrestled with upgrading from something like Oracle 6 to 7 on an Ultrix box for a week. It was just an upgrade on a dev machine and it was far more complicated than it should have been. They’re better than that now. Even so I grit my teeth and worry whenever I have to do anything that looks like installing Oracle.
For developers it always seemed such overkill that to install a database you end up with an application server and a bunch of other stuff. I just wanted a database. I have a different application server (and, more to the point, my customers have a different application server). So I have to have two of them running on my dev machine.
Enter Oracle XE. They have done something good here. It is easy to install, free to developers and is just a database with the overhead of a database not a big fat application server. It runs fine on Windows and it runs fine on Linux (Ubuntu anyway, where I’ve tried it). In both cases the install is clean and simple. Go Oracle.
It doesn’t allow you to have multiple databases, but it does allow you to have multiple schemas. I tend to work on multiple projcts at once which really need multiple databases (the projects typically have the same schema names but different data and slightly different definitions). There was a time where this would have been a pain but the support folks in my day job have got their act together and built decent db scripts for each project. So when I switch I can run the script and I’m done. There’s an overhead there, but it is less of an overhead than running full Oracle.
With those issues sorted Oracle is a good development db. Though these days I like to hide everything behind Hibernate to keep portable.