Me

No User

You must log in to access your account.

Options

Last Updated: [date]

World in Code

Just another Club Guge weblog

How can Oracle be?

July 4th, 2008 in Uncategorized by admin

Again, I have had the misfortune of having to work with an Oracle database. Again, I am amazed at how incredibly bad the product is. Please, let me rant on about this.

I install the Oracle 10g client. The installation file is 483MB! I choose the administrator version. I get a folder with 51 subfolders! It’s just a client! It doesn’t use the regular installer, oh no. Oracle needs its own installer.

How does Oracle do name resolution? It has it’s own, of course. Now begins the fun. The DBA sends me sqlnet.ora and tnsnames.ora. And I try to connect. No luck. TNSPING is ok, but any other tool, like SQLPLUS fails. Then they want me to try other sqlnet.ora and tnsnames.ora files. Still nothing. Then some more. Now I can connect to the 32bit Oracle server, but not to the 64bit Oracle server. So they tell me it’s because I run Vista, or it’s the firewall, or it’s because it’s a full moon. Then they want me to uninstall the client. This is done via the Oracle Universal Installer. I start it. I get a console saying it’s preparing the launch of the installer. Then nothing, except my system is running real slow, the mouse is practically creaking as it tries to move accross the screen. Oh, yes, I must be running Oracle software. Then it crashes, of course. No universal installer for me. Should I just delete c:\oracle? No, because my registry is filled with Oracle stuff. The DBA tells me to choose XP over Vista if I’m going to reinstall the OS.

How can it be that I can connect to 32bit but not 64bit servers? What kind of would idiot develop different protocols for 32bit and 64bit servers. Surely, the client doesn’t have to even know if it’s one or the other. What good is TNSPING if it says OK when SQLPLUS says protocol failure? Who in his right mind develops a name resolution system that uses files on the client when DNS is ubiquitous? Why does a client need 51 folders?

These are all interesting questions to go into? They all have a root explanation which is that Oracle sucks. When I say that Oracle sucks, I’m not really saying that it actively ingests the atmosphere. It’s just that everything else has higher pressure.

Another, and more interesting, question is how can Oracle as a company keep on earning money if its products are so bad? Shouldn’t the market rid itself of something so bad?

I guess noone ever got fired for choosing Oracle. It still has a good name in the market. It runs some of the biggest databases in the world. It has clustering technology, scalability, multi platformability and so on. It also has some of the most expensive consultants.

It is often said that Oracle performs better than the competing systems. If you install an Oracle server you get a standard configuration that for most situations is sub-optimal. Oracle servers have to be configured by hand. Someone has to figure out what the shared pool, buffer size, block size, java pool, streams pool and lots of other settings should be. Yes, Oracle can probably give good performance, but only if you can afford someone to configure it for you. On the other hand, there are systems that give good performance right out of the box.

Oracle is more scalable. That is: you can run it on large and expensive servers. Would you want to? Most of us wouldn’t. So does it matter? On the other hand: it doesn’t scale down very well. You wouldn’t want it on a client computer or a handheld device. It runs on many platforms. Well, I’ll bet lunch that MySQL runs on more platforms. Postgres too.

Being a developer isn’t always fun. We have our favourite tools. My favourite database tools are the ones that come with Microsofts SQL Server. Why is it so hard to get acceptance for running a big database on SQL Server? Maybe most of the decision makers are old, over the hill, still thinks SQL Server is version 6.5. Which wasn’t very good. I think SQL Server has been the superior product since version 7.0. The development tools are better, the administration software is smoother, the integration with the OS is better. I’d rather run MySQL than Oracle. But I’ll take SQL Server over them both.

My generation will not stand for the Oracle way of doing things, and we are getting into positions. Enjoy your yachts while you can, Larry!


How abstract should my database be?

June 26th, 2008 in Uncategorized by admin

Yesterday, I saw the design of a new database. It was a result of some surprising design choices.

The database contains information about people and companies, some properties about each, and the relations between them. One of the main challenges when designing such a database is that companies and people have common properties. This is because both are persons. Companies are artificial persons and people are natural persons. Both share some legal properties. And then there are differences.

In object oriented languages you can make a class with the shared properties, and then subclass that class into a company class and a person class. The trouble is that SQL doesn’t have inheritance. This leaves you with three distinct choices: Read the rest of this entry »


What would Nansen do?

June 18th, 2008 in Uncategorized by admin

I am currently reading one of Fridthjof Nansen’s books. The book starts with a speech he gave as an honorary rector at a Scottish university. He describes how he conquered the inland ice of Greenland by not having a line of retreat, but instead by burning his bridges and to only have the goal at mind.

Read the rest of this entry »