Tuesday, September 24, 2013

Oracle is user unfriendly

I'm getting pissed a bit by the Oracle. It's not the DB itself but everything around it. For over 1 week I'm trying to set up an VM with Oracle DB installed. At first I have installed Oracle VM Virtualbox manager. Then I tried to find an image that would be working out-of-the-box. On the Oracle page you can find many different VM templates... with strange names not telling much. There are images working only... if you are using 64-bit OS with hardware virtualization support. User interface on the Oracle page is... rough at best. "Search" function is returning many unrelated posts. Web page is a set of panels with sets of buttons, lists and plenty of controls. You would never know what's for. It is overloaded with controls. Once I tried to report a bug to Oracle. Their technician requested a testcase to be created using their procedures. What's funny is that their procedures are buggy and he requested other methods to be used. So I tried another one... and another... There was another way... simple and supported by them... at least according to the documentation. Unfortunately, it is too challenging to report bugs to Oracle so I had to find a workaround and just accept the bug. The bug is related to WITH statement in which UNION ALL is used. The projections are likely to get materialized and CBO is unable to push predicate into it. To find it out I had to use traces (or so called events to be enabled). Within >100MB text file I've located the portion where CBO should attempt to push predicate but... it wasn't even trying. So my experience with Oracle for today is as it follows:

  • DB engine is quite nice and powerful. But you need to know its weirdness and how to deal with it.
  • DB documentation is quite readable and complete. Unfortunately the new features are lacking documentation.
  • Web pages are slow, not intuitive, overloaded and often asking for login information (which cannot be stored within the browser unless you use some trick).
  • Licensing is terrible. It costs a lot and there are free alternatives which are getting better and better.
  • Performance is controlled by some kind of artificial intelligence called CBO... which is quite buggy. Usually it works well under the condition that DB was designed by an experienced person. Unfortunately, the DB's are usually designed by people without much knowledge and companies are crying at some points due to performance issues.
  • Their support sux.
  • Nice thing about Oracle: The more you work with it, the more you are worth. Experience is very valuable here.

No comments: