Oracle is a nightmare (I've been a production DBA and developer for both Oracle and MS SQL).
The native Oracle tools are a joke. The first thing that any new Oracle DBA or developer will ask when they start at a company is where can I get a copy of TOAD (
from? This is because the Oracle tools are such crap that someone else had to write a management tool for the database. The native tools are all java, and we all know how well a large java app running on a Windows desktop works.
There are 3 languages that you need to know in Oracle PL/SQL, SQL Plus, and SQL. They are not interchangable, and you have to know where each language needs to be used, and how to switch to the other language(s).
Oracle is not more stable that MS SQL. It's just not, I to have seen MS SQL boxes stay up for months while Oracle servers needed to have Oracle restarted on a regular basis.
In Oracle if you are running a large query it can be halted because the redo log is full. Not the rollback log, the redo log. WTF???
Many people say that Oracle is the big work horse, and that it can process much more data faster that SQL Server can. When you ask them what kind of hardware is running the Oracle server you'll usually get back a response something like it's a 16 processor server with 36 Gigs of RAM, and hundreds of Gigs or storage spread out accross 50 disks. Of course that server is going to rock. If you took that same server and installed Windows on it, and put SQL 2000 Enterprise or SQL 2005 Enterprise that SQL Server would rock as well. People need to learn to start compaining SQL and Oracle on like hardware, not having Oracle on kick a** hardware and SQL on a little Dual Chip server with 2 Gigs or ram.
Oracle licensing is a nightmare. A couple of years ago Oracle had a raod show with a 4-6 hour semminar to explain the new licensing model. It's that complex. To break it down you pay x per processor. If it's a multi-core processor you pay x*.75 per core of that processor. SQL's licensing while not the easiest thing to figure out is fairly straight forward. If you go with CALs you pay x for the server and y per cal. If you go with CPU licensing you pay z per physical CPU with no extra cost for additional cores or virtual CPUs (hyperthreading).
(I don't know if this next one is still valid.)
You can create a table using a reserved word and Oracle will take it and create the table (SELECT for example). You can query the table, you can insert, update and delete data from the table. However if you try to put that table in as a subquery the Oracle engine will dump. But don't worry there are thousands of reserved words and there is no compete list of them published by Oracle.
Code:
--Works Fine
SELECT *
FROM [SELECT];
--Core Dumps the system
SELECT *
FROM TABLE1
WHERE TABLE1.COL3 IN (SELECT COL2 FROM [SELECT]);
Oracle DBAs are more expensive because of all the hell they have to go through to get the system running and to keep it running.
There are others but I can't think so them right now.
Denny
MCSA (2003) / MCDBA (SQL 2000) / MCTS (SQL 2005) / MCITP Database Administrator (SQL 2005)
--Anything is possible. All it takes is a little research. (Me)