25 Things that I don't like in Oracle Tools

time to read 8 min | 1441 words

I'm not going to talk about the database itself just yet, the tools has quite enough things about them to rant about.

First, SQL*Plus seem to be one of the main tools to work with Oracle, and it's a piece of crap in so many levels. It's a console application that someone put a Windows wrapper around. The end result is a product that combines the worst of all worlds.

Let's start with the fact that SQL*Plus has no text box, it's UI is a console, meaning that:

  1. you can't go backward without deleting text.
  2. you can't go backward beyond the current line.
  3. you can't select text with the keyboard.
  4. you can't copy / paste text with the mouse.
  5. you don't have an undo / redo functionality.
  6. you don't have recent commands history!
  7. commands & output are mixed together, making it really easy to lose a sense of what happened. Especially when you're issuing a command whose output is bigger than the current screen buffer (read, just about any command).
  8. it freezes when it tries to display large amount of data (select * from BigTable)
  9. I managed to crash it by telling it to: desc all_relations
  10. It has the default 80 character screen, which means that the output of a command is 90% of the time bad, since the columns will be written to the next line (if you don't know what I'm talking about, think about text wrapping where you have to have the text in the same position, in order to make sense of what is going on).

Just to clarify, I'm talking about the Windows UI for SQL*Plus, not the console app, I've no problems with the consoel version of SQL*Plus, is has the same advantages / disadvantages of all console apps all over the place. I have serious problems with meticulously reproducing the same disadvantages in a Windows app.

Now, let's talk about the DBA Studio that Oracle also offers:

  1. There is no way that I could find to execute ad-hoc SQL query.
  2. Java UI which sort of put to shame all other Java UIs.
  3. Random focus changes, if I select to look at the admin's views, I need to make sure that I click on the views before I try to navigate on the keyboard even if I previously moved the focus to the views, because it may decide to change the focus to the tree view.
  4. No way to filter the items in the tree view.
  5. No way to refresh the tree view, and no, they don't auto refresh.
  6. It doesn't respond to the mouse wheel, this is so ingrained now that I keep trying and I keep failing. It simply drives me nuts every times from the start.
  7. Go to a view, double click it, and a window with the view's text appears, there is no way to maximize the window, you have to manually resize (or scroll) if you want to see the full text.
  8. There isn't a way to see a table's data, the result of a view or the affects of a stored procedure.
  9. No keyboard navigation that obeys the UI rules that I am familiar with (that is, the rules that any Windows application obeys to). In fact, I managed to find no useful keyboard navigation at all. In essence, you're forced to use the mouse for just about anything, except when you can't use the mouse, where you really can't use the mouse.
  10. Non standard Menu, non standard UI, non standard icons. This application is not something that I can just look at and know that it's using the same stuff that I already know. It's important enough to force me to adjust to the way It want to do things.

Oh, there is also a tool call Enterprise Console / Manager that I can't recall right now because I can't find it on the box that I use routinely. It has a whole sloth of issues as well:

  1. The toolbar on the side is actually iconize menu, and you have to sort of guess what each icon does (or you can hover for ten seconds and maybe find out). If you click on an icon you've to wait for a couple of seconds, and then you might get a dialog, a row of more icon will pop up, a message will appear tellling you that you just deleted the whole database. Who knows, I certainly can't tell by the pictures. Nothing like a little.. excitement to add to the joys of development, isn't it?
  2. The most common operation, running an ad-hoc SQL statement is buried is a sidebar toolbar and takes two mouse clicks and a 5 seconds wait before I can get a quarter screen dialog where I can type my query. If I recall correctly, this dialog does have a maximized button, no doubt added in a moment of temporary insanity by the developers of the tool. However, they soon returned to their normal condition and made sure that only ~40% of the normal keyboard shortcut will work on the text box.
  3. It uses different names than the one used by the DBA Studio. No doubt this is done in effort to maintain the status of DBAs all around the world, making sure that they and developers (at whom I assume this tool is directed at) will use different terminology.

I haven't used the tool much, as I said, so I don't have enough information to talk about much, but here are a couple of bonus stuff for SQL*Plus:

  1. SQL*Plus doesn't have syntax highlighting. It's 2006, for crying out loud, why doesn't it have something as simple as that? I wrote my own in a couple of hours of spare time, you can't tell me that it's too hard.
  2. SQL*Plus has a very special way of parsing the input, if your statement starts with "create", it allows empty lines, if it doesn't, it treat empty lines as a sign to abort the current statement. Oh, and if your query does start with create, you need to terminate it with '/'.