We have a site license for Oracle, and use it extensively in our financial accounting systems, and our student information systems. For this project Management asked us to at least consider using Oracle for the backend database, as they believe it may provide some useful advantages over other databases. They felt we should document our reasons for not using Oracle for this system. So here are our reasons for not using Oracle. All information here is based on our experience with Oracle, and may be based on flawed understanding, or personal opinions.
Oracle does provide quite a few interesting features for use when generating XML documents. But most of them aren't interesting to us, or are trivially replaced. For example, the XSQL features of Oracle are primarily intended for a Document oriented system, and the system we'll be developing will be much more Data oriented. We don't need the features of XSQL, and even if we did, there is a Perl equivelant, PXSQL, which provides all the same functionality, on top of any database supported by the Perl DBI.
On the other hand, the ability of Oracle to directly output XML documents instead of SQL data is interesting. But there already exist tools for doing that with any Perl DBI database. And flat XML documents (which we believe both systems would output) will still need to be rewritten into structured XML via a style sheet.
Oracle provides useful ways to generate a database schema, instead of writing it by hand. But other tools we have access to (like Visio or Access) can provide the same functionality without leaving us tied to Oracle. And past experience of our developers leads us to believe that we'd be better off without those tools. (i.e. Graphical database design tools hurt my head. I'd rather think in terms of table definitions, not boxes and lines.)
It's like trying to shoot a fly with an elephant gun. We're really talking about a fairly simple, relatively small database. Oracle is for huge databases, with millions of rows of data. We don't need the power, and don't want the bloat.
Using any Oracle specific functionality would prevent other users of Mon from being able to use the system. And thats really the showstopper. After all, whats the point of writing an configuration front-end for an open source system, if we can't release that front-end to other users of the system.
And if we're not going to use any Oracle specific functionality, why should we bother to use Oracle at all.