Every database vendor desires that their database be ANSI compliant,
an absolute requirement for today's business applications.
However, being ANSI compliant is only a small part of the picture.
When DB2 ruled the mainframe world, IBM sought to make OS390 DB2 more
readily available for platforms outside MVS/ESA. In 1996, IBM
announced a totally new product, DB2 UDB (their Universal database), a
DB2-like DBMS which ran on a multitude of UNIX and Linux platforms.
Later in the 1990's, Oracle followed suit, calling their Oracle 8
database engine the Oracle Universal Server (OUS).
Both UDB and Oracle believe that their offerings are superior, and
both offer migration packages. Oracle offers the Oracle Migration
Workbench.
While both DB2 UDB and Oracle are 100% ANSI compliant, there are
still important "extensions" to their respective databases, subtle
change that make their products special and different. These areas
of competition include:
- Database Security - While IBM mainframe DB2 has
a decades-long head start on the mainframe, UDB and Oracle are in a
head to head competition for implementing a vast array of security
features.
- Development platforms - Oracle offers the
integrated APEX development platform and SQL*Forms.
- Procedural language features - Oracle has the
Procedural language SQL (PL/SQL) vs. DB2 UDB with their SQL
Procedural language (SQL/PL).
- High availability - Both UDB and Oracle offer a
host of HA features for continuous availability. Oracle offers
RAC clusters for shared database, plus replication solution vs.
Oracle Streams, Oracle Data Guard and Oracle advanced multi-master
replication.
- Performance - Database performance is critical,
but it's very difficult to gat an apples-to-apples comparison of
UNIX vendor database products. Areas include parallelism.
- SQL Optimizer - Both IBM and Oracle have
invested zillions of dollars in a SQL optimizer strategy that always
chooses the "best" execution plan for SQL.
- SQL language extensions - While both UDB and
Oracle have ANSI standard SQL, vendors have a strong incentive to
add "extensions", such as Oracle with their unique DECODE operator.
- Self-management features - Both UDB and Oracle
are struggling to incorporate automated features to make database
administration easier and more automated. For Oracle we see
automated storage management (ASM), automated memory management
(AMM), and automated database diagnostic management (ADDM).
- Backup & Recovery - a critical area of database
management, both UDB and Oracle offer backup and recovery features.
Within Oracle's Recovery Manager (RMAN), we see block-level backups
and hot backups.
- Database Administration tools - Both UDB DB2
and Oracle offer different DBA management tools. Areas include
partitoning.
Now let's look at specific differences between UDB and Oracle syntax.
UDB vs. Oracle SQL syntax differences
- Oracle provides the built-in pseudo column level when using
CONNECT BY PRIOR
- DB2 offers the DB2 Node type SQL, which is a DB2 extension
currently available on developerWorks DB2.
References on UDB vs. Oracle