Oracle developers on OSX unite!

All my ranting aside, Oracle RDBMS is pretty good. It’s got good performance, and lots of features you really need in a database. I shan’t proclaim it my favorite database, but it’s definitely something I have no problem working with. Except for that one small detail…

Yeah, you guessed it. Oracle support on Mac OS X is kinda… nonexistent. The best solution I’ve come up with is to run Parallels with a Windows or Linux instance and run Oracle XE inside of that. But that only works if I want to use the JDBC thing driver. OCI development? You’re screwed. And the Parallels route isn’t exactly painless either. Especially from a performance point of view.

So what do we need? OCI8 precompiled binaries would be a good start. But in the end, the only workable solution for all developers on OSX in the world who wants to be able to use Oracle is a compatible Oracle XE for Intel OS X. It shouldn’t really be to hard, right? It’s just a BSD beneath the covers…

Anyway, it’s kinda interesting. If you’re a consultant or a developer, OS X is definitely the superior platform. That’s a fact (well, except for Java 6…). The lack of Oracle support forces people to develop their application against Postgres and then let continuous integration – you are using CI, right? – tell you if you made any Oracle-unfriendly mistakes. That doesn’t really sound to professional.

So, go on and vote for this in Oracle Mix. The links are here:,

Lovely intermittent Oracle XE problem

I’m working on AR-JDBC support for Oracle. The easiest way to do this for me is to run Oracle XE inside Windows XP in Parallels. That works fine. Except for this dreaded message that started showing up and killing all my efforts: “ORA-12519, TNS:no appropriate service handler found”. I love Oracle error messages. They are so incredibly helpful!

At least in this case I found a solution to the problem on da Internet. I’m writing this blog post to make the information more obvious to Google.

It seems there is a bug in Oracle XE in the monitoring of processes that manifests this way. Nice. But you can fix it! Just open up your SQL console, write “connect system”, submit your password and then write “ALTER SYSTEM SET PROCESSES=150 SCOPE=SPFILE;”. After that, remember to restart the listener. And everything should be joy again.